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

#include <laplacianOperator.hpp>

Inheritance diagram for NeoFOAM::finiteVolume::cellCentred::LaplacianOperator< ValueType >:
NeoFOAM::dsl::OperatorMixin< VolumeField< ValueType > >

Public Types

using FieldValueType = ValueType
 

Public Member Functions

 LaplacianOperator (const LaplacianOperator &lapOp)
 
 LaplacianOperator (dsl::Operator::Type termType, const SurfaceField< scalar > &gamma, VolumeField< ValueType > &phi, Input input)
 
 LaplacianOperator (dsl::Operator::Type termType, const SurfaceField< scalar > &gamma, VolumeField< ValueType > &phi, std::unique_ptr< LaplacianOperatorFactory< ValueType > > laplacianOperatorStrategy)
 
 LaplacianOperator (dsl::Operator::Type termType, const SurfaceField< scalar > &gamma, VolumeField< ValueType > &phi)
 
void explicitOperation (Field< ValueType > &source)
 
la::LinearSystem< ValueType, localIdxcreateEmptyLinearSystem () const
 
void implicitOperation (la::LinearSystem< ValueType, localIdx > &ls)
 
void laplacian (VolumeField< scalar > &lapPhi)
 
void build (const Input &input)
 
std::string getName () const
 
- Public Member Functions inherited from NeoFOAM::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 > & getField ()
 
const VolumeField< ValueType > & getField () const
 
void build (const Input &input)
 

Additional Inherited Members

- Protected Attributes inherited from NeoFOAM::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 NeoFOAM::finiteVolume::cellCentred::LaplacianOperator< ValueType >

Definition at line 81 of file laplacianOperator.hpp.

Member Typedef Documentation

◆ FieldValueType

template<typename ValueType >
using NeoFOAM::finiteVolume::cellCentred::LaplacianOperator< ValueType >::FieldValueType = ValueType

Definition at line 86 of file laplacianOperator.hpp.

Constructor & Destructor Documentation

◆ LaplacianOperator() [1/4]

template<typename ValueType >
NeoFOAM::finiteVolume::cellCentred::LaplacianOperator< ValueType >::LaplacianOperator ( const LaplacianOperator< ValueType > &  lapOp)
inline

Definition at line 89 of file laplacianOperator.hpp.

◆ LaplacianOperator() [2/4]

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

Definition at line 98 of file laplacianOperator.hpp.

◆ LaplacianOperator() [3/4]

template<typename ValueType >
NeoFOAM::finiteVolume::cellCentred::LaplacianOperator< ValueType >::LaplacianOperator ( dsl::Operator::Type  termType,
const SurfaceField< scalar > &  gamma,
VolumeField< ValueType > &  phi,
std::unique_ptr< LaplacianOperatorFactory< ValueType > >  laplacianOperatorStrategy 
)
inline

Definition at line 110 of file laplacianOperator.hpp.

◆ LaplacianOperator() [4/4]

template<typename ValueType >
NeoFOAM::finiteVolume::cellCentred::LaplacianOperator< ValueType >::LaplacianOperator ( dsl::Operator::Type  termType,
const SurfaceField< scalar > &  gamma,
VolumeField< ValueType > &  phi 
)
inline

Definition at line 119 of file laplacianOperator.hpp.

Member Function Documentation

◆ build()

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

Definition at line 165 of file laplacianOperator.hpp.

◆ createEmptyLinearSystem()

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

Definition at line 135 of file laplacianOperator.hpp.

◆ explicitOperation()

template<typename ValueType >
void NeoFOAM::finiteVolume::cellCentred::LaplacianOperator< ValueType >::explicitOperation ( Field< ValueType > &  source)
inline

Definition at line 126 of file laplacianOperator.hpp.

◆ getName()

template<typename ValueType >
std::string NeoFOAM::finiteVolume::cellCentred::LaplacianOperator< ValueType >::getName ( ) const
inline

Definition at line 184 of file laplacianOperator.hpp.

◆ implicitOperation()

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

Definition at line 141 of file laplacianOperator.hpp.

◆ laplacian()

template<typename ValueType >
void NeoFOAM::finiteVolume::cellCentred::LaplacianOperator< ValueType >::laplacian ( VolumeField< scalar > &  lapPhi)
inline

Definition at line 158 of file laplacianOperator.hpp.


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