41 template<
template<
class>
class CombineOp>
50 meshToMesh0 meshToMesh0Interp(meshSource, meshTarget);
53 <<
"Consistently creating and mapping fields for time " 62 MapConsistentVolFields<scalar>
69 MapConsistentVolFields<vector>
76 MapConsistentVolFields<sphericalTensor>
81 CombineOp<sphericalTensor>()
83 MapConsistentVolFields<symmTensor>
88 CombineOp<symmTensor>()
90 MapConsistentVolFields<tensor>
105 UnMapped<surfaceScalarField>(objects);
106 UnMapped<surfaceVectorField>(objects);
107 UnMapped<surfaceSphericalTensorField>(objects);
108 UnMapped<surfaceSymmTensorField>(objects);
109 UnMapped<surfaceTensorField>(objects);
113 UnMapped<pointScalarField>(objects);
114 UnMapped<pointVectorField>(objects);
115 UnMapped<pointSphericalTensorField>(objects);
116 UnMapped<pointSymmTensorField>(objects);
117 UnMapped<pointTensorField>(objects);
124 template<
template<
class>
class CombineOp>
127 const fvMesh& meshSource,
128 const fvMesh& meshTarget,
129 const HashTable<word>& patchMap,
135 meshToMesh0 meshToMesh0Interp
144 <<
"Mapping fields for time " << meshSource.time().timeName()
149 IOobjectList objects(meshSource, meshSource.time().timeName());
167 MapVolFields<sphericalTensor>
172 CombineOp<sphericalTensor>()
174 MapVolFields<symmTensor>
179 CombineOp<symmTensor>()
192 IOobjectList objects(meshTarget, meshTarget.
time().
timeName());
196 UnMapped<surfaceScalarField>(objects);
197 UnMapped<surfaceVectorField>(objects);
198 UnMapped<surfaceSphericalTensorField>(objects);
199 UnMapped<surfaceSymmTensorField>(objects);
200 UnMapped<surfaceTensorField>(objects);
204 UnMapped<pointScalarField>(objects);
205 UnMapped<pointVectorField>(objects);
206 UnMapped<pointSphericalTensorField>(objects);
207 UnMapped<pointSymmTensorField>(objects);
208 UnMapped<pointTensorField>(objects);
215 template<
template<
class>
class CombineOp>
218 const fvMesh& meshSource,
219 const fvMesh& meshTarget,
223 HashTable<word> patchMap;
224 HashTable<label> cuttingPatchTable;
226 forAll(meshTarget.boundary(), patchi)
228 if (!isA<processorFvPatch>(meshTarget.boundary()[patchi]))
232 meshTarget.boundary()[patchi].name(),
233 meshTarget.boundary()[patchi].name()
238 cuttingPatchTable.insert
240 meshTarget.boundaryMesh()[patchi].name(),
246 MapSubMesh<CombineOp>
251 cuttingPatchTable.toc(),
List of IOobjects with searching and retrieving facilities. Implemented as a HashTable, so the various sorted methods should be used if traversing in parallel.
constexpr char nl
The newline '\n' character (0x0a)
void MapConsistentSubMesh(const fvMesh &meshSource, const fvMesh &meshTarget, const meshToMesh0::order &mapOrder)
Serial mesh to mesh interpolation class.
Ostream & endl(Ostream &os)
Add newline and flush stream.
order
Enumeration specifying required accuracy.
const Time & time() const
Return the top-level database.
#define forAll(list, i)
Loop across all elements in list.
Maps lagrangian positions and fields.
static word timeName(const scalar t, const int precision=precision_)
Return a time name for the given scalar time value formatted with the given precision.
List< word > wordList
List of word.
void mapLagrangian(const meshToMesh0 &meshToMesh0Interp)
Maps lagrangian positions and fields.
Mesh data needed to do the Finite Volume discretisation.
messageStream Info
Information stream (stdout output on master, null elsewhere)
void MapSubMesh(const fvMesh &meshSource, const fvMesh &meshTarget, const HashTable< word > &patchMap, const wordList &cuttingPatches, const meshToMesh0::order &mapOrder)
void MapConsistentMesh(const fvMesh &meshSource, const fvMesh &meshTarget, const meshToMesh0::order &mapOrder)