OpenLB 1.7
Loading...
Searching...
No Matches
Public Member Functions | List of all members
olb::gpu::cuda::Dynamics< T, DESCRIPTOR > Struct Template Referenceabstract

Virtual interface for device-side dynamically-dispatched dynamics access. More...

#include <dynamics.hh>

+ Inheritance diagram for olb::gpu::cuda::Dynamics< T, DESCRIPTOR >:
+ Collaboration diagram for olb::gpu::cuda::Dynamics< T, DESCRIPTOR >:

Public Member Functions

virtual CellStatistic< T > collide (DeviceContext< T, DESCRIPTOR > lattice, CellID iCell) __device__=0
 
virtual T computeRho (DataOnlyCell< T, DESCRIPTOR > &cell) __device__=0
 
virtual void computeU (DataOnlyCell< T, DESCRIPTOR > &cell, T *u) __device__=0
 
virtual void computeJ (DataOnlyCell< T, DESCRIPTOR > &cell, T *j) __device__=0
 
virtual void computeRhoU (DataOnlyCell< T, DESCRIPTOR > &cell, T &rho, T *u) __device__=0
 
virtual void computeStress (DataOnlyCell< T, DESCRIPTOR > &cell, T &rho, T *u, T *pi) __device__=0
 
virtual void computeAllMomenta (DataOnlyCell< T, DESCRIPTOR > &cell, T &rho, T *u, T *pi) __device__=0
 
virtual void defineRho (DataOnlyCell< T, DESCRIPTOR > &cell, T &rho) __device__=0
 
virtual void defineU (DataOnlyCell< T, DESCRIPTOR > &cell, T *u) __device__=0
 
virtual void defineRhoU (DataOnlyCell< T, DESCRIPTOR > &cell, T &rho, T *u) __device__=0
 
virtual void defineAllMomenta (DataOnlyCell< T, DESCRIPTOR > &cell, T &rho, T *u, T *pi) __device__=0
 
virtual T computeEquilibrium (int iPop, T rho, T *u) __device__=0
 
virtual T getOmegaOrFallback (T fallback) __device__=0
 
void iniEquilibrium (DataOnlyCell< T, DESCRIPTOR > &cell, T rho, T *u) __device__
 
void iniRegularized (DataOnlyCell< T, DESCRIPTOR > &cell, T rho, T *u, T *pi) __device__
 
virtual void inverseShiftRhoU (DataOnlyCell< T, DESCRIPTOR > &cell, T &rho, T *u) __device__=0
 

Detailed Description

template<typename T, typename DESCRIPTOR>
struct olb::gpu::cuda::Dynamics< T, DESCRIPTOR >

Virtual interface for device-side dynamically-dispatched dynamics access.

Definition at line 41 of file dynamics.hh.

Member Function Documentation

◆ collide()

template<typename T , typename DESCRIPTOR >
virtual CellStatistic< T > olb::gpu::cuda::Dynamics< T, DESCRIPTOR >::collide ( DeviceContext< T, DESCRIPTOR > lattice,
CellID iCell )
pure virtual

◆ computeAllMomenta()

template<typename T , typename DESCRIPTOR >
virtual void olb::gpu::cuda::Dynamics< T, DESCRIPTOR >::computeAllMomenta ( DataOnlyCell< T, DESCRIPTOR > & cell,
T & rho,
T * u,
T * pi )
pure virtual

◆ computeEquilibrium()

template<typename T , typename DESCRIPTOR >
virtual T olb::gpu::cuda::Dynamics< T, DESCRIPTOR >::computeEquilibrium ( int iPop,
T rho,
T * u )
pure virtual

Implemented in olb::gpu::cuda::ConcreteDynamics< T, DESCRIPTOR, DYNAMICS >.

+ Here is the caller graph for this function:

◆ computeJ()

template<typename T , typename DESCRIPTOR >
virtual void olb::gpu::cuda::Dynamics< T, DESCRIPTOR >::computeJ ( DataOnlyCell< T, DESCRIPTOR > & cell,
T * j )
pure virtual

◆ computeRho()

template<typename T , typename DESCRIPTOR >
virtual T olb::gpu::cuda::Dynamics< T, DESCRIPTOR >::computeRho ( DataOnlyCell< T, DESCRIPTOR > & cell)
pure virtual

◆ computeRhoU()

template<typename T , typename DESCRIPTOR >
virtual void olb::gpu::cuda::Dynamics< T, DESCRIPTOR >::computeRhoU ( DataOnlyCell< T, DESCRIPTOR > & cell,
T & rho,
T * u )
pure virtual

◆ computeStress()

template<typename T , typename DESCRIPTOR >
virtual void olb::gpu::cuda::Dynamics< T, DESCRIPTOR >::computeStress ( DataOnlyCell< T, DESCRIPTOR > & cell,
T & rho,
T * u,
T * pi )
pure virtual

◆ computeU()

template<typename T , typename DESCRIPTOR >
virtual void olb::gpu::cuda::Dynamics< T, DESCRIPTOR >::computeU ( DataOnlyCell< T, DESCRIPTOR > & cell,
T * u )
pure virtual

◆ defineAllMomenta()

template<typename T , typename DESCRIPTOR >
virtual void olb::gpu::cuda::Dynamics< T, DESCRIPTOR >::defineAllMomenta ( DataOnlyCell< T, DESCRIPTOR > & cell,
T & rho,
T * u,
T * pi )
pure virtual

◆ defineRho()

template<typename T , typename DESCRIPTOR >
virtual void olb::gpu::cuda::Dynamics< T, DESCRIPTOR >::defineRho ( DataOnlyCell< T, DESCRIPTOR > & cell,
T & rho )
pure virtual

◆ defineRhoU()

template<typename T , typename DESCRIPTOR >
virtual void olb::gpu::cuda::Dynamics< T, DESCRIPTOR >::defineRhoU ( DataOnlyCell< T, DESCRIPTOR > & cell,
T & rho,
T * u )
pure virtual

◆ defineU()

template<typename T , typename DESCRIPTOR >
virtual void olb::gpu::cuda::Dynamics< T, DESCRIPTOR >::defineU ( DataOnlyCell< T, DESCRIPTOR > & cell,
T * u )
pure virtual

◆ getOmegaOrFallback()

template<typename T , typename DESCRIPTOR >
virtual T olb::gpu::cuda::Dynamics< T, DESCRIPTOR >::getOmegaOrFallback ( T fallback)
pure virtual

◆ iniEquilibrium()

template<typename T , typename DESCRIPTOR >
void olb::gpu::cuda::Dynamics< T, DESCRIPTOR >::iniEquilibrium ( DataOnlyCell< T, DESCRIPTOR > & cell,
T rho,
T * u )
inline

Definition at line 61 of file dynamics.hh.

61 {
62 for (unsigned iPop=0; iPop < DESCRIPTOR::q; ++iPop) {
63 cell[iPop] = computeEquilibrium(iPop, rho, u);
64 }
65 }
virtual T computeEquilibrium(int iPop, T rho, T *u) __device__=0

References olb::gpu::cuda::Dynamics< T, DESCRIPTOR >::computeEquilibrium().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ iniRegularized()

template<typename T , typename DESCRIPTOR >
void olb::gpu::cuda::Dynamics< T, DESCRIPTOR >::iniRegularized ( DataOnlyCell< T, DESCRIPTOR > & cell,
T rho,
T * u,
T * pi )
inline

Definition at line 67 of file dynamics.hh.

68 {
69 iniEquilibrium(cell, rho, u);
70 for (unsigned iPop=0; iPop < DESCRIPTOR::q; ++iPop) {
71 cell[iPop] += equilibrium<DESCRIPTOR>::template fromPiToFneq<T>(iPop, pi);
72 }
73 }
void iniEquilibrium(DataOnlyCell< T, DESCRIPTOR > &cell, T rho, T *u) __device__
Definition dynamics.hh:61

References olb::gpu::cuda::Dynamics< T, DESCRIPTOR >::iniEquilibrium().

+ Here is the call graph for this function:

◆ inverseShiftRhoU()

template<typename T , typename DESCRIPTOR >
virtual void olb::gpu::cuda::Dynamics< T, DESCRIPTOR >::inverseShiftRhoU ( DataOnlyCell< T, DESCRIPTOR > & cell,
T & rho,
T * u )
pure virtual

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