38 #ifndef cyclicACMIFvPatch_H 39 #define cyclicACMIFvPatch_H 89 TypeName(cyclicACMIPolyPatch::typeName_());
114 return cyclicACMIPolyPatch_;
125 return cyclicACMIPolyPatch_.
owner();
131 return refCast<const cyclicACMIFvPatch>
152 return cyclicACMIPolyPatch_.
AMI();
158 return cyclicACMIPolyPatch_.
parallel();
164 return cyclicACMIPolyPatch_.
forwardT();
170 return cyclicACMIPolyPatch_.
reverseT();
175 return refCast<const cyclicACMIFvPatch>
200 cyclicACMIPolyPatch_.cyclicAMIPolyPatch::interpolate
221 const Field<Type>&
fld,
222 labelRange& sendRequests,
223 PtrList<List<Type>>& sendBuffers,
224 labelRange& recvRequests,
225 PtrList<List<Type>>& recvBuffers
virtual bool updateAreas() const
Update the AMI and patch areas. Return true if anything updated.
Cyclic patch for Arbitrarily Coupled Mesh Interface (ACMI).
const AMIPatchToPatchInterpolation & AMI() const
Return a reference to the AMI interpolator.
virtual label neighbPatchID() const
Neighbour patch ID.
void makeWeights(scalarField &) const
Make patch weighting factors.
commsTypes
Communications types.
virtual bool owner() const
A range or interval of labels defined by a start and a size.
cyclicACMIFvPatch(const polyPatch &patch, const fvBoundaryMesh &bm)
Construct from polyPatch.
virtual label nonOverlapPatchID() const
Return neighbour.
An abstract base class for patches that couple regions of the computational domain e...
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
tmp< Field< Type > > interpolate(const Field< Type > &fld, const UList< Type > &defaultValues=UList< Type >()) const
Interpolate field.
Smooth ATC in cells next to a set of patches supplied by type.
virtual const tensorField & forwardT() const
Return face transformation tensor.
tmp< Field< Type > > interpolate(const Field< Type > &fld) const
Interpolate (make sure to have uptodate areas)
virtual tmp< labelField > internalFieldTransfer(const Pstream::commsTypes commsType, const labelUList &internalData) const
Return neighbour field.
void initInterpolate(const Field< Type > &fld, labelRange &sendRequests, PtrList< List< Type >> &sendBuffers, labelRange &recvRequests, PtrList< List< Type >> &recvBuffers) const
virtual label neighbPatchID() const
Return neighbour.
virtual bool parallel() const
Are the cyclic planes parallel.
Cyclic patch for Arbitrarily Coupled Mesh Interface (ACMI)
void resetPatchAreas(const fvPatch &fvp) const
Helper function to reset the FV patch areas from the primitive patch.
virtual tmp< vectorField > delta() const
Return delta (P to N) vectors across coupled patch.
virtual const cyclicACMIFvPatch & neighbPatch() const
Return neighbour fvPatch.
virtual void movePoints()
Correct patches after moving points.
An abstract base class for cyclic ACMI coupled interfaces.
virtual bool parallel() const
Are the cyclic planes parallel.
void initInterpolate(const Field< Type > &fld, labelRange &sendRequests, PtrList< List< Type >> &sendBuffers, labelRange &recvRequests, PtrList< List< Type >> &recvBuffers) const
const fvBoundaryMesh & boundaryMesh() const noexcept
Return boundaryMesh reference.
virtual bool coupled() const
Return true if this patch is coupled.
virtual const fvPatch & nonOverlapPatch() const
Return non-overlapping fvPatch.
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< ' ';}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< ' ';}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().z()<< ' ';}gmvFile<< nl;for(const word &name :lagrangianScalarNames){ IOField< scalar > fld(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
virtual const tensorField & reverseT() const
Return neighbour-cell transformation tensor.
const cyclicACMIPolyPatch & cyclicACMIPatch() const
Return local reference cast into the cyclic patch.
TypeName(cyclicACMIPolyPatch::typeName_())
Runtime type information.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
virtual const tensorField & forwardT() const
Return face transformation tensor.
virtual bool owner() const
Does this side own the patch?
Interpolation class dealing with transfer of data between two primitive patches with an arbitrary mes...
virtual const AMIPatchToPatchInterpolation & AMI() const
Return a reference to the AMI interpolator.
const cyclicACMIFvPatch & neighbFvPatch() const
A class for managing temporary objects.
A patch is a list of labels that address the faces in the global face list.
virtual const tensorField & reverseT() const
Return neighbour-cell transformation tensor.
const polyPatch & patch() const noexcept
Return the polyPatch.
virtual tmp< labelField > interfaceInternalField(const labelUList &internalData) const
Return the values of the given internal data adjacent to the interface as a field.
virtual label nonOverlapPatchID() const
Non-overlapping patch ID.