Loading...
Searching...
No Matches
LduInterfaceField< Type > Class Template Referenceabstract

An abstract base class for implicitly-coupled interface fields e.g. processor and cyclic patch fields. More...

#include <LduInterfaceField.H>

Inheritance diagram for LduInterfaceField< Type >:
Collaboration diagram for LduInterfaceField< Type >:

Public Member Functions

 TypeName ("LduInterfaceField")
 Runtime type information.
 LduInterfaceField (const lduInterface &patch)
 Construct given coupled patch.
virtual ~LduInterfaceField ()=default
 Destructor.
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.
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 (solveScalarField &result, const bool add, const lduAddressing &, const label interfacei, const solveScalarField &psiInternal, const scalarField &coeffs, const direction cmpt, const Pstream::commsTypes commsType) const
 Inherit initInterfaceMatrixUpdate from lduInterfaceField.
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
 Inherit updateInterfaceMatrix from lduInterfaceField.
Public Member Functions inherited from lduInterfaceField
 TypeName ("lduInterfaceField")
 Runtime type information.
 lduInterfaceField (const lduInterfaceField &)=delete
 No copy construct.
void operator= (const lduInterfaceField &)=delete
 No copy assignment.
 lduInterfaceField (const lduInterface &patch)
 Construct given coupled patch.
virtual ~lduInterfaceField ()=default
 Destructor.
const lduInterfaceinterface () const noexcept
 Return the interface.
virtual const wordinterfaceFieldType () const
 Return the interface type.
virtual bool ready () const
 Are all (receive) data available?
bool updatedMatrix () const noexcept
 Whether matrix has been updated.
bool updatedMatrix (bool flag) const noexcept
 Set matrix as update-to-date, return the previous value.
template<class Type>
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.
bool & updatedMatrix () noexcept
 Adjust whether matrix has been updated.

Detailed Description

template<class Type>
class Foam::LduInterfaceField< Type >

An abstract base class for implicitly-coupled interface fields e.g. processor and cyclic patch fields.

Source files

Definition at line 55 of file LduInterfaceField.H.

Constructor & Destructor Documentation

◆ LduInterfaceField()

template<class Type>
LduInterfaceField ( const lduInterface & patch)
inline

Construct given coupled patch.

Definition at line 85 of file LduInterfaceField.H.

References lduInterfaceField::lduInterfaceField().

Here is the call graph for this function:

◆ ~LduInterfaceField()

template<class Type>
virtual ~LduInterfaceField ( )
virtualdefault

Destructor.

References lduInterfaceField::initInterfaceMatrixUpdate().

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

template<class Type>
TypeName ( "LduInterfaceField< Type >" )

Runtime type information.

◆ initInterfaceMatrixUpdate() [1/2]

template<class Type>
virtual void initInterfaceMatrixUpdate ( Field< Type > & ,
const bool add,
const lduAddressing & ,
const label interfacei,
const Field< Type > & ,
const scalarField & ,
const Pstream::commsTypes commsType ) const
inlinevirtual

Initialise neighbour matrix update.

Reimplemented in calculatedProcessorFvPatchField< Type >, cyclicACMIFvPatchField< Type >, cyclicAMIFvPatchField< Type >, jumpCyclicAMIFvPatchField< Type >, oversetFvPatchField< Type >, and processorFvPatchField< Type >.

Definition at line 109 of file LduInterfaceField.H.

References Foam::add().

Here is the call graph for this function:

◆ updateInterfaceMatrix() [1/2]

template<class Type>
virtual void updateInterfaceMatrix ( Field< Type > & ,
const bool add,
const lduAddressing & ,
const label interfacei,
const Field< Type > & ,
const scalarField & ,
const Pstream::commsTypes commsType ) const
pure virtual

◆ initInterfaceMatrixUpdate() [2/2]

template<class Type>
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
inlinevirtual

Inherit initInterfaceMatrixUpdate from lduInterfaceField.

Reimplemented from lduInterfaceField.

Reimplemented in oversetFvPatchField< Type >, and processorFvPatchField< Type >.

Definition at line 164 of file lduInterfaceField.H.

◆ updateInterfaceMatrix() [2/2]

template<class Type>
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
virtual

Inherit updateInterfaceMatrix from lduInterfaceField.

Implements lduInterfaceField.

Reimplemented in oversetFvPatchField< Type >, and processorFvPatchField< Type >.


The documentation for this class was generated from the following file: