lduCalculatedProcessorField< Type > Class Template Reference

A lduProcessorField type bypassing coupledFvPatchField. More...

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

Public Member Functions

 ClassName ("lduCalculatedProcessorField")
 Runtime type information. More...
 
 lduCalculatedProcessorField (const lduInterface &interface)
 Construct from ldu interface. More...
 
 lduCalculatedProcessorField (const lduCalculatedProcessorField< Type > &)
 Copy construct. More...
 
virtual ~lduCalculatedProcessorField ()=default
 Destructor. More...
 
virtual bool ready () const
 Are all (receive) data available? More...
 
virtual void initInterfaceMatrixUpdate (solveScalarField &result, const bool add, const lduAddressing &lduAddr, const label patchId, const solveScalarField &psiInternal, const scalarField &coeffs, const direction cmpt, const Pstream::commsTypes commsType) const
 Initialise neighbour matrix update. More...
 
virtual void updateInterfaceMatrix (solveScalarField &result, const bool add, const lduAddressing &lduAddr, const label patchId, const solveScalarField &psiInternal, const scalarField &coeffs, const direction cmpt, const Pstream::commsTypes commsType) const
 Update result field based on interface functionality. More...
 
virtual void initInterfaceMatrixUpdate (Field< scalar > &result, const bool add, const lduAddressing &lduAddr, const label patchId, const Field< scalar > &psiInternal, const scalarField &coeffs, const Pstream::commsTypes commsType) const
 Initialise neighbour matrix update. More...
 
virtual void updateInterfaceMatrix (Field< scalar > &result, const bool add, const lduAddressing &lduAddr, const label patchId, const Field< scalar > &psiInternal, const scalarField &coeffs, const Pstream::commsTypes commsType) const
 Update result field based on interface functionality. More...
 
virtual label comm () const
 Return communicator used for communication. More...
 
virtual int myProcNo () const
 Return processor number. More...
 
virtual int neighbProcNo () const
 Return neighbour processor number. More...
 
virtual bool doTransform () const
 Is the transform required. More...
 
virtual const tensorFieldforwardT () const
 Return face transformation tensor. More...
 
virtual int rank () const
 Return rank of component for transform. More...
 
- Public Member Functions inherited from LduInterfaceField< Type >
 TypeName ("LduInterfaceField")
 Runtime type information. More...
 
 LduInterfaceField (const lduInterface &patch)
 Construct given coupled patch. More...
 
virtual ~LduInterfaceField ()=default
 Destructor. More...
 
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. More...
 
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. 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
 Inherit initInterfaceMatrixUpdate from lduInterfaceField. 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
 Inherit updateInterfaceMatrix from lduInterfaceField. More...
 
- Public Member Functions inherited from lduInterfaceField
 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...
 
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...
 
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...
 
- Public Member Functions inherited from processorLduInterfaceField
 TypeName ("processorLduInterfaceField")
 Runtime type information. More...
 
 processorLduInterfaceField ()=default
 Default construct. More...
 
virtual ~processorLduInterfaceField ()=default
 Destructor. More...
 
template<class Type >
void transformCoupleField (Field< Type > &f) const
 Transform given patch field. More...
 
void transformCoupleField (solveScalarField &f, const direction cmpt) const
 Transform given patch component field. More...
 

Protected Member Functions

void addToInternalField (solveScalarField &result, const bool add, const scalarField &coeffs, const solveScalarField &vals) const
 
virtual bool all_ready () const
 Receive and send requests have both completed. More...
 

Protected Attributes

const lduPrimitiveProcessorInterfaceprocInterface_
 Local reference cast into the interface. More...
 
label sendRequest_
 Current (non-blocking) send request. More...
 
label recvRequest_
 Current (non-blocking) recv request. More...
 
Field< Type > sendBuf_
 Send buffer. More...
 
Field< Type > recvBuf_
 Receive buffer. More...
 
solveScalarField scalarSendBuf_
 Scalar send buffer. More...
 
solveScalarField scalarRecvBuf_
 Scalar recv buffer. More...
 

Detailed Description

template<class Type>
class Foam::lduCalculatedProcessorField< Type >

A lduProcessorField type bypassing coupledFvPatchField.

Used to add updateInterfaceMatrix capabilities to a lduMatrix which is fully uncoupled from the fvMesh.

Its functionality is purely to init and update the processor interfaces.

Source files

Definition at line 57 of file lduCalculatedProcessorField.H.

Constructor & Destructor Documentation

◆ lduCalculatedProcessorField() [1/2]

lduCalculatedProcessorField ( const lduInterface interface)
explicit

Construct from ldu interface.

Definition at line 27 of file lduCalculatedProcessorField.C.

◆ lduCalculatedProcessorField() [2/2]

Copy construct.

Definition at line 40 of file lduCalculatedProcessorField.C.

◆ ~lduCalculatedProcessorField()

virtual ~lduCalculatedProcessorField ( )
virtualdefault

Destructor.

Member Function Documentation

◆ addToInternalField()

void addToInternalField ( solveScalarField result,
const bool  add,
const scalarField coeffs,
const solveScalarField vals 
) const
protected

Definition at line 133 of file lduCalculatedProcessorField.C.

References Foam::add(), and forAll.

Here is the call graph for this function:

◆ all_ready()

bool all_ready ( ) const
protectedvirtual

Receive and send requests have both completed.

Definition at line 54 of file lduCalculatedProcessorField.C.

◆ ClassName()

ClassName ( "lduCalculatedProcessorField< Type >"  )

Runtime type information.

◆ ready()

bool ready ( ) const
virtual

Are all (receive) data available?

Reimplemented from lduInterfaceField.

Definition at line 61 of file lduCalculatedProcessorField.C.

◆ initInterfaceMatrixUpdate() [1/2]

void initInterfaceMatrixUpdate ( solveScalarField result,
const bool  add,
const lduAddressing lduAddr,
const label  patchId,
const solveScalarField psiInternal,
const scalarField coeffs,
const direction  cmpt,
const Pstream::commsTypes  commsType 
) const
virtual

Initialise neighbour matrix update.

Reimplemented from lduInterfaceField.

Definition at line 75 of file lduCalculatedProcessorField.C.

References Foam::abort(), Foam::FatalError, FatalErrorInFunction, forAll, lduAddressing::patchAddr(), patchId(), Foam::blockMeshTools::read(), List< T >::resize_nocopy(), UList< T >::size(), and Foam::vtk::write().

Here is the call graph for this function:

◆ updateInterfaceMatrix() [1/2]

void updateInterfaceMatrix ( solveScalarField result,
const bool  add,
const lduAddressing lduAddr,
const label  patchId,
const solveScalarField psiInternal,
const scalarField coeffs,
const direction  cmpt,
const Pstream::commsTypes  commsType 
) const
virtual

Update result field based on interface functionality.

Implements lduInterfaceField.

Definition at line 161 of file lduCalculatedProcessorField.C.

References Foam::add().

Here is the call graph for this function:

◆ initInterfaceMatrixUpdate() [2/2]

virtual void initInterfaceMatrixUpdate ( Field< scalar > &  result,
const bool  add,
const lduAddressing lduAddr,
const label  patchId,
const Field< scalar > &  psiInternal,
const scalarField coeffs,
const Pstream::commsTypes  commsType 
) const
inlinevirtual

Initialise neighbour matrix update.

Definition at line 197 of file lduCalculatedProcessorField.H.

References NotImplemented.

◆ updateInterfaceMatrix() [2/2]

virtual void updateInterfaceMatrix ( Field< scalar > &  result,
const bool  add,
const lduAddressing lduAddr,
const label  patchId,
const Field< scalar > &  psiInternal,
const scalarField coeffs,
const Pstream::commsTypes  commsType 
) const
inlinevirtual

Update result field based on interface functionality.

Definition at line 214 of file lduCalculatedProcessorField.H.

References NotImplemented.

◆ comm()

virtual label comm ( ) const
inlinevirtual

Return communicator used for communication.

Implements processorLduInterfaceField.

Definition at line 233 of file lduCalculatedProcessorField.H.

References lduPrimitiveProcessorInterface::comm(), and lduCalculatedProcessorField< Type >::procInterface_.

Here is the call graph for this function:

◆ myProcNo()

virtual int myProcNo ( ) const
inlinevirtual

Return processor number.

Implements processorLduInterfaceField.

Definition at line 241 of file lduCalculatedProcessorField.H.

References lduPrimitiveProcessorInterface::myProcNo(), and lduCalculatedProcessorField< Type >::procInterface_.

Here is the call graph for this function:

◆ neighbProcNo()

virtual int neighbProcNo ( ) const
inlinevirtual

Return neighbour processor number.

Implements processorLduInterfaceField.

Definition at line 249 of file lduCalculatedProcessorField.H.

References lduPrimitiveProcessorInterface::myProcNo(), and lduCalculatedProcessorField< Type >::procInterface_.

Here is the call graph for this function:

◆ doTransform()

virtual bool doTransform ( ) const
inlinevirtual

Is the transform required.

Implements processorLduInterfaceField.

Definition at line 257 of file lduCalculatedProcessorField.H.

◆ forwardT()

virtual const tensorField& forwardT ( ) const
inlinevirtual

Return face transformation tensor.

Implements processorLduInterfaceField.

Definition at line 265 of file lduCalculatedProcessorField.H.

References lduPrimitiveProcessorInterface::forwardT(), and lduCalculatedProcessorField< Type >::procInterface_.

Here is the call graph for this function:

◆ rank()

virtual int rank ( ) const
inlinevirtual

Return rank of component for transform.

Implements processorLduInterfaceField.

Definition at line 273 of file lduCalculatedProcessorField.H.

Member Data Documentation

◆ procInterface_

◆ sendRequest_

label sendRequest_
mutableprotected

Current (non-blocking) send request.

Definition at line 77 of file lduCalculatedProcessorField.H.

◆ recvRequest_

label recvRequest_
mutableprotected

Current (non-blocking) recv request.

Definition at line 82 of file lduCalculatedProcessorField.H.

◆ sendBuf_

Field<Type> sendBuf_
mutableprotected

Send buffer.

Definition at line 87 of file lduCalculatedProcessorField.H.

◆ recvBuf_

Field<Type> recvBuf_
mutableprotected

Receive buffer.

Definition at line 92 of file lduCalculatedProcessorField.H.

◆ scalarSendBuf_

solveScalarField scalarSendBuf_
mutableprotected

Scalar send buffer.

Definition at line 97 of file lduCalculatedProcessorField.H.

◆ scalarRecvBuf_

solveScalarField scalarRecvBuf_
mutableprotected

Scalar recv buffer.

Definition at line 102 of file lduCalculatedProcessorField.H.


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