Loading...
Searching...
No Matches
regionFaIBM Class Reference

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>

Collaboration diagram for regionFaIBM:

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 &centres)
 Dump the stencil to file.

Protected Types

typedef treeDataPrimitivePatch< uindirectPrimitivePatchtreeType

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 faMeshaMesh_
 Reference to the finite area mesh.
triSurfaceMesh surface_
 regionFaIBM surface described by a triSurfaceMesh
const pointField points0_
 Reference points for surface motion.
autoPtr< mapDistributemapPtr_
 Parallel map to apply the regionFaIBM stencil.
autoPtr< solidBodyMotionFunctionSBMFPtr_
 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< solveTypesolveTypeNames
 Selection names for solveType.

Detailed Description

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.

Usage
Example usage in constant/regionFaIBMPropeties
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
{
    ...
}
See also
Foam::solidBodyMotionFunction
Source files

Definition at line 91 of file regionFaIBM.H.

Member Typedef Documentation

◆ treeType

Definition at line 125 of file regionFaIBM.H.

Member Enumeration Documentation

◆ solveType

enum class solveType
strong

Solve type for stencil weights.

Enumerator
invDistance 
direct 

Definition at line 100 of file regionFaIBM.H.

Constructor & Destructor Documentation

◆ regionFaIBM()

regionFaIBM ( const Time & runTime,
const faMesh & aMesh,
const dictionary & dict )

Construct from Time and dictionary.

References dict, and runTime.

◆ ~regionFaIBM()

virtual ~regionFaIBM ( )
virtualdefault

Destructor.

Member Function Documentation

◆ dumpStencil()

void dumpStencil ( const fileName & fname,
const mapDistribute & mapDist,
const labelListList & stencil,
const pointField & centres )
static

Dump the stencil to file.

◆ moveBody()

bool moveBody ( )
protected

Move the immersed boundary.

◆ setFaceTypes()

void setFaceTypes ( )
protected

Set the face types indicator field and derived info.

◆ setVelocityFromSurface()

vector setVelocityFromSurface ( const pointIndexHit & hit) const
protected

Retrieve the velocity at a point on the moving surface.

◆ setStencilAddressing()

void setStencilAddressing ( const pointField & forcingFaceCentres,
const scalarField & forcingFaceAreas,
pointField & mirrorPoints )
protected

Set the regionFaIBM stencil addressing.

◆ setStencilWeights()

void setStencilWeights ( const pointField & mirrorPoints)
protected

Set the regionFaIBM stencil weights.

◆ TypeName()

TypeName ( "IBM" )

Runtime type information.

◆ updateMesh()

void updateMesh ( )

Update mesh.

◆ correct()

bool correct ( const areaVectorField & Us,
areaVectorField & Ustar )

Correct the regionFaIBM model.

References Us.

◆ zeroFilter()

template<class Type>
void zeroFilter ( Type & fld) const

Apply the zero filter to an area field.

References fld().

Here is the call graph for this function:

◆ addToMask()

void addToMask ( areaScalarField & mask) const

Add to mask; Sets a value of 1 for participating faces.

Member Data Documentation

◆ solveTypeNames

const Enum<solveType> solveTypeNames
staticprotected

Selection names for solveType.

Definition at line 130 of file regionFaIBM.H.

◆ aMesh_

const faMesh& aMesh_
protected

Reference to the finite area mesh.

Definition at line 136 of file regionFaIBM.H.

◆ surface_

triSurfaceMesh surface_
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.

◆ points0_

const pointField points0_
protected

Reference points for surface motion.

Definition at line 149 of file regionFaIBM.H.

◆ mapPtr_

autoPtr<mapDistribute> mapPtr_
protected

Parallel map to apply the regionFaIBM stencil.

Definition at line 154 of file regionFaIBM.H.

◆ SBMFPtr_

autoPtr<solidBodyMotionFunction> SBMFPtr_
protected

Surface motion as a function of time.

Definition at line 159 of file regionFaIBM.H.

◆ treePtr_

autoPtr<indexedOctree<treeType> > treePtr_
protected

Octree for face search.

Definition at line 164 of file regionFaIBM.H.

◆ deltaT_

scalar deltaT_
protected

Integration time step.

Definition at line 169 of file regionFaIBM.H.

◆ updateTimeOld_

scalar updateTimeOld_
protected

Time at last update.

Definition at line 174 of file regionFaIBM.H.

◆ transformOld_

septernion transformOld_
protected

Last transformation.

Definition at line 179 of file regionFaIBM.H.

◆ invTransformDelta_

septernion invTransformDelta_
protected

Transformation to go to state at last step.

Definition at line 184 of file regionFaIBM.H.

◆ faceTypes_

labelField faceTypes_
protected

Face types indicator field.

Definition at line 189 of file regionFaIBM.H.

◆ forcingFaceIDs_

labelField forcingFaceIDs_
protected

Forcing faces.

Definition at line 194 of file regionFaIBM.H.

◆ insideFaceIDs_

labelField insideFaceIDs_
protected

Inside faces.

Definition at line 199 of file regionFaIBM.H.

◆ solveType_

solveType solveType_
protected

Solve type.

Definition at line 204 of file regionFaIBM.H.

◆ rFactor_

scalar rFactor_
protected

Stencil radius factor.

Definition at line 209 of file regionFaIBM.H.

◆ stencil_

labelListList stencil_
protected

Interpolation stencil.

Definition at line 214 of file regionFaIBM.H.

◆ weights_

scalarListList weights_
protected

Interpolation weights.

Definition at line 219 of file regionFaIBM.H.

◆ h_

scalarList h_
protected

Distance weights used when calculating uStar.

Definition at line 224 of file regionFaIBM.H.


The documentation for this class was generated from the following file:
  • src/regionFaModels/liquidFilm/kinematicThinFilmIBM/regionFaIBM/regionFaIBM.H