39#ifndef Foam_LduInterfaceField_H
40#define Foam_LduInterfaceField_H
60class LduInterfaceField
67 LduInterfaceField(
const LduInterfaceField&) =
delete;
70 void operator=(
const LduInterfaceField&) =
delete;
105 const label interfacei,
121 const label interfacei,
Generic templated field type that is much like a Foam::List except that it is expected to hold numeri...
An abstract base class for implicitly-coupled interface fields e.g. processor and cyclic patch fields...
virtual ~LduInterfaceField()=default
Destructor.
LduInterfaceField(const lduInterface &patch)
Construct given coupled patch.
virtual void updateInterfaceMatrix(Field< Type > &, const bool add, const lduAddressing &, const label interfacei, const Field< Type > &, const scalarField &, const Pstream::commsTypes commsType) const =0
Update result field based on interface functionality.
virtual void initInterfaceMatrixUpdate(Field< Type > &, const bool add, const lduAddressing &, const label interfacei, const Field< Type > &, const scalarField &, const Pstream::commsTypes commsType) const
Initialise neighbour matrix update.
TypeName("LduInterfaceField")
Runtime type information.
commsTypes
Communications types.
The class contains the addressing required by the lduMatrix: upper, lower and losort.
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
Update result field based on interface functionality. Add/subtract coupled contributions to matrix.
lduInterfaceField(const lduInterfaceField &)=delete
No copy construct.
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
Initialise neighbour matrix update. Add/subtract coupled contributions to matrix.
An abstract base class for implicitly-coupled interfaces e.g. processor and cyclic patches.
lduMatrix is a general matrix class in which the coefficients are stored as three arrays,...
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
void add(DimensionedField< scalar, GeoMesh > &result, const dimensioned< scalar > &dt1, const DimensionedField< scalar, GeoMesh > &f2)
Forward declarations of the specialisations of Field<T> for scalar, vector and tensor.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.