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.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
commsTypes
Types of communications.
Foam::pointPatchFieldMapper.
virtual void swapAddSeparated(const Pstream::commsTypes commsType, Field< Type > &) const
Complete swap of patch point values and add to local values.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Generic GeometricField class.
tmp< Field< Type > > interpolate(const Field< Type > &fld, const UList< Type > &defaultValues=UList< Type >()) const
Interpolate field.
cyclicACMIPointPatchField(const pointPatch &, const DimensionedField< Type, pointMesh > &)
Construct from patch and internal field.
virtual label index() const
Return the index of this patch in the pointBoundaryMesh.
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))
Pre-declare SubField and related Field type.
Cyclic patch for Arbitrary Mesh Interface (AMI)
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
Basic pointPatch represents a set of points from the mesh.
virtual const cyclicAMIPolyPatch & neighbPatch() const
Return a reference to the neighbour patch.
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.
const cyclicACMIPointPatch & neighbPatch() const
Return neighbour point patch.
dimensionSet transform(const dimensionSet &)