41 cyclicACMIPatch_(refCast<const cyclicACMIPointPatch>(p)),
56 cyclicACMIPatch_(refCast<const cyclicACMIPointPatch>(p)),
60 if (!isType<cyclicACMIPointPatch>(p))
65 ) <<
"patch " << this->patch().index() <<
" not cyclicACMI type. " 66 <<
"Patch type = " << p.type()
82 cyclicACMIPatch_(refCast<const cyclicACMIPointPatch>(p)),
86 if (!isType<cyclicACMIPointPatch>(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 cyclicACMIPatch_(ptf.cyclicACMIPatch_),
121 if (cyclicACMIPatch_.cyclicACMIPatch().owner())
132 refCast<const GeometricField<Type, pointPatchField, pointMesh>>
134 this->internalField()
138 refCast<const cyclicACMIPointPatchField<Type>>
144 Field<Type> ptFld(this->patchInternalField(pField));
145 Field<Type> nbrPtFld(nbr.patchInternalField(pField));
150 const tensor& forwardT = this->forwardT()[0];
151 const tensor& reverseT = this->reverseT()[0];
161 Field<Type> nbrFcFld(nbrPpi().pointToFaceInterpolate(nbrPtFld));
169 this->addToInternalField
172 ppi().faceToPointInterpolate(nbrFcFld)()
178 Field<Type> fcFld(ppi().pointToFaceInterpolate(ptFld));
183 fcFld = cami.
neighbPatch().cyclicAMIPolyPatch::interpolate(fcFld);
186 nbr.addToInternalField
189 nbrPpi().faceToPointInterpolate(fcFld)()
Cyclic AMI point patch - place holder only.
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.
commsTypes
Types of communications.
const cyclicACMIPointPatch & neighbPatch() const
Return neighbour point patch.
Foam::pointPatchFieldMapper.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Generic GeometricField class.
cyclicACMIPointPatchField(const pointPatch &, const DimensionedField< Type, pointMesh > &)
Construct from patch and internal field.
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))
const Boundary & boundaryField() const
Return const-reference to the boundary field.
Pre-declare SubField and related Field type.
Cyclic patch for Arbitrary Mesh Interface (AMI)
tmp< Field< Type > > interpolate(const Field< Type > &fld, const UList< Type > &defaultValues=UList< Type >()) const
Interpolate field.
#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 ACMI front and back plane patch field.
virtual void swapAddSeparated(const Pstream::commsTypes commsType, Field< Type > &) const
Complete swap of patch point values and add to local values.
virtual label index() const
Return the index of this patch in the pointBoundaryMesh.
virtual const cyclicAMIPolyPatch & neighbPatch() const
Return a reference to the neighbour patch.
dimensionSet transform(const dimensionSet &)