Users:FSI/StructureSolver

From Carat++ Public Wiki
(Difference between revisions)
Jump to: navigation, search
(Created page with 'Category: Users:FSI = Structure Field Solver Carat++ = Carat++ is used to simulate the structure field within an FSI-analysis. Two specific aspects have to be mentioned, co…')
 
Line 3: Line 3:
 
= Structure Field Solver Carat++ =
 
= Structure Field Solver Carat++ =
  
Carat++ is used to simulate the structure field within an FSI-analysis. Two specific aspects have to be mentioned, compilation and problem setup. All other aspects are handled in the other parts of this wiki.
+
Carat++ is used to simulate the structure field within an FSI-analysis. Two specific aspects have to be mentioned: compilation and problem setup. All other aspects are handled in the other parts of this wiki.
  
  
Line 16: Line 16:
 
</pre>
 
</pre>
  
To use the now included MPI-commands, the compiler needs to know, where to find the MPI-installation. If OpenFOAM is already installed (highly recommended!), the OpenFOAM MPI distribution should be used. This is done by adding:
+
To use the now included MPI commands, the compiler needs to know, where to find the MPI installation. If OpenFOAM is already installed (highly recommended!), the MPI distribution shipped with OpenFOAM should be used. This is done by adding:
  
 
<pre>
 
<pre>
Line 23: Line 23:
 
to the Include-command.
 
to the Include-command.
  
The installation of the Trilinos solver library is not necessary for running FSI-jobs, if the built-in solver is used.
+
The installation of the Trilinos solver library is not necessary for running FSI-jobs, if the built-in Carat++ solver is used.
  
 
== Problem Setup ==
 
== Problem Setup ==
 +
The problem setup is based on a typical Carat++-Inputfile used for a single-field analysis.
  
 +
To be specific for a coupled analysis, two steps have to made:
 +
* The coupled interface hast to be defined. This is the geometric representation of the coupled surface between fluid and structure field.
 +
* A FSI-analysis is chosen, which links to an basi analysis type, e.g. a static or dynamic analysis.
 +
 +
 +
=== Interface Definition ===
 +
 +
The interface is the geometric definition of the physical surface between fluid and structure field. It is based on the already exisiting Finite element model. Note the following:
 +
 +
* Not all elements of the model have to be part of the interface. E.g. Shell and Membrane elements should be part of the model, because the surface type gives large influence from surrounding flow, but truss elements are not part, because wind influence on a truss may be neglected.
 +
* Not all element types are suitable for usage within the interface. Currently only shell and membrane elements are supported.
 +
* An export type has to be defined. Shell and membrane elements are defined by their mid-surface. It depends on the flow and the element thickness, if the mid-surface is a proper definition of the interface. If a very thin membrane element has flow influence only from one side, the mid-surface maybe a proper definition of the interface geometry. If a very thick shell is placed in a surrounding fluid (flow on top and bottom), neglecting the thickness may lead to large errors in the correct physical representation of the problem. Currently, three export types are available: (1) Use the mid-surface of the elements as the interface. (2) Do a blow-up of the mid-surface based on the thickness and a director on the surface to define a 3d representation of the model with a top and bottom surface. (3) Using approach (2) leads to wholes on the side parts of the interface. Close the whole by additional surface elements.
 +
 +
The interface contains different partitions, at least one. Every partition has a unique element type and a unique type of element treatment. A typical interface defintion in Carat++ looks like:
 +
 +
<pre>
 +
EL-IF 1
 +
NIP 1 1 0 (1-15)  MSHTAG=1 BORDER=;
 +
NIP 2 3 0 (20-30)  MSHTAG=1,1,2 BORDER=31,62;
 +
</pre>
 +
 +
This interface consists of two partitions. The first partition (NIP 1) has interface export type 1 (export mid-surface only), format type 0 (dummy), sonsists of elements 1-15, the tag of the surface mesh is 1 (used to match carat and Foam interface meshes) and no border definition is necessary.
 +
The second partition (NIP 2) has interface export type 3 (export top- and bottom surface and side mesh), format type 0 (dummy), consists of elements 20-30, the tag of the three surface meshes is 1 for the top mesh, 1 for the bottom mesh and 2 for the side mesh (used to match carat and Foam interface meshes). The side mesh is defined by defining nodes, which are part of the border.
 +
 +
=== Analysis Definition ===
 +
 +
 +
 +
<pre>
 +
PC-ANALYSIS 1: FSI
 +
  ANALYSIS = PC-ANALYSIS 2
 +
  METHOD  = BLACKBOX  !BLACKBOX, SUBSPACE_LP, SUBSPACE_FD
 +
  OUTPUT  = PC-OUT 1
 +
  INTERFACE = EL-IF 1
 +
</pre>
  
  

Revision as of 10:46, 23 February 2011


Contents

Structure Field Solver Carat++

Carat++ is used to simulate the structure field within an FSI-analysis. Two specific aspects have to be mentioned: compilation and problem setup. All other aspects are handled in the other parts of this wiki.


Compilation

Carat++ has to installed under Linux operating system, because FSI-jobs only run under Linux. The difference with a standard installation is, that additional code parts are compiled used for communication between Carat++ and CoMA. This communication is based on MPI.

The changes are made within the file "makefile.in". To activate the additional code parts, the flag -DFSI has to added to the compiler directives:

CDIR = ... -DFSI

To use the now included MPI commands, the compiler needs to know, where to find the MPI installation. If OpenFOAM is already installed (highly recommended!), the MPI distribution shipped with OpenFOAM should be used. This is done by adding:

LIBS = ... -IpathToMPI/include

to the Include-command.

The installation of the Trilinos solver library is not necessary for running FSI-jobs, if the built-in Carat++ solver is used.

Problem Setup

The problem setup is based on a typical Carat++-Inputfile used for a single-field analysis.

To be specific for a coupled analysis, two steps have to made:

  • The coupled interface hast to be defined. This is the geometric representation of the coupled surface between fluid and structure field.
  • A FSI-analysis is chosen, which links to an basi analysis type, e.g. a static or dynamic analysis.


Interface Definition

The interface is the geometric definition of the physical surface between fluid and structure field. It is based on the already exisiting Finite element model. Note the following:

  • Not all elements of the model have to be part of the interface. E.g. Shell and Membrane elements should be part of the model, because the surface type gives large influence from surrounding flow, but truss elements are not part, because wind influence on a truss may be neglected.
  • Not all element types are suitable for usage within the interface. Currently only shell and membrane elements are supported.
  • An export type has to be defined. Shell and membrane elements are defined by their mid-surface. It depends on the flow and the element thickness, if the mid-surface is a proper definition of the interface. If a very thin membrane element has flow influence only from one side, the mid-surface maybe a proper definition of the interface geometry. If a very thick shell is placed in a surrounding fluid (flow on top and bottom), neglecting the thickness may lead to large errors in the correct physical representation of the problem. Currently, three export types are available: (1) Use the mid-surface of the elements as the interface. (2) Do a blow-up of the mid-surface based on the thickness and a director on the surface to define a 3d representation of the model with a top and bottom surface. (3) Using approach (2) leads to wholes on the side parts of the interface. Close the whole by additional surface elements.

The interface contains different partitions, at least one. Every partition has a unique element type and a unique type of element treatment. A typical interface defintion in Carat++ looks like:

EL-IF 1
 NIP 1 1 0 (1-15)  MSHTAG=1 BORDER=;
 NIP 2 3 0 (20-30)  MSHTAG=1,1,2 BORDER=31,62;

This interface consists of two partitions. The first partition (NIP 1) has interface export type 1 (export mid-surface only), format type 0 (dummy), sonsists of elements 1-15, the tag of the surface mesh is 1 (used to match carat and Foam interface meshes) and no border definition is necessary. The second partition (NIP 2) has interface export type 3 (export top- and bottom surface and side mesh), format type 0 (dummy), consists of elements 20-30, the tag of the three surface meshes is 1 for the top mesh, 1 for the bottom mesh and 2 for the side mesh (used to match carat and Foam interface meshes). The side mesh is defined by defining nodes, which are part of the border.

Analysis Definition

PC-ANALYSIS 1: FSI
  ANALYSIS = PC-ANALYSIS 2
  METHOD   = BLACKBOX   !BLACKBOX, SUBSPACE_LP, SUBSPACE_FD
  OUTPUT   = PC-OUT 1
  INTERFACE = EL-IF 1


A partitioned approach is used for simulating FSI problems. This means, that for each specific task of the coupled computation a specific program is used. The software envrionment in our case consists of three programms:

  • the FE-code Carat++ for the solution of the structural subproblem,
  • the FV-code OpenFOAM for the solution of the fluid subproblem,
  • the coupling code CoMA, responsible for everything else: Simulation control, data transfer, communication, coupling algorithms, ...

A grafical representation fo this setup is given in the following figure:


To do a FSI-analysis all three programs have to be installed. Only a Linux-system can be used, because OpenFOAM is only available for Linux and cluster systems for HPC typically only run under Linux OS. The specific information on installation and problem setup of the three programs is given on the bottom of this page. After setup of the problem, the coupled computation is started by running all three programms at the same time, using MPI (Message Passing Interface):

mpiexec -n 1 pathToCarat/carat20.exe caratInputfile : -n 1 pathToCoMA CoMA.exe comaInputfiled : -n 2 OpenFOAM.exe -case pathToFoamCase -parallel

This command will start one carat process, one CoMA process and two OpenFOAM processes, so OpenFOAM runs in parallel.

Single Programs in Detail





Whos here now:   Members 0   Guests 0   Bots & Crawlers 1
 
Personal tools
Content for Developers