OpenLB 1.7
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
olb::opti::projection::GiBase< T, DESCRIPTOR > Struct Template Referenceabstract

Gridterm-dependent projection base class. More...

#include <projection.h>

+ Inheritance diagram for olb::opti::projection::GiBase< T, DESCRIPTOR >:
+ Collaboration diagram for olb::opti::projection::GiBase< T, DESCRIPTOR >:

Public Member Functions

 GiBase (const UnitConverter< T, DESCRIPTOR > &converter)
 
virtual T subprojection (T x) const =0
 
virtual T derivSubprojection (T x) const =0
 
virtual T inverseSubprojection (T x) const =0
 
project (T x) const override
 
derivative (T x) const override
 
inverse (T x) const override
 

Public Attributes

const T _gridTerm
 

Detailed Description

template<typename T, typename DESCRIPTOR>
struct olb::opti::projection::GiBase< T, DESCRIPTOR >

Gridterm-dependent projection base class.

Projection = 1 - gridTerm / K(x) with K(x) = subprojection(x) + gridTerm

Definition at line 235 of file projection.h.

Constructor & Destructor Documentation

◆ GiBase()

template<typename T , typename DESCRIPTOR >
olb::opti::projection::GiBase< T, DESCRIPTOR >::GiBase ( const UnitConverter< T, DESCRIPTOR > & converter)
inline

Definition at line 239 of file projection.h.

240 : _gridTerm {gridTerm(converter)}
241 { }
T gridTerm(const UnitConverter< T, DESCRIPTOR > &converter)
Definition projection.h:142

Member Function Documentation

◆ derivative()

template<typename T , typename DESCRIPTOR >
T olb::opti::projection::GiBase< T, DESCRIPTOR >::derivative ( T x) const
inlineoverridevirtual

◆ derivSubprojection()

template<typename T , typename DESCRIPTOR >
virtual T olb::opti::projection::GiBase< T, DESCRIPTOR >::derivSubprojection ( T x) const
pure virtual

◆ inverse()

template<typename T , typename DESCRIPTOR >
T olb::opti::projection::GiBase< T, DESCRIPTOR >::inverse ( T x) const
inlineoverridevirtual

Implements olb::opti::projection::Base< T >.

Definition at line 254 of file projection.h.

254 {
255 return inverseSubprojection(_gridTerm*x/(T(1)-x));
256 }
virtual T inverseSubprojection(T x) const =0

References olb::opti::projection::GiBase< T, DESCRIPTOR >::_gridTerm, and olb::opti::projection::GiBase< T, DESCRIPTOR >::inverseSubprojection().

+ Here is the call graph for this function:

◆ inverseSubprojection()

template<typename T , typename DESCRIPTOR >
virtual T olb::opti::projection::GiBase< T, DESCRIPTOR >::inverseSubprojection ( T x) const
pure virtual

◆ project()

template<typename T , typename DESCRIPTOR >
T olb::opti::projection::GiBase< T, DESCRIPTOR >::project ( T x) const
inlineoverridevirtual

Implements olb::opti::projection::Base< T >.

Definition at line 247 of file projection.h.

247 {
248 return subprojection(x) / (subprojection(x) + _gridTerm);
249 }

References olb::opti::projection::GiBase< T, DESCRIPTOR >::_gridTerm, and olb::opti::projection::GiBase< T, DESCRIPTOR >::subprojection().

+ Here is the call graph for this function:

◆ subprojection()

template<typename T , typename DESCRIPTOR >
virtual T olb::opti::projection::GiBase< T, DESCRIPTOR >::subprojection ( T x) const
pure virtual

Member Data Documentation

◆ _gridTerm

template<typename T , typename DESCRIPTOR >
const T olb::opti::projection::GiBase< T, DESCRIPTOR >::_gridTerm

Definition at line 237 of file projection.h.


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