37 const fvMesh& meshSource,
38 const fvMesh& meshTarget,
43 meshToMesh0 meshToMesh0Interp(meshSource, meshTarget);
46 <<
"Consistently creating and mapping fields for time "
47 << meshSource.time().name() <<
nl <<
endl;
51 IOobjectList
objects(meshSource, meshSource.time().name());
55 MapConsistentVolFields<scalar>
61 MapConsistentVolFields<vector>
67 MapConsistentVolFields<sphericalTensor>
73 MapConsistentVolFields<symmTensor>
79 MapConsistentVolFields<tensor>
89 IOobjectList
objects(meshTarget, meshTarget.time().name());
93 UnMapped<surfaceScalarField>(
objects);
94 UnMapped<surfaceVectorField>(
objects);
95 UnMapped<surfaceSphericalTensorField>(
objects);
96 UnMapped<surfaceSymmTensorField>(
objects);
97 UnMapped<surfaceTensorField>(
objects);
101 UnMapped<pointScalarField>(
objects);
102 UnMapped<pointVectorField>(
objects);
103 UnMapped<pointSphericalTensorField>(
objects);
104 UnMapped<pointSymmTensorField>(
objects);
105 UnMapped<pointTensorField>(
objects);
114 const fvMesh& meshSource,
115 const fvMesh& meshTarget,
116 const HashTable<word>& patchMap,
122 meshToMesh0 meshToMesh0Interp
131 <<
"Mapping fields for time " << meshSource.time().name()
136 IOobjectList
objects(meshSource, meshSource.time().name());
152 MapVolFields<sphericalTensor>
158 MapVolFields<symmTensor>
174 IOobjectList
objects(meshTarget, meshTarget.time().name());
178 UnMapped<surfaceScalarField>(
objects);
179 UnMapped<surfaceVectorField>(
objects);
180 UnMapped<surfaceSphericalTensorField>(
objects);
181 UnMapped<surfaceSymmTensorField>(
objects);
182 UnMapped<surfaceTensorField>(
objects);
186 UnMapped<pointScalarField>(
objects);
187 UnMapped<pointVectorField>(
objects);
188 UnMapped<pointSphericalTensorField>(
objects);
189 UnMapped<pointSymmTensorField>(
objects);
190 UnMapped<pointTensorField>(
objects);
199 const fvMesh& meshSource,
200 const fvMesh& meshTarget,
204 HashTable<word> patchMap;
205 HashTable<label> cuttingPatchTable;
209 if (!isA<processorFvPatch>(meshTarget.boundary()[
patchi]))
213 meshTarget.boundary()[
patchi].name(),
214 meshTarget.boundary()[
patchi].name()
219 cuttingPatchTable.insert
221 meshTarget.poly().boundary()[
patchi].name(),
232 cuttingPatchTable.toc(),
240 const fvMesh& meshTarget,
245 HashTable<label> cuttingPatchTable;
248 cuttingPatchTable.insert(cuttingPatches[i], i);
253 if (isA<processorFvPatch>(meshTarget.boundary()[
patchi]))
257 !cuttingPatchTable.found
259 meshTarget.poly().boundary()[
patchi].name()
263 cuttingPatchTable.insert
265 meshTarget.poly().boundary()[
patchi].name(),
272 return cuttingPatchTable.toc();
#define forAll(list, i)
Loop across all elements in list.
Maps lagrangian positions and fields.
List< word > wordList
A List of words.
Ostream & endl(Ostream &os)
Add newline and flush stream.
void mapSubMesh(const fvMesh &meshSource, const fvMesh &meshTarget, const HashTable< word > &patchMap, const wordList &cuttingPatches, const meshToMesh0::order &mapOrder)
int order(const scalar s)
void mapConsistentMesh(const fvMesh &meshSource, const fvMesh &meshTarget, const meshToMesh0::order &mapOrder)
void mapLagrangian(const meshToMesh0 &meshToMesh0Interp)
Maps lagrangian positions and fields.
wordList addProcessorPatches(const fvMesh &meshTarget, const wordList &cuttingPatches)
void mapConsistentSubMesh(const fvMesh &meshSource, const fvMesh &meshTarget, const meshToMesh0::order &mapOrder)