cellCellStencilObject Class Reference
Inheritance diagram for cellCellStencilObject:
Collaboration diagram for cellCellStencilObject:

Public Member Functions

 TypeName ("cellCellStencilObject")
 
 cellCellStencilObject (const fvMesh &mesh, const bool update=true)
 Construct with mesh. More...
 
virtual ~cellCellStencilObject ()=default
 Destructor. More...
 
virtual bool movePoints ()
 Callback for geometry motion. More...
 
virtual bool update ()
 Update stencils. Return false if nothing changed. More...
 
virtual const labelUListcellTypes () const
 Return the cell type list. More...
 
virtual const labelUListinterpolationCells () const
 Indices of interpolated cells. More...
 
virtual const mapDistributecellInterpolationMap () const
 Return a communication schedule. More...
 
virtual const labelListListcellStencil () const
 Per interpolated cell the neighbour cells (in terms of slots as. More...
 
virtual const List< scalarList > & cellInterpolationWeights () const
 Weights for cellStencil. More...
 
virtual const scalarListcellInterpolationWeight () const
 Per interpolated cell the interpolation factor. (0 = use. More...
 
virtual void stencilWeights (const point &sample, const pointList &donorCcs, scalarList &weights) const
 Calculate weights for a single acceptor. More...
 
virtual const wordHashSetnonInterpolatedFields () const
 Return the names of any (stencil or mesh specific) fields that. More...
 
- Public Member Functions inherited from MeshObject< Mesh, MeshObjectType, Type >
 MeshObject (const Mesh &mesh)
 Construct with Type::typeName on Mesh. More...
 
 MeshObject (const word &objName, const Mesh &mesh)
 Construct with given object name on Mesh. More...
 
virtual ~MeshObject ()=default
 Destructor. More...
 
const Mesh & mesh () const noexcept
 Reference to the mesh. More...
 
virtual bool writeData (Ostream &os) const
 Dummy write. More...
 
- Public Member Functions inherited from cellCellStencil
 TypeName ("cellCellStencil")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, cellCellStencil, mesh,(const fvMesh &mesh, const dictionary &dict, const bool update),(mesh, dict, update))
 
 cellCellStencil (const fvMesh &)
 Construct from fvMesh. More...
 
virtual ~cellCellStencil ()
 Destructor. More...
 
virtual wordHashSetnonInterpolatedFields ()
 Return non-const non-interpolating fields. More...
 
bool localStencil (const labelUList &) const
 Helper: is stencil fully local. More...
 
const labelIOListzoneID () const
 Helper: get reference to registered zoneID. Loads volScalarField. More...
 
template<class T >
void interpolate (const fvMesh &mesh, Field< T > &psi) const
 Explicit interpolation of acceptor cells from donor cells. Looks up cellCellStencil. More...
 
template<class GeoField >
void interpolate (GeoField &psi) const
 Explicit interpolation of acceptor cells from donor cells with boundary condition handling. More...
 
template<class GeoField >
void interpolate (const fvMesh &mesh, const wordHashSet &suppressed) const
 Explicit interpolation of all registered fields. No boundary conditions. Excludes selected fields (and their old-time fields) More...
 
void walkFront (const globalIndex &globalCells, const scalar layerRelax, const labelListList &allStencil, labelList &allCellTypes, scalarField &allWeight, const scalarList &compactCellVol, const labelListList &compactStencil, const labelList &zoneID, const label holeLayers, const label useLayer) const
 Surround holes with layer(s) of interpolated cells. More...
 
void setUpFront (const labelList &allCellTypes, bitSet &isFront) const
 Set up front using allCellTypes. More...
 
void setUpFrontOnOversetPatch (const labelList &allCellTypes, bitSet &isFront) const
 Set up front on overset patches. More...
 
void seedCell (const label cellI, const scalar wantedFraction, bitSet &isFront, scalarField &fraction) const
 Seed faces of cell with wantedFraction (if higher than current) More...
 
InfoProxy< cellCellStencilinfo () const noexcept
 Return info proxy, used to print stencil information to a stream. More...
 
template<class Type >
Foam::tmp< Foam::volScalarFieldcreateField (const fvMesh &mesh, const word &name, const UList< Type > &psi)
 

Additional Inherited Members

- Public Types inherited from cellCellStencil
enum  patchCellType { OTHER = 0, PATCH = 1, OVERSET = 2 }
 
enum  cellType {
  CALCULATED = 0, INTERPOLATED = 1, HOLE = 2, SPECIAL = 3,
  POROUS = 4
}
 
- Static Public Member Functions inherited from MeshObject< Mesh, MeshObjectType, Type >
template<class... Args>
static const Type & New (const Mesh &mesh, Args &&... args)
 Get existing or create a new MeshObject. Registered with typeName. More...
 
template<class... Args>
static const Type & New (const word &objName, const Mesh &mesh, Args &&... args)
 Get existing or create a new MeshObject using supplied registration name. More...
 
static bool Delete (const word &objName, const Mesh &mesh)
 Static destructor using supplied registration name. More...
 
static bool Delete (const Mesh &mesh)
 Static destructor using Type::typeName. More...
 
- Static Public Member Functions inherited from cellCellStencil
static autoPtr< cellCellStencilNew (const fvMesh &, const dictionary &dict, const bool update=true)
 New function which constructs and returns pointer to a. More...
 
static const labelIOListzoneID (const fvMesh &)
 Helper: get reference to registered zoneID. Loads volScalarField. More...
 
static labelList count (const label size, const labelUList &lst)
 Count occurrences (in parallel) More...
 
static void globalCellCells (const globalIndex &gi, const polyMesh &mesh, const boolList &isValidDonor, const labelList &selectedCells, labelListList &cellCells, pointListList &cellCellCentres)
 Helper: create cell-cell addressing in global numbering. More...
 
template<class T >
static void interpolate (Field< T > &psi, const fvMesh &mesh, const cellCellStencil &overlap, const List< scalarList > &wghts)
 Interpolation of acceptor cells from donor cells. More...
 
template<class GeoField , class SuppressBC >
static void correctBoundaryConditions (GeoField &psi)
 Version of correctBoundaryConditions that excludes 'overset' bcs. More...
 
- Protected Member Functions inherited from cellCellStencil
void suppressMotionFields ()
 Helper: populate nonInterpolatedFields_ with motion solver. More...
 
- Static Protected Member Functions inherited from cellCellStencil
template<class Type >
static tmp< volScalarFieldcreateField (const fvMesh &mesh, const word &name, const UList< Type > &)
 Helper: create volScalarField for postprocessing. More...
 
static word baseName (const word &name)
 Helper: strip off trailing _0. More...
 
- Protected Attributes inherited from MeshObject< Mesh, MeshObjectType, Type >
const Mesh & mesh_
 Reference to the mesh. More...
 
- Protected Attributes inherited from cellCellStencil
const fvMeshmesh_
 Reference to the mesh. More...
 
wordHashSet nonInterpolatedFields_
 Set of fields that should not be interpolated. More...
 
const dictionary dict_
 Dictionary of motion control parameters. More...
 
- Static Protected Attributes inherited from cellCellStencil
static const Enum< cellTypecellTypeNames_
 Mode type names. More...
 

Detailed Description

Source files

Definition at line 53 of file cellCellStencilObject.H.

Constructor & Destructor Documentation

◆ cellCellStencilObject()

cellCellStencilObject ( const fvMesh mesh,
const bool  update = true 
)
inlineexplicit

Construct with mesh.

Definition at line 73 of file cellCellStencilObject.H.

◆ ~cellCellStencilObject()

virtual ~cellCellStencilObject ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "cellCellStencilObject"  )

◆ movePoints()

virtual bool movePoints ( )
inlinevirtual

Callback for geometry motion.

Definition at line 111 of file cellCellStencilObject.H.

◆ update()

virtual bool update ( )
inlinevirtual

Update stencils. Return false if nothing changed.

Implements cellCellStencil.

Definition at line 119 of file cellCellStencilObject.H.

◆ cellTypes()

virtual const labelUList& cellTypes ( ) const
inlinevirtual

Return the cell type list.

Implements cellCellStencil.

Definition at line 127 of file cellCellStencilObject.H.

Referenced by oversetFvMeshBase::writeObject().

Here is the caller graph for this function:

◆ interpolationCells()

virtual const labelUList& interpolationCells ( ) const
inlinevirtual

Indices of interpolated cells.

Implements cellCellStencil.

Definition at line 135 of file cellCellStencilObject.H.

◆ cellInterpolationMap()

virtual const mapDistribute& cellInterpolationMap ( ) const
inlinevirtual

Return a communication schedule.

Implements cellCellStencil.

Definition at line 143 of file cellCellStencilObject.H.

Referenced by oversetFvMeshBase::writeObject().

Here is the caller graph for this function:

◆ cellStencil()

virtual const labelListList& cellStencil ( ) const
inlinevirtual

Per interpolated cell the neighbour cells (in terms of slots as.

constructed by above cellInterpolationMap) to interpolate

Implements cellCellStencil.

Definition at line 153 of file cellCellStencilObject.H.

Referenced by oversetFvMeshBase::writeObject().

Here is the caller graph for this function:

◆ cellInterpolationWeights()

virtual const List<scalarList>& cellInterpolationWeights ( ) const
inlinevirtual

Weights for cellStencil.

Implements cellCellStencil.

Definition at line 161 of file cellCellStencilObject.H.

Referenced by cellCellStencil::interpolate().

Here is the caller graph for this function:

◆ cellInterpolationWeight()

virtual const scalarList& cellInterpolationWeight ( ) const
inlinevirtual

Per interpolated cell the interpolation factor. (0 = use.

calculated, 1 = use interpolated)

Implements cellCellStencil.

Definition at line 171 of file cellCellStencilObject.H.

◆ stencilWeights()

virtual void stencilWeights ( const point sample,
const pointList donorCcs,
scalarList weights 
) const
inlinevirtual

Calculate weights for a single acceptor.

Implements cellCellStencil.

Definition at line 180 of file cellCellStencilObject.H.

◆ nonInterpolatedFields()

virtual const wordHashSet& nonInterpolatedFields ( ) const
inlinevirtual

Return the names of any (stencil or mesh specific) fields that.

should not be interpolated

Reimplemented from cellCellStencil.

Definition at line 194 of file cellCellStencilObject.H.

Referenced by oversetFvMeshBase::interpolateFields().

Here is the caller graph for this function:

The documentation for this class was generated from the following file: