39#ifndef Foam_LduInterfaceField_H
40#define Foam_LduInterfaceField_H
53template<
class Type>
class LduInterfaceField;
105 const label interfacei,
121 const label interfacei,
Generic templated field type.
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
Types of communications.
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...
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
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
An abstract base class for implicitly-coupled interfaces e.g. processor and cyclic patches.
void add(FieldField< Field1, typename typeOfSum< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &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.