26 #include "mapMeshes.H" 29 #include "mapLagrangian.H" 30 #include "MapVolFields.H" 38 const fvMesh& meshSource,
39 const fvMesh& meshTarget,
40 const meshToMesh0::order& mapOrder
44 meshToMesh0 meshToMesh0Interp(meshSource, meshTarget);
47 <<
"Consistently creating and mapping fields for time " 48 << meshSource.time().timeName() <<
nl <<
endl;
52 IOobjectList
objects(meshSource, meshSource.time().timeName());
56 MapConsistentVolFields<scalar>
62 MapConsistentVolFields<vector>
68 MapConsistentVolFields<sphericalTensor>
74 MapConsistentVolFields<symmTensor>
80 MapConsistentVolFields<tensor>
90 IOobjectList
objects(meshTarget, meshTarget.time().timeName());
94 UnMapped<surfaceScalarField>(
objects);
95 UnMapped<surfaceVectorField>(
objects);
96 UnMapped<surfaceSphericalTensorField>(
objects);
97 UnMapped<surfaceSymmTensorField>(
objects);
98 UnMapped<surfaceTensorField>(
objects);
102 UnMapped<pointScalarField>(
objects);
103 UnMapped<pointVectorField>(
objects);
104 UnMapped<pointSphericalTensorField>(
objects);
105 UnMapped<pointSymmTensorField>(
objects);
106 UnMapped<pointTensorField>(
objects);
115 const fvMesh& meshSource,
116 const fvMesh& meshTarget,
117 const HashTable<word>& patchMap,
119 const meshToMesh0::order& mapOrder
123 meshToMesh0 meshToMesh0Interp
132 <<
"Mapping fields for time " << meshSource.time().timeName()
137 IOobjectList
objects(meshSource, meshSource.time().timeName());
153 MapVolFields<sphericalTensor>
159 MapVolFields<symmTensor>
175 IOobjectList
objects(meshTarget, meshTarget.time().timeName());
179 UnMapped<surfaceScalarField>(
objects);
180 UnMapped<surfaceVectorField>(
objects);
181 UnMapped<surfaceSphericalTensorField>(
objects);
182 UnMapped<surfaceSymmTensorField>(
objects);
183 UnMapped<surfaceTensorField>(
objects);
187 UnMapped<pointScalarField>(
objects);
188 UnMapped<pointVectorField>(
objects);
189 UnMapped<pointSphericalTensorField>(
objects);
190 UnMapped<pointSymmTensorField>(
objects);
191 UnMapped<pointTensorField>(
objects);
200 const fvMesh& meshSource,
201 const fvMesh& meshTarget,
202 const meshToMesh0::order& mapOrder
205 HashTable<word> patchMap;
206 HashTable<label> cuttingPatchTable;
210 if (!isA<processorFvPatch>(meshTarget.boundary()[
patchi]))
214 meshTarget.boundary()[
patchi].name(),
215 meshTarget.boundary()[
patchi].name()
220 cuttingPatchTable.insert
222 meshTarget.boundaryMesh()[
patchi].name(),
233 cuttingPatchTable.toc(),
241 const fvMesh& meshTarget,
246 HashTable<label> cuttingPatchTable;
249 cuttingPatchTable.insert(cuttingPatches[i], i);
254 if (isA<processorFvPatch>(meshTarget.boundary()[
patchi]))
258 !cuttingPatchTable.found
260 meshTarget.boundaryMesh()[
patchi].name()
264 cuttingPatchTable.insert
266 meshTarget.boundaryMesh()[
patchi].name(),
273 return cuttingPatchTable.toc();
#define forAll(list, i)
Loop across all elements in list.
wordList addProcessorPatches(const fvMesh &meshTarget, const wordList &cuttingPatches)
void mapSubMesh(const fvMesh &meshSource, const fvMesh &meshTarget, const HashTable< word > &patchMap, const wordList &cuttingPatches, const meshToMesh0::order &mapOrder)
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Ostream & endl(Ostream &os)
Add newline and flush stream.
void mapConsistentMesh(const fvMesh &meshSource, const fvMesh &meshTarget, const meshToMesh0::order &mapOrder)
List< word > wordList
A List of words.
void mapLagrangian(const meshToMesh0 &meshToMesh0Interp)
Maps lagrangian positions and fields.
void mapConsistentSubMesh(const fvMesh &meshSource, const fvMesh &meshTarget, const meshToMesh0::order &mapOrder)