35 void Foam::fvMeshToFvMesh::evaluateConstraintTypes(VolField<Type>&
fld)
49 fvPatchField<Type>& tgtField = fldBf[
patchi];
53 tgtField.type() == tgtField.patch().patch().type()
73 fvPatchField<Type>& tgtField = fldBf[
patchi];
77 tgtField.type() == tgtField.patch().patch().type()
88 fld.mesh().globalData().patchSchedule();
90 forAll(patchSchedule, patchEvali)
93 fvPatchField<Type>& tgtField = fldBf[
patchi];
97 tgtField.type() == tgtField.patch().patch().type()
101 if (patchSchedule[patchEvali].init)
128 const label srcPatchi = patchIndices()[i].first();
129 const label tgtPatchi = patchIndices()[i].second();
131 if (!tgtPatchFields.
set(tgtPatchi))
139 tgtMesh_.boundary()[tgtPatchi],
150 labelList tgtPatchFieldIsUnMapped(tgtPatchFields.
size(),
false);
151 forAll(tgtPatchFields, tgtPatchi)
153 if (!tgtPatchFields.
set(tgtPatchi))
161 tgtMesh_.boundary()[tgtPatchi],
166 tgtPatchFieldIsUnMapped[tgtPatchi] =
169 tgtMesh_.boundary()[tgtPatchi].patch().type()
183 ttgtFld.
ref().boundaryFieldRef();
188 const label srcPatchi = patchIndices()[i].first();
189 const label tgtPatchi = patchIndices()[i].second();
191 tgtBfld[tgtPatchi].map
196 patchInterpolation(i),
197 tgtPatchStabilisation(i)
205 if (tgtPatchFieldIsUnMapped[
patchi])
213 evaluateConstraintTypes(ttgtFld.
ref());
232 srcToTgt<Type>(srcFld.
v(), leftOverTgtFld.
v())(),
236 ttgtFld.
ref().boundaryFieldRef();
241 const label srcPatchi = patchIndices()[i].first();
242 const label tgtPatchi = patchIndices()[i].second();
244 tgtBfld[tgtPatchi].map
249 tgtBfld[tgtPatchi].map
258 leftOverTgtFld.
mesh().boundaryMesh().patchSet(tgtCuttingPatchNames);
261 tgtBfld[iter.key()] == tgtBfld[iter.key()].patchInternalField();
265 evaluateConstraintTypes(ttgtFld.
ref());
280 typedName(
"interpolate(" + srcFld.name() +
")"),
283 cellsInterpolation().srcToTgt(srcFld)
286 tgtCellsStabilisation().stabilise(ttgtFld.
ref());
302 typedName(
"interpolate(" + srcFld.name() +
")"),
304 leftOverTgtFld.dimensions(),
305 cellsInterpolation().srcToTgt(srcFld, leftOverTgtFld)
321 const label srcPatchi = patchIndices()[i].first();
322 const label tgtPatchi = patchIndices()[i].second();
324 if (!tgtPatchFields.
set(tgtPatchi))
332 tgtMesh_.boundary()[tgtPatchi],
336 patchInterpolation(i),
337 tgtPatchStabilisation(i)
345 forAll(tgtPatchFields, tgtPatchi)
347 if (!tgtPatchFields.
set(tgtPatchi))
355 tgtMesh_.boundary()[tgtPatchi],
#define forAll(list, i)
Loop across all elements in list.
#define forAllConstIter(Container, container, iter)
Iterate across all elements in the container object of type.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const Mesh & mesh() const
Return mesh.
Generic GeometricBoundaryField class.
Generic GeometricField class.
GeometricBoundaryField< Type, PatchField, GeoMesh > Boundary
Type of the boundary field.
const Internal & v() const
Return a const-reference to the dimensioned internal field.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
const Internal & internalField() const
Return a const-reference to the dimensioned internal field.
static tmp< GeometricField< Type, PatchField, GeoMesh > > New(const word &name, const Internal &, const PtrList< PatchField< Type >> &, const HashPtrTable< Source > &=HashPtrTable< Source >())
Return a temporary field constructed from name,.
const word & name() const
Return name.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
bool set(const label) const
Is element set.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
static label nRequests()
Get number of outstanding requests.
static void waitRequests(const label start=0)
Wait until all requests (from start onwards) have finished.
static bool & parRun()
Is this a parallel run?
static commsTypes defaultCommsType
Default commsType.
label size() const
Return the number of elements in the UPtrList.
This boundary condition is not designed to be evaluated; it is assumed that the value is assigned via...
tmp< VolField< Type > > srcToTgt(const VolField< Type > &srcFld) const
Interpolate a source vol field to the target with no left.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
virtual tmp< Field< Type > > patchInternalField() const
Return internal field next to patch as patch field.
An abstract base class with a fat-interface to all derived classes covering all possible ways in whic...
Patch-to-patch fieldMapper which retains values in the target field for parts of the patch that do no...
Patch-to-patch fieldMapper which fills values for non-overlapping parts of the target patch by normal...
static bool constraintType(const word &pt)
Return true if the given type is a constraint type.
Mapper which sets the field size. It does not actually map values.
A class for managing temporary objects.
T & ref() const
Return non-const reference or generate a fatal error.
gmvFile<< "tracers "<< particles.size()<< nl;{ pointField positions(particles.size());label particlei=0;forAllConstIter(Cloud< passiveParticle >, particles, iter) { positions[particlei++]=iter().position(mesh);} for(i=0;i< pTraits< point >::nComponents;i++) { forAll(positions, particlei) { gmvFile<< component(positions[particlei], i)<< ' ';} gmvFile<< nl;}}forAll(lagrangianScalarNames, i){ const word &name=lagrangianScalarNames[i];IOField< scalar > fld(IOobject(name, runTime.name(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
autoPtr< CompressibleMomentumTransportModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const viscosity &viscosity)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
List< lduScheduleEntry > lduSchedule
typename VolField< Type >::Internal VolInternalField
word typedName(Name name)
Return the name of the object within the given type.