39 cyclicPatch_(refCast<const cyclicFvPatch>(p))
52 cyclicPatch_(refCast<const cyclicFvPatch>(p))
54 if (!isA<cyclicFvPatch>(p))
59 ) <<
" patch type '" << p.type()
60 <<
"' not constraint type '" << typeName <<
"'" 61 <<
"\n for patch " << p.name()
62 <<
" of field " << this->internalField().name()
63 <<
" in file " << this->internalField().objectPath()
67 this->evaluate(Pstream::commsTypes::blocking);
82 cyclicPatch_(refCast<const cyclicFvPatch>(p))
84 if (!isA<cyclicFvPatch>(this->patch()))
87 <<
"' not constraint type '" << typeName <<
"'" 88 <<
"\n for patch " << p.name()
89 <<
" of field " << this->internalField().name()
90 <<
" in file " << this->internalField().objectPath()
104 cyclicPatch_(ptf.cyclicPatch_)
117 cyclicPatch_(ptf.cyclicPatch_)
127 const Field<Type>& iField = this->primitiveField();
129 cyclicPatch().cyclicPatch().neighbPatch().faceCells();
141 forwardT()[0], iField[nbrFaceCells[facei]]
149 pnf[facei] = iField[nbrFaceCells[facei]];
164 this->primitiveField()
167 return refCast<const cyclicFvPatchField<Type>>
185 cyclicPatch().cyclicPatch().neighbPatch().faceCells();
190 transformCoupleField(pnf, cmpt);
193 const labelUList& faceCells = cyclicPatch_.faceCells();
197 result[faceCells[elemI]] -= coeffs[elemI]*pnf[elemI];
212 cyclicPatch().cyclicPatch().neighbPatch().faceCells();
217 transformCoupleField(pnf);
220 const labelUList& faceCells = cyclicPatch_.faceCells();
224 result[faceCells[elemI]] -= coeffs[elemI]*pnf[elemI];
#define forAll(list, i)
Loop across all elements in list.
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.
T & ref() const
Return non-const reference or generate a fatal error.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
const cyclicFvPatchField< Type > & neighbourPatchField() const
Return reference to neighbour patchField.
Generic GeometricField class.
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.
Foam::fvPatchFieldMapper.
Abstract base class for coupled patches.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
This boundary condition enforces a cyclic condition between a pair of boundaries. ...
An Ostream is an abstract base class for all output systems (streams, files, token lists...
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
virtual void write(Ostream &os) const
Write.
virtual void updateInterfaceMatrix(scalarField &result, const scalarField &psiInternal, const scalarField &coeffs, const direction cmpt, const Pstream::commsTypes commsType) const
Update result field based on interface functionality.
tmp< Field< Type > > patchNeighbourField() const
Return neighbour coupled internal cell data.
A class for managing temporary objects.
Abstract base class for cyclic coupled interfaces.
dimensionSet transform(const dimensionSet &)
cyclicFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.