37 const Foam::scalar Foam::meshToMesh0::directHitTol = 1
e-5;
53 cellAddressing_(toMesh_.nCells()),
54 boundaryAddressing_(toMesh_.boundaryMesh().size()),
55 inverseDistanceWeightsPtr_(
nullptr),
56 inverseVolumeWeightsPtr_(
nullptr),
57 cellToCellAddressingPtr_(
nullptr),
62 fromMeshPatches_.insert
64 fromMesh_.boundaryMesh()[
patchi].name(),
73 toMesh_.boundaryMesh()[
patchi].name(),
78 forAll(cuttingPatchNames, i)
80 if (toMeshPatches_.found(cuttingPatchNames[i]))
82 cuttingPatches_.insert
85 toMeshPatches_.find(cuttingPatchNames[i])()
91 <<
"Cannot find cutting-patch " << cuttingPatchNames[i]
92 <<
" in destination mesh" <<
endl;
99 if (isA<processorPolyPatch>(toMesh_.boundaryMesh()[
patchi]))
101 cuttingPatches_.insert
103 toMesh_.boundaryMesh()[
patchi].name(),
121 cellAddressing_(toMesh_.nCells()),
122 boundaryAddressing_(toMesh_.boundaryMesh().size()),
123 inverseDistanceWeightsPtr_(
nullptr),
124 inverseVolumeWeightsPtr_(
nullptr),
125 cellToCellAddressingPtr_(
nullptr),
130 if (fromMesh_.boundary().size() != toMesh_.boundary().size())
133 <<
"Incompatible meshes: different number of patches, " 134 <<
"fromMesh = " << fromMesh_.boundary().size()
135 <<
", toMesh = " << toMesh_.boundary().size()
143 fromMesh_.boundaryMesh()[
patchi].name()
144 != toMesh_.boundaryMesh()[
patchi].name()
148 <<
"Incompatible meshes: different patch names for patch " 150 <<
", fromMesh = " << fromMesh_.boundary()[
patchi].name()
151 <<
", toMesh = " << toMesh_.boundary()[
patchi].name()
157 fromMesh_.boundaryMesh()[
patchi].type()
158 != toMesh_.boundaryMesh()[
patchi].type()
162 <<
"Incompatible meshes: different patch types for patch " 164 <<
", fromMesh = " << fromMesh_.boundary()[
patchi].type()
165 <<
", toMesh = " << toMesh_.boundary()[
patchi].type()
169 fromMeshPatches_.insert
171 fromMesh_.boundaryMesh()[
patchi].name(),
175 toMeshPatches_.insert
177 toMesh_.boundaryMesh()[
patchi].name(),
183 toMesh_.boundaryMesh()[
patchi].name(),
184 fromMesh_.boundaryMesh()[
patchi].name()
#define forAll(list, i)
Loop across all elements in list.
errorManipArg< error, int > exit(error &err, const int errNo=1)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Ostream & endl(Ostream &os)
Add newline and flush stream.
An STL-conforming hash table.
defineTypeNameAndDebug(combustionModel, 0)
~meshToMesh0()
Destructor.
Template functions to aid in the implementation of demand driven data.
#define WarningInFunction
Report a warning using Foam::Warning.
Mesh data needed to do the Finite Volume discretisation.
const doubleScalar e
Elementary charge.
void deleteDemandDrivenData(DataPtr &dataPtr)
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.