NeoN
WIP Prototype of a modern OpenFOAM core
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
NeoN::finiteVolume::cellCentred::DivOperator< ValueType > Class Template Reference

#include <divOperator.hpp>

Inheritance diagram for NeoN::finiteVolume::cellCentred::DivOperator< ValueType >:
NeoN::dsl::OperatorMixin< VolumeField< ValueType > >

Public Types

using VectorValueType = ValueType
 

Public Member Functions

 DivOperator (const DivOperator &divOp)
 
 DivOperator (dsl::Operator::Type termType, const SurfaceField< scalar > &faceFlux, VolumeField< ValueType > &phi, Input input)
 
 DivOperator (dsl::Operator::Type termType, const SurfaceField< scalar > &faceFlux, VolumeField< ValueType > &phi, std::unique_ptr< DivOperatorFactory< ValueType > > divOperatorStrategy)
 
 DivOperator (dsl::Operator::Type termType, const SurfaceField< scalar > &faceFlux, VolumeField< ValueType > &phi)
 
void explicitOperation (Vector< scalar > &source) const
 
la::LinearSystem< ValueType, localIdxcreateEmptyLinearSystem () const
 
void implicitOperation (la::LinearSystem< ValueType, localIdx > &ls)
 
void div (Vector< ValueType > &divPhi) const
 
void div (la::LinearSystem< ValueType, localIdx > &ls) const
 
void div (VolumeField< ValueType > &divPhi) const
 
void build (const Input &input)
 
std::string getName () const
 
- Public Member Functions inherited from NeoN::dsl::OperatorMixin< VolumeField< ValueType > >
 OperatorMixin (const Executor exec, const Coeff &coeffs, VolumeField< ValueType > &field, Operator::Type type)
 
Operator::Type getType () const
 
virtual ~OperatorMixin ()=default
 
virtual const Executorexec () const final
 
CoeffgetCoefficient ()
 
const CoeffgetCoefficient () const
 
VolumeField< ValueType > & getVector ()
 
const VolumeField< ValueType > & getVector () const
 
void build (const Input &input)
 

Additional Inherited Members

- Protected Attributes inherited from NeoN::dsl::OperatorMixin< VolumeField< ValueType > >
const Executor exec_
 Executor associated with the field. (CPU, GPU, openMP, etc.)
 
Coeff coeffs_
 
VolumeField< ValueType > & field_
 
Operator::Type type_
 

Detailed Description

template<typename ValueType>
class NeoN::finiteVolume::cellCentred::DivOperator< ValueType >

Definition at line 83 of file divOperator.hpp.

Member Typedef Documentation

◆ VectorValueType

template<typename ValueType >
using NeoN::finiteVolume::cellCentred::DivOperator< ValueType >::VectorValueType = ValueType

Definition at line 88 of file divOperator.hpp.

Constructor & Destructor Documentation

◆ DivOperator() [1/4]

template<typename ValueType >
NeoN::finiteVolume::cellCentred::DivOperator< ValueType >::DivOperator ( const DivOperator< ValueType > &  divOp)
inline

Definition at line 91 of file divOperator.hpp.

◆ DivOperator() [2/4]

template<typename ValueType >
NeoN::finiteVolume::cellCentred::DivOperator< ValueType >::DivOperator ( dsl::Operator::Type  termType,
const SurfaceField< scalar > &  faceFlux,
VolumeField< ValueType > &  phi,
Input  input 
)
inline

Definition at line 100 of file divOperator.hpp.

◆ DivOperator() [3/4]

template<typename ValueType >
NeoN::finiteVolume::cellCentred::DivOperator< ValueType >::DivOperator ( dsl::Operator::Type  termType,
const SurfaceField< scalar > &  faceFlux,
VolumeField< ValueType > &  phi,
std::unique_ptr< DivOperatorFactory< ValueType > >  divOperatorStrategy 
)
inline

Definition at line 111 of file divOperator.hpp.

◆ DivOperator() [4/4]

template<typename ValueType >
NeoN::finiteVolume::cellCentred::DivOperator< ValueType >::DivOperator ( dsl::Operator::Type  termType,
const SurfaceField< scalar > &  faceFlux,
VolumeField< ValueType > &  phi 
)
inline

Definition at line 120 of file divOperator.hpp.

Member Function Documentation

◆ build()

template<typename ValueType >
void NeoN::finiteVolume::cellCentred::DivOperator< ValueType >::build ( const Input input)
inline

Definition at line 169 of file divOperator.hpp.

◆ createEmptyLinearSystem()

template<typename ValueType >
la::LinearSystem< ValueType, localIdx > NeoN::finiteVolume::cellCentred::DivOperator< ValueType >::createEmptyLinearSystem ( ) const
inline

Definition at line 138 of file divOperator.hpp.

◆ div() [1/3]

template<typename ValueType >
void NeoN::finiteVolume::cellCentred::DivOperator< ValueType >::div ( la::LinearSystem< ValueType, localIdx > &  ls) const
inline

Definition at line 157 of file divOperator.hpp.

◆ div() [2/3]

template<typename ValueType >
void NeoN::finiteVolume::cellCentred::DivOperator< ValueType >::div ( Vector< ValueType > &  divPhi) const
inline

Definition at line 151 of file divOperator.hpp.

◆ div() [3/3]

template<typename ValueType >
void NeoN::finiteVolume::cellCentred::DivOperator< ValueType >::div ( VolumeField< ValueType > &  divPhi) const
inline

Definition at line 163 of file divOperator.hpp.

◆ explicitOperation()

template<typename ValueType >
void NeoN::finiteVolume::cellCentred::DivOperator< ValueType >::explicitOperation ( Vector< scalar > &  source) const
inline

Definition at line 129 of file divOperator.hpp.

◆ getName()

template<typename ValueType >
std::string NeoN::finiteVolume::cellCentred::DivOperator< ValueType >::getName ( ) const
inline

Definition at line 188 of file divOperator.hpp.

◆ implicitOperation()

template<typename ValueType >
void NeoN::finiteVolume::cellCentred::DivOperator< ValueType >::implicitOperation ( la::LinearSystem< ValueType, localIdx > &  ls)
inline

Definition at line 144 of file divOperator.hpp.


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