44 if (cyclicACMIPolyPatch_.updated())
48 Pout<<
"cyclicACMIFvPatch::updateAreas() : updating fv areas for " 49 <<
name() <<
" and " << this->nonOverlapPatch().name()
54 const_cast<vectorField&
>(Sf()) = patch().faceAreas();
58 const fvPatch& nonOverlapPatch = this->nonOverlapPatch();
79 cyclicACMIPolyPatch_.setUpdated(
false);
97 nbrPatch.
nf() & nbrPatch.coupledFvPatch::delta()
106 scalar di = deltas[facei];
107 scalar dni = nbrDeltas[facei];
118 w[facei] = dni/(di + dni);
157 const vector& ddi = patchD[facei];
158 const vector& dni = nbrPatchD[facei];
160 pdv[facei] = ddi - dni;
167 const vector& ddi = patchD[facei];
168 const vector& dni = nbrPatchD[facei];
170 pdv[facei] = ddi -
transform(forwardT()[0], dni);
188 return patchInternalField(internalData);
198 return neighbFvPatch().patchInternalField(iF);
#define forAll(list, i)
Loop across all elements in list.
void makeWeights(scalarField &) const
Make patch weighting factors.
const scalarField & magSf() const
Return face area magnitudes.
commsTypes
Types of communications.
void updateAreas() const
Update the patch areas after AMI update.
bool interpolate(const vector &p1, const vector &p2, const vector &o, vector &n, scalar l)
T & ref() const
Return non-const reference or generate a fatal error.
tmp< vectorField > nf() const
Return face normals.
void size(const label)
Override size to be inconsistent with allocated storage.
Ostream & endl(Ostream &os)
Add newline and flush stream.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Macros for easy insertion into run-time selection tables.
virtual tmp< labelField > internalFieldTransfer(const Pstream::commsTypes commsType, const labelUList &internalData) const
Return neighbour field.
Cyclic patch for Arbitrarily Coupled Mesh Interface (ACMI)
virtual tmp< vectorField > delta() const
Return delta (P to N) vectors across coupled patch.
const polyPatch & patch() const
Return the polyPatch.
virtual void makeWeights(scalarField &) const
Make patch weighting factors.
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 this patch is coupled. This is equivalent.
const vectorField::subField faceAreas() const
Return face normals.
addToRunTimeSelectionTable(ensightPart, ensightPartCells, istream)
defineTypeNameAndDebug(combustionModel, 0)
virtual const fvPatch & nonOverlapPatch() const
Return non-overlapping fvPatch.
const vectorField & Sf() const
Return face area vectors.
word name(const complex &)
Return a string representation of a complex.
static bool & parRun()
Is this a parallel run?
prefixOSstream Pout(cout, "Pout")
virtual tmp< vectorField > delta() const =0
Return delta (P to N) vectors across coupled patch.
dimensioned< scalar > mag(const dimensioned< Type > &)
Field< vector > vectorField
Specialisation of Field<T> for vector.
A class for managing temporary objects.
virtual tmp< labelField > interfaceInternalField(const labelUList &internalData) const
Return the values of the given internal data adjacent to.
static scalar tolerance()
Overlap tolerance.
dimensionSet transform(const dimensionSet &)