Immersed Boundary Method (IBM) for finite area (FA). Multiple IBM surfaces can be defined, each represented by a triangulated surface mesh. Boundary motion is supported via a solidBodyMotionFunction. More...
#include <regionFaIBM.H>

Public Types | |
| enum class | solveType { invDistance , direct } |
| Solve type for stencil weights. More... | |
Public Member Functions | |
| TypeName ("IBM") | |
| Runtime type information. | |
| regionFaIBM (const Time &runTime, const faMesh &aMesh, const dictionary &dict) | |
| Construct from Time and dictionary. | |
| virtual | ~regionFaIBM ()=default |
| Destructor. | |
| void | updateMesh () |
| Update mesh. | |
| bool | correct (const areaVectorField &Us, areaVectorField &Ustar) |
| Correct the regionFaIBM model. | |
| template<class Type> | |
| void | zeroFilter (Type &fld) const |
| Apply the zero filter to an area field. | |
| void | addToMask (areaScalarField &mask) const |
| Add to mask; Sets a value of 1 for participating faces. | |
Static Public Member Functions | |
| static void | dumpStencil (const fileName &fname, const mapDistribute &mapDist, const labelListList &stencil, const pointField ¢res) |
| Dump the stencil to file. | |
Protected Types | |
| typedef treeDataPrimitivePatch< uindirectPrimitivePatch > | treeType |
Protected Member Functions | |
| bool | moveBody () |
| Move the immersed boundary. | |
| void | setFaceTypes () |
| Set the face types indicator field and derived info. | |
| vector | setVelocityFromSurface (const pointIndexHit &hit) const |
| Retrieve the velocity at a point on the moving surface. | |
| void | setStencilAddressing (const pointField &forcingFaceCentres, const scalarField &forcingFaceAreas, pointField &mirrorPoints) |
| Set the regionFaIBM stencil addressing. | |
| void | setStencilWeights (const pointField &mirrorPoints) |
| Set the regionFaIBM stencil weights. | |
Protected Attributes | |
| const faMesh & | aMesh_ |
| Reference to the finite area mesh. | |
| triSurfaceMesh | surface_ |
| regionFaIBM surface described by a triSurfaceMesh | |
| const pointField | points0_ |
| Reference points for surface motion. | |
| autoPtr< mapDistribute > | mapPtr_ |
| Parallel map to apply the regionFaIBM stencil. | |
| autoPtr< solidBodyMotionFunction > | SBMFPtr_ |
| Surface motion as a function of time. | |
| autoPtr< indexedOctree< treeType > > | treePtr_ |
| Octree for face search. | |
| scalar | deltaT_ |
| Integration time step. | |
| scalar | updateTimeOld_ |
| Time at last update. | |
| septernion | transformOld_ |
| Last transformation. | |
| septernion | invTransformDelta_ |
| Transformation to go to state at last step. | |
| labelField | faceTypes_ |
| Face types indicator field. | |
| labelField | forcingFaceIDs_ |
| Forcing faces. | |
| labelField | insideFaceIDs_ |
| Inside faces. | |
| solveType | solveType_ |
| Solve type. | |
| scalar | rFactor_ |
| Stencil radius factor. | |
| labelListList | stencil_ |
| Interpolation stencil. | |
| scalarListList | weights_ |
| Interpolation weights. | |
| scalarList | h_ |
| Distance weights used when calculating uStar. | |
Static Protected Attributes | |
| static const Enum< solveType > | solveTypeNames |
| Selection names for solveType. | |
Immersed Boundary Method (IBM) for finite area (FA). Multiple IBM surfaces can be defined, each represented by a triangulated surface mesh. Boundary motion is supported via a solidBodyMotionFunction.
regionFaIBM1
{
type regionFaIBM;
surface <surfaceFileName>;
solidBodyMotionFunction <motionType>
// Additional motion type information...
// Optional
// Solve type for stencil weights; default = direct
solveType direct; // or invDistance
// Stencil radius factor; default = 1.5
rFactor 2.0;
}
regionFaIBM2
{
...
}
Definition at line 91 of file regionFaIBM.H.
|
protected |
Definition at line 125 of file regionFaIBM.H.
|
strong |
Solve type for stencil weights.
| Enumerator | |
|---|---|
| invDistance | |
| direct | |
Definition at line 100 of file regionFaIBM.H.
| regionFaIBM | ( | const Time & | runTime, |
| const faMesh & | aMesh, | ||
| const dictionary & | dict ) |
|
virtualdefault |
Destructor.
|
static |
Dump the stencil to file.
|
protected |
Move the immersed boundary.
|
protected |
Set the face types indicator field and derived info.
|
protected |
Retrieve the velocity at a point on the moving surface.
|
protected |
Set the regionFaIBM stencil addressing.
|
protected |
Set the regionFaIBM stencil weights.
| TypeName | ( | "IBM" | ) |
Runtime type information.
| void updateMesh | ( | ) |
Update mesh.
| bool correct | ( | const areaVectorField & | Us, |
| areaVectorField & | Ustar ) |
Correct the regionFaIBM model.
References Us.
| void zeroFilter | ( | Type & | fld | ) | const |
| void addToMask | ( | areaScalarField & | mask | ) | const |
Add to mask; Sets a value of 1 for participating faces.
Selection names for solveType.
Definition at line 130 of file regionFaIBM.H.
|
protected |
Reference to the finite area mesh.
Definition at line 136 of file regionFaIBM.H.
|
protected |
regionFaIBM surface described by a triSurfaceMesh
Note: this should be a closed surface since we perform point inside/outside tests
Definition at line 144 of file regionFaIBM.H.
|
protected |
Reference points for surface motion.
Definition at line 149 of file regionFaIBM.H.
|
protected |
Parallel map to apply the regionFaIBM stencil.
Definition at line 154 of file regionFaIBM.H.
|
protected |
Surface motion as a function of time.
Definition at line 159 of file regionFaIBM.H.
|
protected |
Octree for face search.
Definition at line 164 of file regionFaIBM.H.
|
protected |
Integration time step.
Definition at line 169 of file regionFaIBM.H.
|
protected |
Time at last update.
Definition at line 174 of file regionFaIBM.H.
|
protected |
Last transformation.
Definition at line 179 of file regionFaIBM.H.
|
protected |
Transformation to go to state at last step.
Definition at line 184 of file regionFaIBM.H.
|
protected |
Face types indicator field.
Definition at line 189 of file regionFaIBM.H.
|
protected |
Forcing faces.
Definition at line 194 of file regionFaIBM.H.
|
protected |
Inside faces.
Definition at line 199 of file regionFaIBM.H.
|
protected |
Solve type.
Definition at line 204 of file regionFaIBM.H.
|
protected |
Stencil radius factor.
Definition at line 209 of file regionFaIBM.H.
|
protected |
Interpolation stencil.
Definition at line 214 of file regionFaIBM.H.
|
protected |
Interpolation weights.
Definition at line 219 of file regionFaIBM.H.
|
protected |
Distance weights used when calculating uStar.
Definition at line 224 of file regionFaIBM.H.