39const Foam::scalar Foam::meshToMesh0::directHitTol = 1
e-5;
55 cellAddressing_(toMesh_.nCells()),
57 inverseDistanceWeightsPtr_(nullptr),
58 inverseVolumeWeightsPtr_(nullptr),
59 cellToCellAddressingPtr_(nullptr),
80 forAll(cuttingPatchNames, i)
82 if (toMeshPatches_.found(cuttingPatchNames[i]))
84 cuttingPatches_.insert
87 toMeshPatches_.find(cuttingPatchNames[i])()
93 <<
"Cannot find cutting-patch " << cuttingPatchNames[i]
94 <<
" in destination mesh" <<
endl;
98 forAll(toMesh_.boundaryMesh(), patchi)
103 cuttingPatches_.insert
105 toMesh_.boundaryMesh()[patchi].name(),
123 cellAddressing_(toMesh_.nCells()),
125 inverseDistanceWeightsPtr_(nullptr),
126 inverseVolumeWeightsPtr_(nullptr),
127 cellToCellAddressingPtr_(nullptr),
132 if (fromMesh_.boundary().size() != toMesh_.boundary().size())
135 <<
"Incompatible meshes: different number of patches, "
136 <<
"fromMesh = " << fromMesh_.boundary().size()
137 <<
", toMesh = " << toMesh_.boundary().size()
141 forAll(fromMesh_.boundaryMesh(), patchi)
145 fromMesh_.boundaryMesh()[patchi].name()
146 != toMesh_.boundaryMesh()[patchi].name()
150 <<
"Incompatible meshes: different patch names for patch "
152 <<
", fromMesh = " << fromMesh_.boundary()[patchi].name()
153 <<
", toMesh = " << toMesh_.boundary()[patchi].name()
159 fromMesh_.boundaryMesh()[patchi].type()
160 != toMesh_.boundaryMesh()[patchi].type()
164 <<
"Incompatible meshes: different patch types for patch "
166 <<
", fromMesh = " << fromMesh_.boundary()[patchi].type()
167 <<
", toMesh = " << toMesh_.boundary()[patchi].type()
171 fromMeshPatches_.insert
173 fromMesh_.boundaryMesh()[patchi].name(),
177 toMeshPatches_.insert
179 toMesh_.boundaryMesh()[patchi].name(),
185 toMesh_.boundaryMesh()[patchi].name(),
186 fromMesh_.boundaryMesh()[patchi].name()
if(maxValue - minValue< SMALL)
A HashTable similar to std::unordered_map.
bool insert(const Key &key, const T &obj)
Copy insert a new entry, not overwriting existing entries.
const word & name() const noexcept
Return the object name.
label find(const T &val) const
Find index of the first occurrence of the value.
Addressing for all faces on surface of mesh. Can either be read from polyMesh or from triSurface....
Mesh data needed to do the Finite Volume discretisation.
Serial mesh to mesh interpolation class.
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.
const polyBoundaryMesh & boundaryMesh() const noexcept
Return boundary mesh.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
#define WarningInFunction
Report a warning using Foam::Warning.
List< word > wordList
List of word.
Ostream & endl(Ostream &os)
Add newline and flush stream.
const Type * isA(const U &obj)
Attempt dynamic_cast to Type.
#define forAll(list, i)
Loop across all elements in list.