37#ifndef Foam_calculatedProcessorGAMGInterfaceField_H
38#define Foam_calculatedProcessorGAMGInterfaceField_H
53class calculatedProcessorGAMGInterfaceField
55 public GAMGInterfaceField,
73 mutable label sendRequest_;
76 mutable label recvRequest_;
89 calculatedProcessorGAMGInterfaceField
91 const calculatedProcessorGAMGInterfaceField&
95 void operator=(
const calculatedProcessorGAMGInterfaceField&) =
delete;
107 calculatedProcessorGAMGInterfaceField
114 calculatedProcessorGAMGInterfaceField
122 calculatedProcessorGAMGInterfaceField
151 return procInterface_.
size();
187 virtual label
comm()
const
189 return procInterface_.comm();
213 return procInterface_.forwardT();
217 virtual int rank()
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,...
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
Does the interface field perform the transformation.
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 int myProcNo() const
Return processor number.
virtual label comm() const
Processor interface functions.
label size() const
Return size.
TypeName("calculatedProcessor")
Runtime type information.
virtual ~calculatedProcessorGAMGInterfaceField()=default
Destructor.
virtual int neighbProcNo() const
Return neighbour processor number.
virtual const tensorField & forwardT() const
Return face transformation tensor.
GAMG agglomerated processor interface.
virtual int myProcNo() const
Return processor number (rank in communicator).
virtual int neighbProcNo() const
Return neighbour processor number (rank in communicator).
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...
processorLduInterfaceField()=default
Default construct.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
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.