45#ifndef Foam_meshToMesh_H
46#define Foam_meshToMesh_H
142 label singleMeshProc_;
159 template<
class Type,
class CombineOp>
160 void mapInternalSrcToTgt
163 const CombineOp& cop,
165 const bool secondOrder
170 template<
class Type,
class CombineOp>
171 void mapInternalTgtToSrc
174 const CombineOp& cop,
176 const bool secondOrder
181 template<
class Type,
class CombineOp>
182 void mapAndOpSrcToTgt
192 template<
class Type,
class CombineOp>
193 void mapAndOpTgtToSrc
205 void normaliseWeights
207 const word& descriptor,
216 const word& methodName,
222 void calculate(
const word& methodName,
const bool normalise);
225 void calculatePatchAMIs(
const word& amiMethodName);
228 void constructNoCuttingPatches
230 const word& methodName,
231 const word& AMIMethodName,
232 const bool interpAllPatches
236 void constructFromCuttingPatches
238 const word& methodName,
239 const word& AMIMethodName,
249 label calcDistribution
256 label calcOverlappingProcs
287 void distributeAndMergeCells
320 const bool interpAllPatches =
true
328 const word& methodName,
329 const word& AMIMethodName,
331 const bool interpAllPatches =
true
343 const bool normalise =
true
352 const word& methodName,
353 const word& AMIMethodName,
357 const bool normalise =
true
394 inline scalar
V()
const;
423 template<
class Type,
class CombineOp>
427 const CombineOp& cop,
437 template<
class Type,
class CombineOp>
442 const CombineOp& cop,
448 template<
class Type,
class CombineOp>
457 template<
class Type,
class CombineOp>
486 template<
class Type,
class CombineOp>
490 const CombineOp& cop,
500 template<
class Type,
class CombineOp>
505 const CombineOp& cop,
511 template<
class Type,
class CombineOp>
520 template<
class Type,
class CombineOp>
550 template<
class Type,
class CombineOp>
554 const CombineOp& cop,
556 const bool secondOrder =
true
561 template<
class Type,
class CombineOp>
565 const CombineOp& cop,
566 const bool secondOrder =
true
571 template<
class Type,
class CombineOp>
575 const CombineOp& cop,
576 const bool secondOrder =
true
585 const bool secondOrder =
true
594 const bool secondOrder =
true
604 template<
class Type,
class CombineOp>
608 const CombineOp& cop,
610 const bool secondOrder =
true
615 template<
class Type,
class CombineOp>
619 const CombineOp& cop,
620 const bool secondOrder =
true
625 template<
class Type,
class CombineOp>
630 const CombineOp& cop,
631 const bool secondOrder =
true
640 const bool secondOrder =
true
649 const bool secondOrder =
true
659void meshToMesh::mapInternalSrcToTgt
667void meshToMesh::mapInternalSrcToTgt
675void meshToMesh::mapInternalSrcToTgt
683void meshToMesh::mapInternalSrcToTgt
691void meshToMesh::mapInternalSrcToTgt
699void meshToMesh::mapInternalSrcToTgt
707void meshToMesh::mapInternalTgtToSrc
715void meshToMesh::mapInternalTgtToSrc
723void meshToMesh::mapInternalTgtToSrc
731void meshToMesh::mapInternalTgtToSrc
739void meshToMesh::mapInternalTgtToSrc
747void meshToMesh::mapInternalTgtToSrc
759void meshToMesh::mapAndOpSrcToTgt
767void meshToMesh::mapAndOpSrcToTgt
775void meshToMesh::mapAndOpSrcToTgt
783void meshToMesh::mapAndOpSrcToTgt
791void meshToMesh::mapAndOpSrcToTgt
801void meshToMesh::mapAndOpTgtToSrc
809void meshToMesh::mapAndOpTgtToSrc
817void meshToMesh::mapAndOpTgtToSrc
825void meshToMesh::mapAndOpTgtToSrc
833void meshToMesh::mapAndOpTgtToSrc
Info<< nl<< "Wrote faMesh in vtk format: "<< writer.output().name()<< nl;}{ vtk::lineWriter writer(aMesh.points(), aMesh.edges(), fileName(aMesh.mesh().time().globalPath()/"finiteArea-edges"));writer.writeGeometry();writer.beginCellData(4);writer.writeProcIDs();{ Field< scalar > fld(faMeshTools::flattenEdgeField(aMesh.magLe(), true))
Interpolation class dealing with transfer of data between two primitive patches with an arbitrary mes...
Enum is a wrapper around a list of names/values that represent particular enumeration (or int) values...
Generic templated field type.
Generic GeometricField class.
A HashTable similar to std::unordered_map.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A bounding box defined in terms of min/max extrema points.
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
Class containing processor-to-processor mapping information.
Class to calculate the cell-addressing between two overlapping meshes.
virtual ~meshToMesh()
Destructor.
interpolationMethod
Enumeration specifying interpolation method.
@ imCorrectedCellVolumeWeight
tmp< Field< Type > > mapTgtToSrc(const tmp< Field< Type > > &ttgtFld, const CombineOp &cop) const
Convenience function to map a tmp field to the src mesh.
const labelListList & srcToTgtCellAddr() const
Return const access to the source to target cell addressing.
scalar V() const
Return const access to the overlap volume.
tmp< VolumeField< Type > > mapSrcToTgt(const VolumeField< Type > &field, const bool secondOrder=true) const
Convenience function to map a field with a default.
tmp< VolumeField< Type > > mapTgtToSrc(const VolumeField< Type > &field, const CombineOp &cop, const bool secondOrder=true) const
Interpolate a field with a defined operation. The initial.
tmp< Field< Type > > mapTgtToSrc(const Field< Type > &tgtFld, const CombineOp &cop) const
Return the tgt field mapped to the src mesh with a defined.
tmp< Field< Type > > mapSrcToTgt(const tmp< Field< Type > > &tsrcFld) const
Convenience function to map a tmp field to the tgt mesh.
procMapMethod
Enumeration specifying processor parallel map construction method.
const autoPtr< mapDistribute > & srcMap() const
Source map pointer - valid if no singleMeshProc.
tmp< Field< Type > > mapTgtToSrc(const tmp< Field< Type > > &ttgtFld) const
Convenience function to map a tmp field to the src mesh.
const scalarListList & srcToTgtCellWght() const
Return const access to the source to target cell weights.
const scalarListList & tgtToSrcCellWght() const
Return const access to the target to source cell weights.
const pointListList & srcToTgtCellVec() const
Return const access to the source to target offset vectors.
tmp< VolumeField< Type > > mapSrcToTgt(const VolumeField< Type > &field, const CombineOp &cop, const bool secondOrder=true) const
Interpolate a field with a defined operation. The initial.
tmp< Field< Type > > mapSrcToTgt(const tmp< Field< Type > > &tsrcFld, const CombineOp &cop) const
Convenience function to map a tmp field to the tgt mesh.
const PtrList< AMIPatchToPatchInterpolation > & patchAMIs() const
Return the list of AMIs between source and target patches.
TypeName("meshToMesh")
Run-time type information.
const labelListList & tgtToSrcCellAddr() const
Return const access to the target to source cell addressing.
tmp< Field< Type > > mapSrcToTgt(const Field< Type > &srcFld, const CombineOp &cop) const
Return the src field mapped to the tgt mesh with a defined.
const pointListList & tgtToSrcCellVec() const
Return const access to the target to source offset vectors.
tmp< Field< Type > > mapTgtToSrc(const Field< Type > &tgtFld) const
Convenience function to map a field to the src mesh with a.
tmp< VolumeField< Type > > mapTgtToSrc(const tmp< VolumeField< Type > > &tfield, const bool secondOrder=true) const
Convenience function to map a tmp field with a default.
void mapTgtToSrc(const UList< Type > &tgtFld, const CombineOp &cop, List< Type > &result) const
Map field from tgt to src mesh with defined operation.
tmp< VolumeField< Type > > mapTgtToSrc(const VolumeField< Type > &field, const bool secondOrder=true) const
Convenience function to map a field with a default.
const polyMesh & srcRegion() const
Return const access to the source mesh.
tmp< Field< Type > > mapSrcToTgt(const Field< Type > &srcFld) const
Convenience function to map a field to the tgt mesh with a.
static word interpolationMethodAMI(const interpolationMethod method)
Conversion between mesh and patch interpolation methods.
void mapSrcToTgt(const UList< Type > &srcFld, const CombineOp &cop, List< Type > &result) const
Map field from src to tgt mesh with defined operation.
static const Enum< procMapMethod > procMapMethodNames_
static const Enum< interpolationMethod > interpolationMethodNames_
tmp< VolumeField< Type > > mapSrcToTgt(const tmp< VolumeField< Type > > &tfield, const CombineOp &cop, const bool secondOrder=true) const
Interpolate a tmp field with a defined operation. The.
const autoPtr< mapDistribute > & tgtMap() const
Target map pointer - valid if no singleMeshProc.
const polyMesh & tgtRegion() const
Return const access to the target mesh.
tmp< VolumeField< Type > > mapTgtToSrc(const tmp< VolumeField< Type > > &tfield, const CombineOp &cop, const bool secondOrder=true) const
Interpolate a tmp field with a defined operation. The.
tmp< VolumeField< Type > > mapSrcToTgt(const tmp< VolumeField< Type > > &tfield, const bool secondOrder=true) const
Convenience function to map a tmp field with a default.
Mesh consisting of general polyhedral cells.
A class for managing temporary objects.
type
Volume classification types.
A class for handling words, derived from Foam::string.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.