41 cyclicAMIPatch_(refCast<const cyclicAMIPointPatch>(p)),
56 cyclicAMIPatch_(refCast<const cyclicAMIPointPatch>(p)),
60 if (!isA<cyclicAMIPointPatch>(p))
65 ) <<
"patch " << this->patch().index() <<
" not cyclicAMI type. " 66 <<
"Patch type = " << p.type()
82 cyclicAMIPatch_(refCast<const cyclicAMIPointPatch>(p)),
86 if (!isA<cyclicAMIPointPatch>(this->patch()))
89 <<
"Field type does not correspond to patch type for patch " 90 << this->patch().index() <<
"." <<
endl 91 <<
"Field type: " << typeName <<
endl 92 <<
"Patch type: " << this->patch().type()
106 cyclicAMIPatch_(ptf.cyclicAMIPatch_),
117 return cyclicAMIPatch_.coupled();
128 if (cyclicAMIPatch_.cyclicAMIPatch().owner())
139 refCast<const GeometricField<Type, pointPatchField, pointMesh>>
141 this->internalField()
145 refCast<const cyclicAMIPointPatchField<Type>>
151 Field<Type> ptFld(this->patchInternalField(pField));
152 Field<Type> nbrPtFld(nbr.patchInternalField(pField));
161 Field<Type> nbrFcFld(nbrPpi().pointToFaceInterpolate(nbrPtFld));
164 if (cyclicAMIPatch_.cyclicAMIPatch().applyLowWeightCorrection())
166 Field<Type> fcFld(ppi().pointToFaceInterpolate(ptFld));
169 cyclicAMIPatch_.cyclicAMIPatch().interpolate
178 cyclicAMIPatch_.cyclicAMIPatch().interpolate(nbrFcFld);
182 this->addToInternalField
185 ppi().faceToPointInterpolate(nbrFcFld)()
191 Field<Type> fcFld(ppi().pointToFaceInterpolate(ptFld));
194 if (cyclicAMIPatch_.cyclicAMIPatch().applyLowWeightCorrection())
196 Field<Type> nbrFcFld(nbrPpi().pointToFaceInterpolate(nbrPtFld));
199 cyclicAMIPatch_.cyclicAMIPatch().nbrPatch().interpolate
208 cyclicAMIPatch_.cyclicAMIPatch().nbrPatch().interpolate
215 nbr.addToInternalField
218 nbrPpi().faceToPointInterpolate(fcFld)()
errorManipArg< error, int > exit(error &err, const int errNo=1)
A list of keyword definitions, which are a keyword followed by any number of values (e...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
cyclicAMIPointPatchField(const pointPatch &, const DimensionedField< Type, pointMesh > &)
Construct from patch and internal field.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
commsTypes
Types of communications.
const cyclicAMIPointPatch & nbrPatch() const
Return neighbour point patch.
Foam::pointPatchFieldMapper.
Ostream & endl(Ostream &os)
Add newline and flush stream.
virtual bool coupled() const
Return true if coupled. Note that the underlying patch.
virtual label index() const
Return the index of this patch in the pointBoundaryMesh.
virtual void swapAddSeparated(const Pstream::commsTypes commsType, Field< Type > &) const
Complete swap of patch point values and add to local values.
gmvFile<< "tracers "<< particles.size()<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().x()<< ' ';}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().y()<< ' ';}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().z()<< ' ';}gmvFile<< nl;forAll(lagrangianScalarNames, i){ const word &name=lagrangianScalarNames[i];IOField< scalar > fld(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
Cyclic AMI front and back plane patch field.
Pre-declare SubField and related Field type.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
Basic pointPatch represents a set of points from the mesh.
A Coupled boundary condition for pointField.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
friend dimensionSet transform(const dimensionSet &)
Return the argument; transformations do not change the dimensions.
Cyclic AMI point patch - place holder only.
dimensionSet transform(const dimensionSet &)