Public Member Functions | List of all members
cyclicACMIFvPatchField< Type > Class Template Reference

This boundary condition enforces a cyclic condition between a pair of boundaries, whereby communication between the patches is performed using an arbitrarily coupled mesh interface (ACMI) interpolation. More...

Inheritance diagram for cyclicACMIFvPatchField< Type >:
Inheritance graph
[legend]
Collaboration diagram for cyclicACMIFvPatchField< Type >:
Collaboration graph
[legend]

Public Member Functions

 TypeName (cyclicACMIFvPatch::typeName_())
 
 cyclicACMIFvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &)
 
 cyclicACMIFvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &, const dictionary &)
 
 cyclicACMIFvPatchField (const cyclicACMIFvPatchField< Type > &, const fvPatch &, const DimensionedField< Type, volMesh > &, const fvPatchFieldMapper &)
 
 cyclicACMIFvPatchField (const cyclicACMIFvPatchField< Type > &)
 
virtual tmp< fvPatchField< Type > > clone () const
 
 cyclicACMIFvPatchField (const cyclicACMIFvPatchField< Type > &, const DimensionedField< Type, volMesh > &)
 
virtual tmp< fvPatchField< Type > > clone (const DimensionedField< Type, volMesh > &iF) const
 
const cyclicACMIFvPatchcyclicACMIPatch () const
 
virtual bool coupled () const
 
virtual bool fixesValue () const
 
virtual tmp< Field< Type > > patchNeighbourField () const
 
const cyclicACMIFvPatchField< Type > & neighbourPatchField () const
 
const fvPatchField< Type > & nonOverlapPatchField () const
 
virtual void updateInterfaceMatrix (solveScalarField &result, const bool add, const lduAddressing &lduAddr, const label patchId, const solveScalarField &psiInternal, const scalarField &coeffs, const direction cmpt, const Pstream::commsTypes commsType) const
 
virtual void updateInterfaceMatrix (Field< Type > &, const bool add, const lduAddressing &lduAddr, const label patchId, const Field< Type > &, const scalarField &, const Pstream::commsTypes commsType) const
 
virtual void manipulateMatrix (fvMatrix< Type > &matrix)
 
virtual void manipulateMatrix (fvMatrix< Type > &m, const label iMatrix, const direction cmpt)
 
virtual void updateCoeffs ()
 
virtual bool doTransform () const
 
virtual const tensorFieldforwardT () const
 
virtual const tensorFieldreverseT () const
 
virtual int rank () const
 
virtual void write (Ostream &os) const
 
- Public Member Functions inherited from cyclicACMILduInterfaceField
 TypeName ("cyclicACMILduInterfaceField")
 
 cyclicACMILduInterfaceField ()
 
virtual ~cyclicACMILduInterfaceField ()
 
template<class Type >
void transformCoupleField (Field< Type > &f) const
 
void transformCoupleField (solveScalarField &psiInternal, const direction cmpt) const
 
- Public Member Functions inherited from cyclicAMILduInterfaceField
 TypeName ("cyclicAMILduInterfaceField")
 
 cyclicAMILduInterfaceField ()
 
virtual ~cyclicAMILduInterfaceField ()
 
template<class Type >
void transformCoupleField (Field< Type > &f) const
 
void transformCoupleField (solveScalarField &psiInternal, const direction cmpt) const
 
- Public Member Functions inherited from coupledFvPatchField< Type >
 TypeName (coupledFvPatch::typeName_())
 
 coupledFvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &)
 
 coupledFvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &, const Field< Type > &)
 
 coupledFvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &, const dictionary &, const bool valueRequired=true)
 
 coupledFvPatchField (const coupledFvPatchField< Type > &, const fvPatch &, const DimensionedField< Type, volMesh > &, const fvPatchFieldMapper &)
 
 coupledFvPatchField (const coupledFvPatchField< Type > &)
 
 coupledFvPatchField (const coupledFvPatchField< Type > &, const DimensionedField< Type, volMesh > &)
 
virtual tmp< Field< Type > > snGrad (const scalarField &deltaCoeffs) const
 
virtual tmp< Field< Type > > snGrad () const
 
virtual void initEvaluate (const Pstream::commsTypes commsType)
 
virtual void evaluate (const Pstream::commsTypes commsType)
 
virtual tmp< Field< Type > > valueInternalCoeffs (const tmp< scalarField > &) const
 
virtual tmp< Field< Type > > valueBoundaryCoeffs (const tmp< scalarField > &) const
 
virtual tmp< Field< Type > > gradientInternalCoeffs (const scalarField &deltaCoeffs) const
 
virtual tmp< Field< Type > > gradientInternalCoeffs () const
 
virtual tmp< Field< Type > > gradientBoundaryCoeffs (const scalarField &deltaCoeffs) const
 
virtual tmp< Field< Type > > gradientBoundaryCoeffs () const
 
- Public Member Functions inherited from LduInterfaceField< Type >
 TypeName ("LduInterfaceField")
 
 LduInterfaceField (const lduInterface &patch)
 
virtual ~LduInterfaceField ()=default
 
virtual void initInterfaceMatrixUpdate (Field< Type > &, const bool add, const lduAddressing &, const label interfacei, const Field< Type > &, const scalarField &, const Pstream::commsTypes commsType) const
 
virtual void initInterfaceMatrixUpdate (solveScalarField &result, const bool add, const lduAddressing &, const label interfacei, const solveScalarField &psiInternal, const scalarField &coeffs, const direction cmpt, const Pstream::commsTypes commsType) const
 
virtual void updateInterfaceMatrix (solveScalarField &result, const bool add, const lduAddressing &, const label interfacei, const solveScalarField &psiInternal, const scalarField &coeffs, const direction cmpt, const Pstream::commsTypes commsType) const=0
 
- Public Member Functions inherited from lduInterfaceField
 TypeName ("lduInterfaceField")
 
 lduInterfaceField (const lduInterface &patch)
 
virtual ~lduInterfaceField ()=default
 
const lduInterfaceinterface () const
 
virtual const wordinterfaceFieldType () const
 
bool updatedMatrix () const
 
boolupdatedMatrix ()
 
virtual bool ready () const
 
virtual void initInterfaceMatrixUpdate (solveScalarField &result, const bool add, const lduAddressing &, const label interfacei, const solveScalarField &psiInternal, const scalarField &coeffs, const direction cmpt, const Pstream::commsTypes commsType) const
 
template<class Type >
void addToInternalField (Field< Type > &result, const bool add, const labelUList &faceCells, const scalarField &coeffs, const Field< Type > &vals) const
 
- Public Member Functions inherited from fvPatchField< Type >
 TypeName ("fvPatchField")
 
 declareRunTimeSelectionTable (tmp, fvPatchField, patch,(const fvPatch &p, const DimensionedField< Type, volMesh > &iF),(p, iF))
 
 declareRunTimeSelectionTable (tmp, fvPatchField, patchMapper,(const fvPatchField< Type > &ptf, const fvPatch &p, const DimensionedField< Type, volMesh > &iF, const fvPatchFieldMapper &m),(dynamic_cast< const fvPatchFieldType & >(ptf), p, iF, m))
 
 declareRunTimeSelectionTable (tmp, fvPatchField, dictionary,(const fvPatch &p, const DimensionedField< Type, volMesh > &iF, const dictionary &dict),(p, iF, dict))
 
 fvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &)
 
 fvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &, const Type &value)
 
 fvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &, const word &patchType)
 
 fvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &, const Field< Type > &)
 
 fvPatchField (const fvPatch &, const DimensionedField< Type, volMesh > &, const dictionary &, const bool valueRequired=true)
 
 fvPatchField (const fvPatchField< Type > &, const fvPatch &, const DimensionedField< Type, volMesh > &, const fvPatchFieldMapper &)
 
 fvPatchField (const fvPatchField< Type > &)
 
 fvPatchField (const fvPatchField< Type > &, const DimensionedField< Type, volMesh > &)
 
virtual tmp< fvPatchField< Type > > clone () const
 
Foam::tmp< Foam::fvPatchField< Type > > NewCalculatedType (const fvPatch &p)
 
Foam::tmp< Foam::fvPatchField< Type > > NewCalculatedType (const fvPatchField< Type2 > &pf)
 
virtual ~fvPatchField ()=default
 
bool useImplicit () const noexcept
 
bool useImplicit (bool on) noexcept
 
virtual bool fixesValue () const
 
virtual bool assignable () const
 
virtual bool coupled () const
 
const objectRegistrydb () const
 
const fvPatchpatch () const
 
const DimensionedField< Type, volMesh > & internalField () const
 
const Field< Type > & primitiveField () const
 
const wordpatchType () const
 
wordpatchType ()
 
bool updated () const
 
bool manipulatedMatrix () const
 
virtual void autoMap (const fvPatchFieldMapper &)
 
virtual void rmap (const fvPatchField< Type > &, const labelList &)
 
virtual tmp< Field< Type > > snGrad () const
 
virtual void updateWeightedCoeffs (const scalarField &weights)
 
virtual tmp< Field< Type > > patchInternalField () const
 
virtual void patchInternalField (Field< Type > &) const
 
virtual tmp< Field< Type > > patchNeighbourField () const
 
virtual tmp< Field< Type > > valueInternalCoeffs (const tmp< Field< scalar >> &) const
 
virtual tmp< Field< Type > > valueBoundaryCoeffs (const tmp< Field< scalar >> &) const
 
virtual tmp< Field< Type > > gradientInternalCoeffs () const
 
virtual tmp< Field< Type > > gradientBoundaryCoeffs () const
 
virtual void manipulateMatrix (fvMatrix< Type > &matrix, const scalarField &weights)
 
void check (const fvPatchField< Type > &) const
 
virtual void operator= (const UList< Type > &)
 
virtual void operator= (const fvPatchField< Type > &)
 
virtual void operator= (const Type &)
 
virtual void operator+= (const fvPatchField< Type > &)
 
virtual void operator+= (const Field< Type > &)
 
virtual void operator+= (const Type &)
 
virtual void operator-= (const fvPatchField< Type > &)
 
virtual void operator-= (const Field< Type > &)
 
virtual void operator-= (const Type &)
 
virtual void operator*= (const fvPatchField< scalar > &)
 
virtual void operator*= (const Field< scalar > &)
 
virtual void operator*= (const scalar)
 
virtual void operator/= (const fvPatchField< scalar > &)
 
virtual void operator/= (const Field< scalar > &)
 
virtual void operator/= (const scalar)
 
virtual void operator== (const fvPatchField< Type > &)
 
virtual void operator== (const Field< Type > &)
 
virtual void operator== (const Type &)
 

Additional Inherited Members

- Public Types inherited from fvPatchField< Type >
typedef fvPatch Patch
 
typedef calculatedFvPatchField< Type > Calculated
 
- Static Public Member Functions inherited from fvPatchField< Type >
static tmp< fvPatchField< Type > > New (const word &, const fvPatch &, const DimensionedField< Type, volMesh > &)
 
static tmp< fvPatchField< Type > > New (const word &, const word &actualPatchType, const fvPatch &, const DimensionedField< Type, volMesh > &)
 
static tmp< fvPatchField< Type > > New (const fvPatchField< Type > &, const fvPatch &, const DimensionedField< Type, volMesh > &, const fvPatchFieldMapper &)
 
static tmp< fvPatchField< Type > > New (const fvPatch &, const DimensionedField< Type, volMesh > &, const dictionary &)
 
static tmp< fvPatchField< Type > > NewCalculatedType (const fvPatch &)
 
static tmp< fvPatchField< Type > > NewCalculatedType (const fvPatchField< Type2 > &)
 
static const wordcalculatedType ()
 
- Static Public Attributes inherited from fvPatchField< Type >
static int disallowGenericFvPatchField
 

Detailed Description

template<class Type>
class Foam::cyclicACMIFvPatchField< Type >

This boundary condition enforces a cyclic condition between a pair of boundaries, whereby communication between the patches is performed using an arbitrarily coupled mesh interface (ACMI) interpolation.

Usage
Example of the boundary condition specification:
<patchName>
{
    type            cyclicACMI;
}
See also
Foam::AMIInterpolation
Source files

Definition at line 67 of file cyclicACMIFvPatchField.H.

Constructor & Destructor Documentation

◆ cyclicACMIFvPatchField() [1/5]

cyclicACMIFvPatchField ( const fvPatch p,
const DimensionedField< Type, volMesh > &  iF 
)

Definition at line 30 of file cyclicACMIFvPatchField.C.

◆ cyclicACMIFvPatchField() [2/5]

cyclicACMIFvPatchField ( const fvPatch p,
const DimensionedField< Type, volMesh > &  iF,
const dictionary dict 
)

Definition at line 43 of file cyclicACMIFvPatchField.C.

References dict, Foam::stringOps::evaluate(), Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, fld, Foam::nl, and p.

Here is the call graph for this function:

◆ cyclicACMIFvPatchField() [3/5]

cyclicACMIFvPatchField ( const cyclicACMIFvPatchField< Type > &  ptf,
const fvPatch p,
const DimensionedField< Type, volMesh > &  iF,
const fvPatchFieldMapper mapper 
)

Definition at line 94 of file cyclicACMIFvPatchField.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, p, and Foam::foamVersion::patch.

Here is the call graph for this function:

◆ cyclicACMIFvPatchField() [4/5]

Definition at line 120 of file cyclicACMIFvPatchField.C.

◆ cyclicACMIFvPatchField() [5/5]

cyclicACMIFvPatchField ( const cyclicACMIFvPatchField< Type > &  ptf,
const DimensionedField< Type, volMesh > &  iF 
)

Definition at line 132 of file cyclicACMIFvPatchField.C.

Member Function Documentation

◆ TypeName()

TypeName ( cyclicACMIFvPatch::typeName_()  )

◆ clone() [1/2]

virtual tmp<fvPatchField<Type> > clone ( ) const
inlinevirtual

Implements coupledFvPatchField< Type >.

Definition at line 133 of file cyclicACMIFvPatchField.H.

◆ clone() [2/2]

virtual tmp<fvPatchField<Type> > clone ( const DimensionedField< Type, volMesh > &  iF) const
inlinevirtual

Implements coupledFvPatchField< Type >.

Definition at line 150 of file cyclicACMIFvPatchField.H.

◆ cyclicACMIPatch()

const cyclicACMIFvPatch& cyclicACMIPatch ( ) const
inline

Definition at line 166 of file cyclicACMIFvPatchField.H.

◆ coupled()

bool coupled
virtual

Reimplemented from coupledFvPatchField< Type >.

Definition at line 146 of file cyclicACMIFvPatchField.C.

◆ fixesValue()

virtual bool fixesValue ( ) const
inlinevirtual

◆ patchNeighbourField()

Foam::tmp< Foam::Field< Type > > patchNeighbourField
virtual

Implements coupledFvPatchField< Type >.

Definition at line 154 of file cyclicACMIFvPatchField.C.

References coupledFvPatch::faceCells(), cyclicACMIFvPatch::neighbPatch(), tmp::ref(), and Foam::transform().

Here is the call graph for this function:

◆ neighbourPatchField()

const Foam::cyclicACMIFvPatchField< Type > & neighbourPatchField

Definition at line 188 of file cyclicACMIFvPatchField.C.

References fld.

◆ nonOverlapPatchField()

const Foam::fvPatchField< Type > & nonOverlapPatchField

Definition at line 205 of file cyclicACMIFvPatchField.C.

References fld.

Referenced by cyclicACMIFvPatchField< Type >::fixesValue().

Here is the caller graph for this function:

◆ updateInterfaceMatrix() [1/2]

void updateInterfaceMatrix ( solveScalarField result,
const bool  add,
const lduAddressing lduAddr,
const label  patchId,
const solveScalarField psiInternal,
const scalarField coeffs,
const direction  cmpt,
const Pstream::commsTypes  commsType 
) const
virtual

Implements coupledFvPatchField< Type >.

Definition at line 220 of file cyclicACMIFvPatchField.C.

References Foam::add(), lduAddressing::patchAddr(), and patchId().

Here is the call graph for this function:

◆ updateInterfaceMatrix() [2/2]

void updateInterfaceMatrix ( Field< Type > &  result,
const bool  add,
const lduAddressing lduAddr,
const label  patchId,
const Field< Type > &  psiInternal,
const scalarField coeffs,
const Pstream::commsTypes  commsType 
) const
virtual

Implements coupledFvPatchField< Type >.

Definition at line 257 of file cyclicACMIFvPatchField.C.

References Foam::add(), lduAddressing::patchAddr(), and patchId().

Here is the call graph for this function:

◆ manipulateMatrix() [1/2]

void manipulateMatrix ( fvMatrix< Type > &  matrix)
virtual

Reimplemented from fvPatchField< Type >.

Definition at line 287 of file cyclicACMIFvPatchField.C.

◆ manipulateMatrix() [2/2]

void manipulateMatrix ( fvMatrix< Type > &  m,
const label  iMatrix,
const direction  cmpt 
)
virtual

◆ updateCoeffs()

void updateCoeffs
virtual

Reimplemented from fvPatchField< Type >.

Definition at line 437 of file cyclicACMIFvPatchField.C.

◆ doTransform()

virtual bool doTransform ( ) const
inlinevirtual

Implements cyclicAMILduInterfaceField.

Definition at line 251 of file cyclicACMIFvPatchField.H.

References cyclicACMIFvPatch::parallel().

Here is the call graph for this function:

◆ forwardT()

virtual const tensorField& forwardT ( ) const
inlinevirtual

Implements cyclicAMILduInterfaceField.

Definition at line 258 of file cyclicACMIFvPatchField.H.

References cyclicACMIFvPatch::forwardT().

Here is the call graph for this function:

◆ reverseT()

virtual const tensorField& reverseT ( ) const
inlinevirtual

Implements cyclicAMILduInterfaceField.

Definition at line 264 of file cyclicACMIFvPatchField.H.

References cyclicACMIFvPatch::reverseT().

Here is the call graph for this function:

◆ rank()

virtual int rank ( ) const
inlinevirtual

Implements cyclicAMILduInterfaceField.

Definition at line 270 of file cyclicACMIFvPatchField.H.

◆ write()

void write ( Ostream os) const
virtual

Reimplemented from coupledFvPatchField< Type >.

Definition at line 452 of file cyclicACMIFvPatchField.C.

References os(), and Foam::vtk::write().

Here is the call graph for this function:

The documentation for this class was generated from the following files: