LBMD2Q9Smag< DataType > Class Template Reference

Standard 2d Navier-Stokes LBM stencil operator. More...

#include <LBMD2Q9Smag.h>

Inheritance diagram for LBMD2Q9Smag< DataType >:
LBMD2Q9< Vector< DataType, 9 >, Vector< DataType, 3 >, 2 > LBMBase< micro_type, macro_type, dim > LBMBase< micro_type, macro_type, dim > LBMBase< micro_type, macro_type, dim > LBMBase< micro_type, macro_type, dim > LBMBase< micro_type, macro_type, dim > SchemeBase< micro_type, dim > SchemeBase< micro_type, dim > SchemeBase< micro_type, dim > SchemeBase< micro_type, dim > SchemeBase< micro_type, dim > AMRBase< micro_type, dim > AMRBase< micro_type, dim > AMRBase< micro_type, dim > AMRBase< micro_type, dim > AMRBase< micro_type, dim > controlable controlable controlable controlable controlable

List of all members.

Public Types

enum  ICPredefined { GasAtRest, ConstantMacro, ConstantMicro }
enum  BCPredefined {
  Symmetry, SlipWall, NoSlipWall, Inlet,
  Outlet, Pressure, SlidingWall
}
enum  GFMPredefined { GFMExtrapolation, GFMSlipWall, GFMNoSlipWall }
enum  TurbulenceModel { laminar, LES_Smagorinsky }
typedef base::vec_grid_data_type vec_grid_data_type
typedef base::grid_data_type grid_data_type
typedef base::MicroType MicroType
typedef base::MacroType MacroType
typedef GridData< MacroType, 2 > macro_grid_data_type
typedef base::SideName SideName
typedef base::point_type point_type

Public Member Functions

 LBMD2Q9 ()
virtual ~LBMD2Q9 ()
virtual void register_at (ControlDevice &Ctrl, const std::string &prefix)
virtual void SetupData (GridHierarchy *gh, const int &ghosts)
virtual void WriteInit () const
virtual MacroType MacroVariables (const MicroType &f) const
virtual MicroType Equilibrium (const MacroType &q) const
virtual void Collision (MicroType &f, const DataType dt) const
virtual int IncomingIndices (const int side, int indices[]) const
virtual int OutgoingIndices (const int side, int indices[]) const
virtual void ReverseStream (vec_grid_data_type &fvec, const BBox &bb, const int side) const
virtual void LocalStep (vec_grid_data_type &fvec, vec_grid_data_type &ovec, const BBox &bb, const double &dt) const
virtual double Step (vec_grid_data_type &fvec, vec_grid_data_type &ovec, vec_grid_data_type *Flux[], const double &t, const double &dt, const int &mpass) const
virtual void ICStandard (vec_grid_data_type &fvec, const int type, DataType *aux=0, const int naux=0, const int scaling=0) const
virtual void BCStandard (vec_grid_data_type &fvec, const BBox &bb, const int type, const int side, DataType *aux=0, const int naux=0, const int scaling=0) const
virtual void GFMBCStandard (vec_grid_data_type &fvec, const int type, const int &nc, const int *idx, const MicroType *f, const point_type *xc, const DataType *distance, const point_type *normal, DataType *aux=0, const int naux=0, const int scaling=0) const
virtual void Output (vec_grid_data_type &fvec, grid_data_type &workvec, const int cnt, const int skip_ghosts=1) const
virtual void Input (vec_grid_data_type &fvec, grid_data_type &workvec, const int cnt, const int skip_ghosts=1) const
virtual int Check (vec_grid_data_type &fvec, const BBox &bb, const double &time, const int verbose) const
virtual int NMethodOrder () const
const DataTypeL0 () const
const DataTypeT0 () const
void SetDensityScale (const DataType r0)
void SetVelocityScale (const DataType u0)
void SetSpeedUp (const DataType s0)
virtual void SetTimeScale (const DataType t0)
const DataTypeDensityScale () const
const DataType VelocityScale () const
const DataTypeSpeedUp () const
DataType LatticeViscosity (const DataType omega) const
DataType LatticeSpeedOfSound () const
void SetGas (DataType rho, DataType nu, DataType cs)
virtual const DataType Omega (const DataType dt) const
const DataType Omega_LES_Smagorinsky (const MicroType &f, const MicroType &feq, const MacroType &q, const DataType dt) const
const int TurbulenceType () const
const DataTypeSmagorinskyConstant ()
const DataTypeGasDensity () const
const DataTypeGasViscosity () const
const DataTypeGasSpeedofSound () const
const DataType GasViscosity (const DataType omega, const DataType cs, const DataType dt) const
void SetGasProp (DataType g, DataType W, DataType R)
virtual DataType BasePressure () const
virtual DataType TempEquation (const DataType p) const

Protected Attributes

DataType cs2
DataType cs22
DataType cssq
DataType R0
DataType U0
DataType S0
DataType rhop
DataType csp
DataType cs2p
DataType nup
DataType gp
DataType Wp
DataType Rp
DataType Cs_Smagorinsky
DataType turbulence
int method [1]
int mdx [9]
int mdy [9]

Detailed Description

template<class DataType>
class LBMD2Q9Smag< DataType >

Standard 2d Navier-Stokes LBM stencil operator.

Density distribution indexing used, 2D-BGK-operator

C5 C3 C4 \ | / C2--C0--C1 / | \ C8 C6 C7

Author:
Ralf Deiterding, Stephen Wood
Version:
1.0
Date:
Nov-2012

Member Typedef Documentation

template<class DataType >
typedef GridData<MacroType,2> LBMD2Q9Smag< DataType >::macro_grid_data_type

Member Enumeration Documentation

template<class DataType >
enum LBMD2Q9Smag::BCPredefined
Enumerator:
Symmetry 
SlipWall 
NoSlipWall 
Inlet 
Outlet 
Pressure 
SlidingWall 

Reimplemented from LBMD2Q9< Vector< DataType, 9 >, Vector< DataType, 3 >, 2 >.

template<class DataType >
enum LBMD2Q9Smag::GFMPredefined
Enumerator:
GFMExtrapolation 
GFMSlipWall 
GFMNoSlipWall 

Reimplemented from LBMD2Q9< Vector< DataType, 9 >, Vector< DataType, 3 >, 2 >.

template<class DataType >
enum LBMD2Q9Smag::ICPredefined
Enumerator:
GasAtRest 
ConstantMacro 
ConstantMicro 

Reimplemented from LBMD2Q9< Vector< DataType, 9 >, Vector< DataType, 3 >, 2 >.

template<class DataType >
enum LBMD2Q9Smag::TurbulenceModel
Enumerator:
laminar 
LES_Smagorinsky 

Reimplemented from LBMD2Q9< Vector< DataType, 9 >, Vector< DataType, 3 >, 2 >.


Constructor & Destructor Documentation

template<class DataType >
virtual LBMD2Q9Smag< DataType >::~LBMD2Q9 (  )  [inline, virtual]

Member Function Documentation

template<class DataType >
const DataType& LBMD2Q9Smag< DataType >::DensityScale (  )  const [inline]
template<class DataType >
const DataType& LBMD2Q9Smag< DataType >::GasDensity (  )  const [inline]
template<class DataType >
const DataType& LBMD2Q9Smag< DataType >::GasSpeedofSound (  )  const [inline]
template<class DataType >
const DataType LBMD2Q9Smag< DataType >::GasViscosity ( const DataType  omega,
const DataType  cs,
const DataType  dt 
) const [inline]
template<class DataType >
const DataType& LBMD2Q9Smag< DataType >::GasViscosity (  )  const [inline]
template<class DataType >
virtual void LBMD2Q9Smag< DataType >::GFMBCStandard ( vec_grid_data_type fvec,
const int  type,
const int &  nc,
const int *  idx,
const MicroType f,
const point_type xc,
const DataType distance,
const point_type normal,
DataType aux = 0,
const int  naux = 0,
const int  scaling = 0 
) const [inline, virtual]
template<class DataType >
virtual int LBMD2Q9Smag< DataType >::IncomingIndices ( const int  side,
int  indices[] 
) const [inline, virtual]
template<class DataType >
virtual void LBMD2Q9Smag< DataType >::Input ( vec_grid_data_type fvec,
grid_data_type workvec,
const int  cnt,
const int  skip_ghosts = 1 
) const [inline, virtual]
template<class DataType >
DataType LBMD2Q9Smag< DataType >::LatticeSpeedOfSound (  )  const [inline]
template<class DataType >
DataType LBMD2Q9Smag< DataType >::LatticeViscosity ( const DataType  omega  )  const [inline]
template<class DataType >
virtual int LBMD2Q9Smag< DataType >::NMethodOrder (  )  const [inline, virtual]
template<class DataType >
virtual int LBMD2Q9Smag< DataType >::OutgoingIndices ( const int  side,
int  indices[] 
) const [inline, virtual]
template<class DataType >
void LBMD2Q9Smag< DataType >::SetDensityScale ( const DataType  r0  )  [inline]
template<class DataType >
void LBMD2Q9Smag< DataType >::SetGasProp ( DataType  g,
DataType  W,
DataType  R 
) [inline]
template<class DataType >
void LBMD2Q9Smag< DataType >::SetSpeedUp ( const DataType  s0  )  [inline]
template<class DataType >
const DataType& LBMD2Q9Smag< DataType >::SmagorinskyConstant (  )  [inline]
template<class DataType >
const DataType& LBMD2Q9Smag< DataType >::SpeedUp (  )  const [inline]
template<class DataType >
virtual DataType LBMD2Q9Smag< DataType >::TempEquation ( const DataType  p  )  const [inline, virtual]
template<class DataType >
const int LBMD2Q9Smag< DataType >::TurbulenceType (  )  const [inline]
template<class DataType >
const DataType LBMD2Q9Smag< DataType >::VelocityScale (  )  const [inline]
template<class DataType >
virtual void LBMD2Q9Smag< DataType >::WriteInit (  )  const [inline, virtual]

Member Data Documentation


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