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));
157 const tensor& forwardT = this->forwardT()[0];
158 const tensor& reverseT = this->reverseT()[0];
168 Field<Type> nbrFcFld(nbrPpi().pointToFaceInterpolate(nbrPtFld));
171 if (cyclicAMIPatch_.cyclicAMIPatch().applyLowWeightCorrection())
173 Field<Type> fcFld(ppi().pointToFaceInterpolate(ptFld));
176 cyclicAMIPatch_.cyclicAMIPatch().interpolate
185 cyclicAMIPatch_.cyclicAMIPatch().interpolate(nbrFcFld);
189 this->addToInternalField
192 ppi().faceToPointInterpolate(nbrFcFld)()
198 Field<Type> fcFld(ppi().pointToFaceInterpolate(ptFld));
201 if (cyclicAMIPatch_.cyclicAMIPatch().applyLowWeightCorrection())
203 Field<Type> nbrFcFld(nbrPpi().pointToFaceInterpolate(nbrPtFld));
206 cyclicAMIPatch_.cyclicAMIPatch().neighbPatch().interpolate
215 cyclicAMIPatch_.cyclicAMIPatch().neighbPatch().interpolate
222 nbr.addToInternalField
225 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.
Foam::pointPatchFieldMapper.
Ostream & endl(Ostream &os)
Add newline and flush stream.
virtual bool coupled() const
Return true if coupled. Note that the underlying patch.
Generic GeometricField class.
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.
const cyclicAMIPointPatch & neighbPatch() const
Return neighbour point patch.
#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...
Cyclic AMI point patch - place holder only.
dimensionSet transform(const dimensionSet &)