39#ifndef cyclicACMIGAMGInterfaceField_H
40#define cyclicACMIGAMGInterfaceField_H
55class cyclicACMIGAMGInterfaceField
57 public GAMGInterfaceField,
104 cyclicACMIGAMGInterfaceField
106 const cyclicACMIGAMGInterfaceField&
110 void operator=(
const cyclicACMIGAMGInterfaceField&) =
delete;
122 cyclicACMIGAMGInterfaceField
129 cyclicACMIGAMGInterfaceField
137 cyclicACMIGAMGInterfaceField
144 cyclicACMIGAMGInterfaceField
160 new cyclicACMIGAMGInterfaceField
181 return cyclicACMIInterface_.
size();
188 virtual bool ready()
const;
228 return cyclicACMIInterface_.
forwardT();
234 return cyclicACMIInterface_.
reverseT();
238 virtual int rank()
const
247 virtual void write(Ostream&)
const;
Abstract base class for GAMG agglomerated interfaces.
virtual label size() const
Return size.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
commsTypes
Communications types.
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
virtual bool doTransform() const
Cyclic interface functions.
virtual void initInterfaceMatrixUpdate(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
Initialise neighbour matrix update.
virtual int rank() const
Return rank of component for transform.
virtual autoPtr< GAMGInterfaceField > clone(const GAMGInterface &GAMGCp, const UPtrList< lduInterfaceField > &other) const
Construct by assembling and return a clone.
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
Update result field based on interface functionality.
virtual const tensorField & reverseT() const
Return neighbour-cell transformation tensor.
TypeName("cyclicACMI")
Runtime type information.
label size() const
Return size.
virtual ~cyclicACMIGAMGInterfaceField()=default
Destructor.
virtual bool ready() const
Are all (receive) data available?
virtual const tensorField & forwardT() const
Return face transformation tensor.
GAMG agglomerated cyclic ACMI interface.
virtual const tensorField & reverseT() const
Return neighbour-cell transformation tensor.
virtual const tensorField & forwardT() const
Return face transformation tensor.
cyclicACMILduInterfaceField()
Construct null.
A range or interval of labels defined by a start and a size.
The class contains the addressing required by the lduMatrix: upper, lower and losort.
An abstract base class for implicitly-coupled interface fields e.g. processor and cyclic patch fields...
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
void add(DimensionedField< scalar, GeoMesh > &result, const dimensioned< scalar > &dt1, const DimensionedField< scalar, GeoMesh > &f2)
Field< solveScalar > solveScalarField
Field< tensor > tensorField
Specialisation of Field<T> for tensor.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.