Go to the documentation of this file.
37 cyclicAMIPatch_(refCast<const cyclicAMIFvPatch>(
p))
52 cyclicAMIPatch_(refCast<const cyclicAMIFvPatch>(
p))
54 if (!isA<cyclicAMIFvPatch>(this->patch()))
57 <<
"' not constraint type '" << typeName <<
"'"
58 <<
"\n for patch " <<
p.name()
76 cyclicAMIPatch_(refCast<const cyclicAMIFvPatch>(
p))
78 if (!isA<cyclicAMIFvPatch>(
p))
83 ) <<
" patch type '" <<
p.type()
84 <<
"' not constraint type '" << typeName <<
"'"
85 <<
"\n for patch " <<
p.name()
91 if (!dict.
found(
"value") && this->coupled())
93 this->evaluate(Pstream::blocking);
128 return cyclicAMIPatch_.coupled();
138 cyclicAMIPatch_.cyclicAMIPatch().neighbPatch().faceCells();
143 if (cyclicAMIPatch_.applyLowWeightCorrection())
145 tpnf = cyclicAMIPatch_.interpolate(pnf, this->patchInternalField()());
149 tpnf = cyclicAMIPatch_.interpolate(pnf);
171 return refCast<const cyclicAMIFvPatchField<Type> >
173 fld.boundaryField()[cyclicAMIPatch_.neighbPatchID()]
189 cyclicAMIPatch_.cyclicAMIPatch().neighbPatch().faceCells();
194 transformCoupleField(pnf, cmpt);
196 if (cyclicAMIPatch_.applyLowWeightCorrection())
198 scalarField pif(psiInternal, cyclicAMIPatch_.faceCells());
199 pnf = cyclicAMIPatch_.interpolate(pnf, pif);
203 pnf = cyclicAMIPatch_.interpolate(pnf);
207 const labelUList& faceCells = cyclicAMIPatch_.faceCells();
211 result[faceCells[elemI]] -= coeffs[elemI]*pnf[elemI];
226 cyclicAMIPatch_.cyclicAMIPatch().neighbPatch().faceCells();
231 transformCoupleField(pnf);
233 if (cyclicAMIPatch_.applyLowWeightCorrection())
235 Field<Type> pif(psiInternal, cyclicAMIPatch_.faceCells());
236 pnf = cyclicAMIPatch_.interpolate(pnf, pif);
240 pnf = cyclicAMIPatch_.interpolate(pnf);
244 const labelUList& faceCells = cyclicAMIPatch_.faceCells();
248 result[faceCells[elemI]] -= coeffs[elemI]*pnf[elemI];
257 this->writeEntry(
"value", os);
#define forAll(list, i)
Loop across all elements in list.
A class for managing temporary objects.
Abstract base class for cyclic AMI coupled interfaces.
rDeltaT dimensionedInternalField()
const cyclicAMIFvPatch & cyclicAMIPatch_
Local reference cast into the cyclic patch.
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.
virtual void write(Ostream &os) const
Write.
dimensionSet transform(const dimensionSet &)
This boundary condition enforces a cyclic condition between a pair of boundaries, whereby communicati...
bool found(const word &, bool recursive=false, bool patternMatch=true) const
Search dictionary for given keyword.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
A list of keyword definitions, which are a keyword followed by any number of values (e....
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))
errorManipArg< error, int > exit(error &err, const int errNo=1)
conserve internalField()+
cyclicAMIFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
commsTypes
Types of communications.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
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...
virtual bool coupled() const
Return true if coupled. Note that the underlying patch.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
Foam::fvPatchFieldMapper.
virtual tmp< Field< Type > > patchNeighbourField() const
Return neighbour coupled internal cell data.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Generic GeometricField class.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const cyclicAMIFvPatchField< Type > & neighbourPatchField() const
Return reference to neighbour patchField.