39 #ifndef Foam_lduInterfaceField_H 40 #define Foam_lduInterfaceField_H 54 class lduInterfaceField;
69 mutable bool updatedMatrix_;
119 virtual bool ready()
const 127 return updatedMatrix_;
133 bool old(updatedMatrix_);
134 updatedMatrix_ = flag;
148 const label interfacei,
163 const label interfacei,
188 return updatedMatrix_;
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. ...
commsTypes
Communications types.
bool updatedMatrix() const noexcept
Whether matrix has been updated.
virtual const word & interfaceFieldType() const
Return the interface type.
virtual ~lduInterfaceField()=default
Destructor.
const lduInterface & interface() const noexcept
Return the interface.
Smooth ATC in cells next to a set of patches supplied by type.
TypeName("lduInterfaceField")
Runtime type information.
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
Update result field based on interface functionality. Add/subtract coupled contributions to matrix...
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
Forward declarations of the specialisations of Field<T> for scalar, vector and tensor.
A class for handling words, derived from Foam::string.
virtual bool ready() const
Are all (receive) data available?
void addToInternalField(Field< Type > &result, const bool add, const labelUList &faceCells, const scalarField &coeffs, const Field< Type > &vals) const
Add/subtract weighted contributions to internal field.
void add(FieldField< Field1, typename typeOfSum< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
lduInterfaceField(const lduInterfaceField &)=delete
No copy construct.
const std::string patch
OpenFOAM patch number as a std::string.
An abstract base class for implicitly-coupled interfaces e.g. processor and cyclic patches...
void operator=(const lduInterfaceField &)=delete
No copy assignment.
The class contains the addressing required by the lduMatrix: upper, lower and losort.