OpenLB 1.7
Loading...
Searching...
No Matches
Public Member Functions | List of all members
olb::cpu::sisd::ConcreteDynamics< T, DESCRIPTOR, DYNAMICS > Class Template Referencefinal

Implementation of cpu::Dynamics for concrete DYNAMICS on SISD blocks. More...

#include <operator.h>

+ Inheritance diagram for olb::cpu::sisd::ConcreteDynamics< T, DESCRIPTOR, DYNAMICS >:
+ Collaboration diagram for olb::cpu::sisd::ConcreteDynamics< T, DESCRIPTOR, DYNAMICS >:

Public Member Functions

 ConcreteDynamics (ParametersOfOperatorD< T, DESCRIPTOR, DYNAMICS > *parameters)
 
CellStatistic< T > collide (cpu::Cell< T, DESCRIPTOR, Platform::CPU_SISD > &cell) override
 
computeRho (cpu::Cell< T, DESCRIPTOR, Platform::CPU_SISD > &cell) override
 
void computeU (cpu::Cell< T, DESCRIPTOR, Platform::CPU_SISD > &cell, T *u) override
 
void computeJ (cpu::Cell< T, DESCRIPTOR, Platform::CPU_SISD > &cell, T *j) override
 
void computeRhoU (cpu::Cell< T, DESCRIPTOR, Platform::CPU_SISD > &cell, T &rho, T *u) override
 
void computeStress (cpu::Cell< T, DESCRIPTOR, Platform::CPU_SISD > &cell, T &rho, T *u, T *pi) override
 
void computeAllMomenta (cpu::Cell< T, DESCRIPTOR, Platform::CPU_SISD > &cell, T &rho, T *u, T *pi) override
 
getOmegaOrFallback (T fallback) override
 
computeEquilibrium (int iPop, T rho, T *u) override
 
void defineRho (cpu::Cell< T, DESCRIPTOR, Platform::CPU_SISD > &cell, T &rho) override
 
void defineU (cpu::Cell< T, DESCRIPTOR, Platform::CPU_SISD > &cell, T *u) override
 
void defineRhoU (cpu::Cell< T, DESCRIPTOR, Platform::CPU_SISD > &cell, T &rho, T *u) override
 
void defineAllMomenta (cpu::Cell< T, DESCRIPTOR, Platform::CPU_SISD > &cell, T &rho, T *u, T *pi) override
 
void inverseShiftRhoU (cpu::Cell< T, DESCRIPTOR, Platform::CPU_SISD > &cell, T &rho, T *u) override
 
- Public Member Functions inherited from olb::cpu::Dynamics< T, DESCRIPTOR, Platform::CPU_SISD >
virtual ~Dynamics ()
 
virtual CellStatistic< T > collide (Cell< T, DESCRIPTOR, PLATFORM > &cell)=0
 
virtual T computeRho (Cell< T, DESCRIPTOR, PLATFORM > &cell)=0
 
virtual void computeU (Cell< T, DESCRIPTOR, PLATFORM > &cell, T *u)=0
 
virtual void computeJ (Cell< T, DESCRIPTOR, PLATFORM > &cell, T *j)=0
 
virtual void computeRhoU (Cell< T, DESCRIPTOR, PLATFORM > &cell, T &rho, T *u)=0
 
virtual void defineRho (Cell< T, DESCRIPTOR, PLATFORM > &cell, T &rho)=0
 
virtual void defineU (Cell< T, DESCRIPTOR, PLATFORM > &cell, T *u)=0
 
virtual void defineRhoU (Cell< T, DESCRIPTOR, PLATFORM > &cell, T &rho, T *u)=0
 
virtual void defineAllMomenta (Cell< T, DESCRIPTOR, PLATFORM > &cell, T &rho, T *u, T *pi)=0
 
virtual void computeStress (Cell< T, DESCRIPTOR, PLATFORM > &cell, T &rho, T *u, T *pi)=0
 
virtual void computeAllMomenta (Cell< T, DESCRIPTOR, PLATFORM > &cell, T &rho, T *u, T *pi)=0
 
void iniEquilibrium (Cell< T, DESCRIPTOR, PLATFORM > &cell, T rho, T *u)
 
void iniRegularized (Cell< T, DESCRIPTOR, PLATFORM > &cell, T rho, T *u, T *pi)
 
virtual void inverseShiftRhoU (Cell< T, DESCRIPTOR, PLATFORM > &cell, T &rho, T *u)=0
 

Detailed Description

template<typename T, typename DESCRIPTOR, typename DYNAMICS>
class olb::cpu::sisd::ConcreteDynamics< T, DESCRIPTOR, DYNAMICS >

Implementation of cpu::Dynamics for concrete DYNAMICS on SISD blocks.

Definition at line 46 of file operator.h.

Constructor & Destructor Documentation

◆ ConcreteDynamics()

template<typename T , typename DESCRIPTOR , typename DYNAMICS >
olb::cpu::sisd::ConcreteDynamics< T, DESCRIPTOR, DYNAMICS >::ConcreteDynamics ( ParametersOfOperatorD< T, DESCRIPTOR, DYNAMICS > * parameters)
inline

Definition at line 51 of file operator.h.

51 :
52 _parameters{parameters} {
53 }

Member Function Documentation

◆ collide()

template<typename T , typename DESCRIPTOR , typename DYNAMICS >
CellStatistic< T > olb::cpu::sisd::ConcreteDynamics< T, DESCRIPTOR, DYNAMICS >::collide ( cpu::Cell< T, DESCRIPTOR, Platform::CPU_SISD > & cell)
inlineoverride

Definition at line 55 of file operator.h.

55 {
56 return DYNAMICS().apply(cell, *_parameters);
57 }

◆ computeAllMomenta()

template<typename T , typename DESCRIPTOR , typename DYNAMICS >
void olb::cpu::sisd::ConcreteDynamics< T, DESCRIPTOR, DYNAMICS >::computeAllMomenta ( cpu::Cell< T, DESCRIPTOR, Platform::CPU_SISD > & cell,
T & rho,
T * u,
T * pi )
inlineoverride

Definition at line 74 of file operator.h.

74 {
75 typename DYNAMICS::MomentaF().computeAllMomenta(cell, rho, u, pi);
76 }

◆ computeEquilibrium()

template<typename T , typename DESCRIPTOR , typename DYNAMICS >
T olb::cpu::sisd::ConcreteDynamics< T, DESCRIPTOR, DYNAMICS >::computeEquilibrium ( int iPop,
T rho,
T * u )
inlineoverridevirtual

Implements olb::cpu::Dynamics< T, DESCRIPTOR, Platform::CPU_SISD >.

Definition at line 87 of file operator.h.

87 {
88 return DYNAMICS().computeEquilibrium(iPop, rho, u);
89 }

◆ computeJ()

template<typename T , typename DESCRIPTOR , typename DYNAMICS >
void olb::cpu::sisd::ConcreteDynamics< T, DESCRIPTOR, DYNAMICS >::computeJ ( cpu::Cell< T, DESCRIPTOR, Platform::CPU_SISD > & cell,
T * j )
inlineoverride

Definition at line 65 of file operator.h.

65 {
66 typename DYNAMICS::MomentaF().computeJ(cell, j);
67 }

◆ computeRho()

template<typename T , typename DESCRIPTOR , typename DYNAMICS >
T olb::cpu::sisd::ConcreteDynamics< T, DESCRIPTOR, DYNAMICS >::computeRho ( cpu::Cell< T, DESCRIPTOR, Platform::CPU_SISD > & cell)
inlineoverride

Definition at line 59 of file operator.h.

59 {
60 return typename DYNAMICS::MomentaF().computeRho(cell);
61 }

◆ computeRhoU()

template<typename T , typename DESCRIPTOR , typename DYNAMICS >
void olb::cpu::sisd::ConcreteDynamics< T, DESCRIPTOR, DYNAMICS >::computeRhoU ( cpu::Cell< T, DESCRIPTOR, Platform::CPU_SISD > & cell,
T & rho,
T * u )
inlineoverride

Definition at line 68 of file operator.h.

68 {
69 typename DYNAMICS::MomentaF().computeRhoU(cell, rho, u);
70 }

◆ computeStress()

template<typename T , typename DESCRIPTOR , typename DYNAMICS >
void olb::cpu::sisd::ConcreteDynamics< T, DESCRIPTOR, DYNAMICS >::computeStress ( cpu::Cell< T, DESCRIPTOR, Platform::CPU_SISD > & cell,
T & rho,
T * u,
T * pi )
inlineoverride

Definition at line 71 of file operator.h.

71 {
72 typename DYNAMICS::MomentaF().computeStress(cell, rho, u, pi);
73 }

◆ computeU()

template<typename T , typename DESCRIPTOR , typename DYNAMICS >
void olb::cpu::sisd::ConcreteDynamics< T, DESCRIPTOR, DYNAMICS >::computeU ( cpu::Cell< T, DESCRIPTOR, Platform::CPU_SISD > & cell,
T * u )
inlineoverride

Definition at line 62 of file operator.h.

62 {
63 typename DYNAMICS::MomentaF().computeU(cell, u);
64 }

◆ defineAllMomenta()

template<typename T , typename DESCRIPTOR , typename DYNAMICS >
void olb::cpu::sisd::ConcreteDynamics< T, DESCRIPTOR, DYNAMICS >::defineAllMomenta ( cpu::Cell< T, DESCRIPTOR, Platform::CPU_SISD > & cell,
T & rho,
T * u,
T * pi )
inlineoverride

Definition at line 103 of file operator.h.

103 {
104 typename DYNAMICS::MomentaF().defineAllMomenta(cell, rho, u, pi);
105 }

◆ defineRho()

template<typename T , typename DESCRIPTOR , typename DYNAMICS >
void olb::cpu::sisd::ConcreteDynamics< T, DESCRIPTOR, DYNAMICS >::defineRho ( cpu::Cell< T, DESCRIPTOR, Platform::CPU_SISD > & cell,
T & rho )
inlineoverride

Definition at line 91 of file operator.h.

91 {
92 typename DYNAMICS::MomentaF().defineRho(cell, rho);
93 }

◆ defineRhoU()

template<typename T , typename DESCRIPTOR , typename DYNAMICS >
void olb::cpu::sisd::ConcreteDynamics< T, DESCRIPTOR, DYNAMICS >::defineRhoU ( cpu::Cell< T, DESCRIPTOR, Platform::CPU_SISD > & cell,
T & rho,
T * u )
inlineoverride

Definition at line 99 of file operator.h.

99 {
100 typename DYNAMICS::MomentaF().defineRhoU(cell, rho, u);
101 }

◆ defineU()

template<typename T , typename DESCRIPTOR , typename DYNAMICS >
void olb::cpu::sisd::ConcreteDynamics< T, DESCRIPTOR, DYNAMICS >::defineU ( cpu::Cell< T, DESCRIPTOR, Platform::CPU_SISD > & cell,
T * u )
inlineoverride

Definition at line 95 of file operator.h.

95 {
96 typename DYNAMICS::MomentaF().defineU(cell, u);
97 }

◆ getOmegaOrFallback()

template<typename T , typename DESCRIPTOR , typename DYNAMICS >
T olb::cpu::sisd::ConcreteDynamics< T, DESCRIPTOR, DYNAMICS >::getOmegaOrFallback ( T fallback)
inlineoverridevirtual

Implements olb::cpu::Dynamics< T, DESCRIPTOR, Platform::CPU_SISD >.

Definition at line 78 of file operator.h.

78 {
79 if constexpr (DYNAMICS::parameters::template contains<descriptors::OMEGA>()) {
80 return _parameters->template get<descriptors::OMEGA>();
81 } else {
82 return fallback;
83 }
84 __builtin_unreachable();
85 }

◆ inverseShiftRhoU()

template<typename T , typename DESCRIPTOR , typename DYNAMICS >
void olb::cpu::sisd::ConcreteDynamics< T, DESCRIPTOR, DYNAMICS >::inverseShiftRhoU ( cpu::Cell< T, DESCRIPTOR, Platform::CPU_SISD > & cell,
T & rho,
T * u )
inlineoverride

Definition at line 107 of file operator.h.

107 {
108 typename DYNAMICS::MomentaF().inverseShiftRhoU(cell, rho, u);
109 }

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