lduInterfaceField Class Referenceabstract

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

Inheritance diagram for lduInterfaceField:

Public Member Functions

 TypeName ("lduInterfaceField")
 Runtime type information. More...
 
 lduInterfaceField (const lduInterfaceField &)=delete
 No copy construct. More...
 
void operator= (const lduInterfaceField &)=delete
 No copy assignment. More...
 
 lduInterfaceField (const lduInterface &patch)
 Construct given coupled patch. More...
 
virtual ~lduInterfaceField ()=default
 Destructor. More...
 
const lduInterfaceinterface () const noexcept
 Return the interface. More...
 
virtual const wordinterfaceFieldType () const
 Return the interface type. More...
 
virtual bool ready () const
 Are all (receive) data available? More...
 
bool updatedMatrix () const noexcept
 Whether matrix has been updated. More...
 
bool updatedMatrix (bool flag) const noexcept
 Set matrix as update-to-date, return the previous value. More...
 
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. More...
 
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. More...
 
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. More...
 
bool & updatedMatrix () noexcept
 Adjust whether matrix has been updated. More...
 

Detailed Description

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() [1/2]

lduInterfaceField ( const lduInterfaceField )
delete

No copy construct.

◆ lduInterfaceField() [2/2]

lduInterfaceField ( const lduInterface patch)
inlineexplicit

Construct given coupled patch.

Definition at line 97 of file lduInterfaceField.H.

◆ ~lduInterfaceField()

virtual ~lduInterfaceField ( )
virtualdefault

Destructor.

Member Function Documentation

◆ TypeName()

TypeName ( "lduInterfaceField"  )

Runtime type information.

◆ operator=()

void operator= ( const lduInterfaceField )
delete

No copy assignment.

◆ interface()

const lduInterface& interface ( ) const
inlinenoexcept

Return the interface.

Definition at line 115 of file lduInterfaceField.H.

◆ interfaceFieldType()

virtual const word& interfaceFieldType ( ) const
inlinevirtual

Return the interface type.

Reimplemented in jumpCyclicAMIFvPatchField< Type >, jumpCyclicAMIFvPatchField< scalar >, jumpCyclicFvPatchField< Type >, jumpCyclicFvPatchField< scalar >, and jumpCyclicFvPatchField< vector >.

Definition at line 123 of file lduInterfaceField.H.

References Foam::type().

Referenced by GAMGInterfaceField::New().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ready()

◆ updatedMatrix() [1/3]

bool updatedMatrix ( ) const
inlinenoexcept

Whether matrix has been updated.

Definition at line 142 of file lduInterfaceField.H.

◆ updatedMatrix() [2/3]

bool updatedMatrix ( bool  flag) const
inlinenoexcept

Set matrix as update-to-date, return the previous value.

Definition at line 150 of file lduInterfaceField.H.

◆ initInterfaceMatrixUpdate()

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

◆ updateInterfaceMatrix()

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
pure virtual

Update result field based on interface functionality. Add/subtract coupled contributions to matrix.

Implemented in cyclicAMIFvPatchField< Type >, cyclicAMIFvPatchField< scalar >, cyclicACMIFvPatchField< Type >, oversetFvPatchField< Type >, coupledFvPatchField< Type >, coupledFvPatchField< scalar >, coupledFvPatchField< vector >, processorFvPatchField< Type >, processorFaPatchField< Type >, coupledFaPatchField< Type >, calculatedProcessorFvPatchField< Type >, cyclicACMIGAMGInterfaceField, cyclicAMIGAMGInterfaceField, cyclicGAMGInterfaceField, processorGAMGInterfaceField, cyclicFvPatchField< Type >, cyclicFvPatchField< scalar >, cyclicFvPatchField< vector >, calculatedProcessorGAMGInterfaceField, jumpCyclicFvPatchField< Type >, jumpCyclicFvPatchField< scalar >, jumpCyclicFvPatchField< vector >, cyclicFaPatchField< Type >, jumpCyclicAMIFvPatchField< Type >, jumpCyclicAMIFvPatchField< scalar >, lduCalculatedProcessorField< Type >, jumpCyclicFvPatchField< Type >, jumpCyclicFvPatchField< scalar >, jumpCyclicFvPatchField< vector >, jumpCyclicAMIFvPatchField< Type >, jumpCyclicAMIFvPatchField< scalar >, jumpCyclicFvPatchField< Type >, jumpCyclicFvPatchField< scalar >, jumpCyclicFvPatchField< vector >, oversetGAMGInterfaceField, jumpCyclicFvPatchField< Type >, jumpCyclicFvPatchField< scalar >, jumpCyclicFvPatchField< vector >, jumpCyclicAMIFvPatchField< Type >, jumpCyclicAMIFvPatchField< scalar >, jumpCyclicFvPatchField< Type >, jumpCyclicFvPatchField< scalar >, and jumpCyclicFvPatchField< vector >.

Referenced by lduMatrix::updateMatrixInterfaces().

Here is the caller graph for this function:

◆ addToInternalField()

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.

Definition at line 25 of file lduInterfaceFieldTemplates.C.

References Foam::add(), and forAll.

Here is the call graph for this function:

◆ updatedMatrix() [3/3]

bool& updatedMatrix ( )
inlinenoexcept

Adjust whether matrix has been updated.

Deprecated:
Prefer the updatedMatrix(bool) setter (JAN-2023)

Definition at line 214 of file lduInterfaceField.H.


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