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 659 void meshToMesh::mapInternalSrcToTgt
667 void meshToMesh::mapInternalSrcToTgt
675 void meshToMesh::mapInternalSrcToTgt
683 void meshToMesh::mapInternalSrcToTgt
691 void meshToMesh::mapInternalSrcToTgt
699 void meshToMesh::mapInternalSrcToTgt
707 void meshToMesh::mapInternalTgtToSrc
715 void meshToMesh::mapInternalTgtToSrc
723 void meshToMesh::mapInternalTgtToSrc
731 void meshToMesh::mapInternalTgtToSrc
739 void meshToMesh::mapInternalTgtToSrc
747 void meshToMesh::mapInternalTgtToSrc
759 void meshToMesh::mapAndOpSrcToTgt
767 void meshToMesh::mapAndOpSrcToTgt
775 void meshToMesh::mapAndOpSrcToTgt
783 void meshToMesh::mapAndOpSrcToTgt
791 void meshToMesh::mapAndOpSrcToTgt
801 void meshToMesh::mapAndOpTgtToSrc
809 void meshToMesh::mapAndOpTgtToSrc
817 void meshToMesh::mapAndOpTgtToSrc
825 void meshToMesh::mapAndOpTgtToSrc
833 void meshToMesh::mapAndOpTgtToSrc
const autoPtr< mapDistribute > & tgtMap() const
Target map pointer - valid if no singleMeshProc.
static const Enum< interpolationMethod > interpolationMethodNames_
static const Enum< procMapMethod > procMapMethodNames_
const polyMesh & srcRegion() const
Return const access to the source mesh.
const PtrList< AMIPatchToPatchInterpolation > & patchAMIs() const
Return the list of AMIs between source and target patches.
A bounding box defined in terms of min/max extrema points.
typeOfRank< typename pTraits< arg1 >::cmptType, direction(pTraits< arg1 >::rank)+direction(pTraits< arg2 >::rank) >::type type
Generic GeometricField class.
Class to calculate the cell-addressing between two overlapping meshes.
procMapMethod
Enumeration specifying processor parallel map construction method.
const labelListList & srcToTgtCellAddr() const
Return const access to the source to target cell addressing.
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
Generic templated field type.
const autoPtr< mapDistribute > & srcMap() const
Source map pointer - valid if no singleMeshProc.
A class for handling words, derived from Foam::string.
const pointListList & tgtToSrcCellVec() const
Return const access to the target to source offset vectors.
scalar V() const
Return const access to the overlap volume.
A HashTable similar to std::unordered_map.
static word interpolationMethodAMI(const interpolationMethod method)
Conversion between mesh and patch interpolation methods.
TypeName("meshToMesh")
Run-time type information.
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< ' ';}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< ' ';}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().z()<< ' ';}gmvFile<< nl;for(const word &name :lagrangianScalarNames){ IOField< scalar > fld(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
const labelListList & tgtToSrcCellAddr() const
Return const access to the target to source cell addressing.
Class containing processor-to-processor mapping information.
virtual ~meshToMesh()
Destructor.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
Interpolation class dealing with transfer of data between two primitive patches with an arbitrary mes...
const scalarListList & srcToTgtCellWght() const
Return const access to the source to target cell weights.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Mesh consisting of general polyhedral cells.
interpolationMethod
Enumeration specifying interpolation method.
A class for managing temporary objects.
void mapSrcToTgt(const UList< Type > &srcFld, const CombineOp &cop, List< Type > &result) const
Map field from src to tgt mesh with defined operation.
const polyMesh & tgtRegion() const
Return const access to the target mesh.
const pointListList & srcToTgtCellVec() const
Return const access to the source to target offset vectors.
void mapTgtToSrc(const UList< Type > &tgtFld, const CombineOp &cop, List< Type > &result) const
Map field from tgt to src mesh with defined operation.
const scalarListList & tgtToSrcCellWght() const
Return const access to the target to source cell weights.