meshToMesh0 Class Reference

Serial mesh to mesh interpolation class. More...

Classes

class  patchFieldInterpolator
 Patch-field interpolation class. More...
 

Public Types

enum  order { MAP, INTERPOLATE, CELL_POINT_INTERPOLATE, CELL_VOLUME_WEIGHT }
 Enumeration specifying required accuracy. More...
 

Public Member Functions

 ClassName ("meshToMesh0")
 
 meshToMesh0 (const fvMesh &fromMesh, const fvMesh &toMesh, const HashTable< word > &patchMap, const wordList &cuttingPatchNames)
 Construct from the two meshes, the patch name map for the patches. More...
 
 meshToMesh0 (const fvMesh &fromMesh, const fvMesh &toMesh)
 Construct from the two meshes assuming there is an exact mapping. More...
 
 ~meshToMesh0 ()
 Destructor. More...
 
const fvMeshfromMesh () const
 
const fvMeshtoMesh () const
 
const labelListcellAddressing () const
 From toMesh cells to fromMesh cells. More...
 
scalar V () const
 Overlap volume. More...
 
template<class Type , class CombineOp >
void mapField (Field< Type > &, const Field< Type > &, const labelList &adr, const CombineOp &cop) const
 Map field. More...
 
template<class Type , class CombineOp >
void interpolateField (Field< Type > &, const GeometricField< Type, fvPatchField, volMesh > &, const labelList &adr, const scalarListList &weights, const CombineOp &cop) const
 Interpolate field using inverse-distance weights. More...
 
template<class Type , class CombineOp >
void interpolateField (Field< Type > &, const GeometricField< Type, fvPatchField, volMesh > &, const labelListList &adr, const scalarListList &weights, const CombineOp &cop) const
 Interpolate field using inverse-volume weights. More...
 
template<class Type , class CombineOp >
void interpolateField (Field< Type > &, const GeometricField< Type, fvPatchField, volMesh > &, const labelList &adr, const vectorField &centres, const CombineOp &cop) const
 Interpolate field using cell-point interpolation. More...
 
template<class Type , class CombineOp >
void interpolateInternalField (Field< Type > &, const GeometricField< Type, fvPatchField, volMesh > &, order=INTERPOLATE, const CombineOp &cop=eqOp< Type >()) const
 Interpolate internal volume field. More...
 
template<class Type , class CombineOp >
void interpolateInternalField (Field< Type > &, const tmp< GeometricField< Type, fvPatchField, volMesh >> &, order=INTERPOLATE, const CombineOp &cop=eqOp< Type >()) const
 
template<class Type , class CombineOp >
void interpolate (GeometricField< Type, fvPatchField, volMesh > &, const GeometricField< Type, fvPatchField, volMesh > &, order=INTERPOLATE, const CombineOp &cop=eqOp< Type >()) const
 Interpolate volume field. More...
 
template<class Type , class CombineOp >
void interpolate (GeometricField< Type, fvPatchField, volMesh > &, const tmp< GeometricField< Type, fvPatchField, volMesh >> &, order=INTERPOLATE, const CombineOp &cop=eqOp< Type >()) const
 
template<class Type , class CombineOp >
tmp< GeometricField< Type, fvPatchField, volMesh > > interpolate (const GeometricField< Type, fvPatchField, volMesh > &, order=INTERPOLATE, const CombineOp &cop=eqOp< Type >()) const
 Interpolate volume field. More...
 
template<class Type , class CombineOp >
tmp< GeometricField< Type, fvPatchField, volMesh > > interpolate (const tmp< GeometricField< Type, fvPatchField, volMesh >> &, order=INTERPOLATE, const CombineOp &cop=eqOp< Type >()) const
 
template<class Type , class CombineOp >
Foam::tmp< Foam::GeometricField< Type, Foam::fvPatchField, Foam::volMesh > > interpolate (const GeometricField< Type, fvPatchField, volMesh > &fromVf, meshToMesh0::order ord, const CombineOp &cop) const
 
template<class Type , class CombineOp >
Foam::tmp< Foam::GeometricField< Type, Foam::fvPatchField, Foam::volMesh > > interpolate (const tmp< GeometricField< Type, fvPatchField, volMesh >> &tfromVf, meshToMesh0::order ord, const CombineOp &cop) const
 

Detailed Description

Serial mesh to mesh interpolation class.

Source files

Definition at line 60 of file meshToMesh0.H.

Member Enumeration Documentation

◆ order

enum order

Enumeration specifying required accuracy.

Enumerator
MAP 
INTERPOLATE 
CELL_POINT_INTERPOLATE 
CELL_VOLUME_WEIGHT 

Definition at line 143 of file meshToMesh0.H.

Constructor & Destructor Documentation

◆ meshToMesh0() [1/2]

meshToMesh0 ( const fvMesh fromMesh,
const fvMesh toMesh,
const HashTable< word > &  patchMap,
const wordList cuttingPatchNames 
)

Construct from the two meshes, the patch name map for the patches.

to be interpolated and the names of the toMesh-patches which cut the fromMesh

Definition at line 43 of file meshToMesh0.C.

References Foam::endl(), forAll, patchi, and WarningInFunction.

Here is the call graph for this function:

◆ meshToMesh0() [2/2]

meshToMesh0 ( const fvMesh fromMesh,
const fvMesh toMesh 
)

Construct from the two meshes assuming there is an exact mapping.

between the patches

Definition at line 114 of file meshToMesh0.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, and patchi.

Here is the call graph for this function:

◆ ~meshToMesh0()

Destructor.

Definition at line 194 of file meshToMesh0.C.

References Foam::deleteDemandDrivenData().

Here is the call graph for this function:

Member Function Documentation

◆ ClassName()

ClassName ( "meshToMesh0"  )

◆ fromMesh()

const fvMesh& fromMesh ( ) const
inline

Definition at line 230 of file meshToMesh0.H.

Referenced by Foam::MapConsistentVolFields(), and Foam::MapVolFields().

Here is the caller graph for this function:

◆ toMesh()

const fvMesh& toMesh ( ) const
inline

Definition at line 235 of file meshToMesh0.H.

Referenced by Foam::MapConsistentVolFields(), Foam::MapLagrangianFields(), and Foam::MapVolFields().

Here is the caller graph for this function:

◆ cellAddressing()

const labelList& cellAddressing ( ) const
inline

From toMesh cells to fromMesh cells.

Definition at line 241 of file meshToMesh0.H.

◆ V()

scalar V ( ) const
inline

◆ mapField()

void mapField ( Field< Type > &  toF,
const Field< Type > &  fromVf,
const labelList adr,
const CombineOp &  cop 
) const

Map field.

Definition at line 36 of file meshToMesh0Templates.C.

References forAll, and meshToMesh0::interpolateField().

Referenced by meshToMesh0::V().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ interpolateField() [1/3]

void interpolateField ( Field< Type > &  toF,
const GeometricField< Type, fvPatchField, volMesh > &  fromVf,
const labelList adr,
const scalarListList weights,
const CombineOp &  cop 
) const

Interpolate field using inverse-distance weights.

Definition at line 86 of file meshToMesh0Templates.C.

References f(), and forAll.

Referenced by meshToMesh0::interpolateField(), meshToMesh0::mapField(), and meshToMesh0::V().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ interpolateField() [2/3]

void interpolateField ( Field< Type > &  toF,
const GeometricField< Type, fvPatchField, volMesh > &  fromVf,
const labelListList adr,
const scalarListList weights,
const CombineOp &  cop 
) const

Interpolate field using inverse-volume weights.

Definition at line 59 of file meshToMesh0Templates.C.

References f(), forAll, meshToMesh0::interpolateField(), and Foam::Zero.

Here is the call graph for this function:

◆ interpolateField() [3/3]

void interpolateField ( Field< Type > &  toF,
const GeometricField< Type, fvPatchField, volMesh > &  fromVf,
const labelList adr,
const vectorField centres,
const CombineOp &  cop 
) const

Interpolate field using cell-point interpolation.

Definition at line 121 of file meshToMesh0Templates.C.

References forAll, interpolationCellPoint< Type >::interpolate(), and meshToMesh0::interpolateInternalField().

Here is the call graph for this function:

◆ interpolateInternalField() [1/2]

void interpolateInternalField ( Field< Type > &  toF,
const GeometricField< Type, fvPatchField, volMesh > &  fromVf,
meshToMesh0::order  ord = INTERPOLATE,
const CombineOp &  cop = eqOp<Type>() 
) const

Interpolate internal volume field.

Definition at line 152 of file meshToMesh0Templates.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, DimensionedField< Type, GeoMesh >::mesh(), and List< Type >::size().

Referenced by meshToMesh0::interpolateField(), and meshToMesh0::V().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ interpolateInternalField() [2/2]

void interpolateInternalField ( Field< Type > &  toF,
const tmp< GeometricField< Type, fvPatchField, volMesh >> &  tfromVf,
meshToMesh0::order  ord = INTERPOLATE,
const CombineOp &  cop = eqOp<Type>() 
) const

Definition at line 233 of file meshToMesh0Templates.C.

References meshToMesh0::interpolate().

Here is the call graph for this function:

◆ interpolate() [1/6]

void interpolate ( GeometricField< Type, fvPatchField, volMesh > &  toVf,
const GeometricField< Type, fvPatchField, volMesh > &  fromVf,
meshToMesh0::order  ord = INTERPOLATE,
const CombineOp &  cop = eqOp<Type>() 
) const

◆ interpolate() [2/6]

void interpolate ( GeometricField< Type, fvPatchField, volMesh > &  toVf,
const tmp< GeometricField< Type, fvPatchField, volMesh >> &  tfromVf,
meshToMesh0::order  ord = INTERPOLATE,
const CombineOp &  cop = eqOp<Type>() 
) const

Definition at line 346 of file meshToMesh0Templates.C.

References Foam::fvc::interpolate(), and meshToMesh0::interpolate().

Here is the call graph for this function:

◆ interpolate() [3/6]

tmp<GeometricField<Type, fvPatchField, volMesh> > interpolate ( const GeometricField< Type, fvPatchField, volMesh > &  ,
order  = INTERPOLATE,
const CombineOp &  cop = eqOp< Type >() 
) const

Interpolate volume field.

◆ interpolate() [4/6]

tmp<GeometricField<Type, fvPatchField, volMesh> > interpolate ( const tmp< GeometricField< Type, fvPatchField, volMesh >> &  ,
order  = INTERPOLATE,
const CombineOp &  cop = eqOp< Type >() 
) const

◆ interpolate() [5/6]

◆ interpolate() [6/6]

Foam::tmp<Foam::GeometricField<Type, Foam::fvPatchField, Foam::volMesh> > interpolate ( const tmp< GeometricField< Type, fvPatchField, volMesh >> &  tfromVf,
meshToMesh0::order  ord,
const CombineOp &  cop 
) const

Definition at line 434 of file meshToMesh0Templates.C.

References Foam::fvc::interpolate().

Here is the call graph for this function:

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