34 void Foam::fvMeshToFvMesh::evaluateConstraintTypes(VolField<Type>&
fld)
48 fvPatchField<Type>& tgtField = fldBf[
patchi];
52 tgtField.type() == tgtField.patch().patch().type()
72 fvPatchField<Type>& tgtField = fldBf[
patchi];
76 tgtField.type() == tgtField.patch().patch().type()
87 fld.mesh().globalData().patchSchedule();
89 forAll(patchSchedule, patchEvali)
92 fvPatchField<Type>& tgtField = fldBf[
patchi];
96 tgtField.type() == tgtField.patch().patch().type()
100 if (patchSchedule[patchEvali].init)
129 const label srcPatchi = patchIDs()[i].first();
130 const label tgtPatchi = patchIDs()[i].second();
132 if (!tgtPatchFields.
set(tgtPatchi))
154 labelList tgtPatchFieldIsUnMapped(tgtPatchFields.
size(),
false);
155 forAll(tgtPatchFields, tgtPatchi)
157 if (!tgtPatchFields.
set(tgtPatchi))
170 tgtPatchFieldIsUnMapped[tgtPatchi] =
173 tgtMesh.
boundary()[tgtPatchi].patch().type()
187 ttgtFld.
ref().boundaryFieldRef();
192 const label srcPatchi = patchIDs()[i].first();
193 const label tgtPatchi = patchIDs()[i].second();
195 tgtBfld[tgtPatchi].map
200 patchInterpolation(i),
201 tgtPatchStabilisation(i)
209 if (tgtPatchFieldIsUnMapped[
patchi])
217 evaluateConstraintTypes(ttgtFld.
ref());
236 srcToTgt<Type>(srcFld.
v(), leftOverTgtFld.
v())(),
240 ttgtFld.
ref().boundaryFieldRef();
245 const label srcPatchi = patchIDs()[i].first();
246 const label tgtPatchi = patchIDs()[i].second();
248 tgtBfld[tgtPatchi].map
253 tgtBfld[tgtPatchi].map
262 leftOverTgtFld.
mesh().boundaryMesh().patchSet(tgtCuttingPatchNames);
265 tgtBfld[iter.key()] == tgtBfld[iter.key()].patchInternalField();
269 evaluateConstraintTypes(ttgtFld.
ref());
284 typedName(
"interpolate(" + srcFld.name() +
")"),
287 cellsInterpolation().srcToTgt(srcFld)
290 tgtCellsStabilisation().stabilise(ttgtFld.
ref());
306 typedName(
"interpolate(" + srcFld.name() +
")"),
308 leftOverTgtFld.dimensions(),
309 cellsInterpolation().srcToTgt(srcFld, leftOverTgtFld)
#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.
static tmp< GeometricField< Type, PatchField, GeoMesh > > New(const word &name, const Internal &, const PtrList< PatchField< Type >> &)
Return a temporary field constructed from name,.
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.
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...
direct fvPatchFieldMapper
tmp< VolField< Type > > srcToTgt(const VolField< Type > &srcFld) const
Interpolate a source vol field to the target with no left.
Mesh data needed to do the Finite Volume discretisation.
const fvBoundaryMesh & boundary() const
Return reference to boundary mesh.
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.
identity fvPatchFieldMapper
const polyMesh & tgtMesh() const
Return const access to the target mesh.
static bool constraintType(const word &pt)
Return true if the given type is a constraint type.
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)
List< label > labelList
A List of labels.
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.