LBM4SWED2Q9< DataType > Class Template Reference

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

#include <LBM4SWED2Q9.h>

Inheritance diagram for LBM4SWED2Q9< DataType >:
LBMBase< Vector< DataType, 9 >, Vector< DataType, 3 >, 2 > SchemeBase< vector_type, dim > AMRBase< vector_type, dim > controlable

List of all members.

Public Types

enum  ICPredefined { GasAtRest, ConstantMacro, ConstantMicro }
enum  BCPredefined {
  Symmetry, NoSlipWall, Inlet, Outlet,
  Pressure, SlidingWall
}
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 base::SideName SideName
typedef base::point_type point_type

Public Member Functions

 LBM4SWED2Q9 ()
virtual ~LBM4SWED2Q9 ()
virtual void register_at (ControlDevice &Ctrl, const std::string &prefix)
virtual void SetupData (GridHierarchy *gh, const int &ghosts)
virtual MacroType MacroVariables (const MicroType &f) const
virtual MicroType Equilibrium (const MacroType &q) 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 SetLatticeSpeed (const DataType e_spec)
void SetVelocityScale (const DataType u0)
virtual void SetTimeScale (const DataType t0)
const DataTypeDensityScale () const
const DataTypeLatticeSpeed () const
const DataTypeVelocityScale () const
DataType LatticeViscosity (const DataType omega) const
DataType LatticeSpeedOfSound () const
void SetGas (DataType rho, DataType nu, DataType cs, DataType e_spec)
const DataType Omega_tau () const
virtual const DataType Omega (const DataType dt) const
const DataTypeGasDensity () const
const DataTypeGasViscosity () const
const DataTypeGasSpeedofSound () const
const DataTypeGasViscosity (const DataType omega, const DataType cs, const DataType dt) const
virtual void BedElevation (vec_grid_data_type &fvec, GridData< DataType, 2 > &zProfile) const =0
void SetGravity (DataType grav)
DataType Gravity () const

Protected Attributes

DataType cs2
DataType cs22
DataType cssq
DataType R0
DataType U0
DataType rhop
DataType csp
DataType cs2p
DataType nup
DataType e
DataType e2
DataType g
DataType tau
int method [1]
int mdx [9]
int mdy [9]

Detailed Description

template<class DataType>
class LBM4SWED2Q9< 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 base::grid_data_type LBM4SWED2Q9< DataType >::grid_data_type

Reimplemented from SchemeBase< vector_type, dim >.

template<class DataType >
typedef base::point_type LBM4SWED2Q9< DataType >::point_type

Reimplemented from SchemeBase< vector_type, dim >.

template<class DataType >
typedef base::SideName LBM4SWED2Q9< DataType >::SideName

Reimplemented from SchemeBase< vector_type, dim >.


Member Enumeration Documentation

template<class DataType >
enum LBM4SWED2Q9::BCPredefined
Enumerator:
Symmetry 
NoSlipWall 
Inlet 
Outlet 
Pressure 
SlidingWall 
template<class DataType >
enum LBM4SWED2Q9::ICPredefined
Enumerator:
GasAtRest 
ConstantMacro 
ConstantMicro 

Constructor & Destructor Documentation

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

Member Function Documentation

template<class DataType >
virtual void LBM4SWED2Q9< DataType >::BedElevation ( vec_grid_data_type fvec,
GridData< DataType, 2 > &  zProfile 
) const [pure virtual]
template<class DataType >
const DataType& LBM4SWED2Q9< DataType >::DensityScale (  )  const [inline]
template<class DataType >
const DataType& LBM4SWED2Q9< DataType >::GasDensity (  )  const [inline]
template<class DataType >
const DataType& LBM4SWED2Q9< DataType >::GasSpeedofSound (  )  const [inline]
template<class DataType >
const DataType& LBM4SWED2Q9< DataType >::GasViscosity ( const DataType  omega,
const DataType  cs,
const DataType  dt 
) const [inline]
template<class DataType >
const DataType& LBM4SWED2Q9< DataType >::GasViscosity (  )  const [inline]
template<class DataType >
virtual void LBM4SWED2Q9< 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 >
DataType LBM4SWED2Q9< DataType >::Gravity (  )  const [inline]
template<class DataType >
virtual int LBM4SWED2Q9< DataType >::IncomingIndices ( const int  side,
int  indices[] 
) const [inline, virtual]
template<class DataType >
virtual void LBM4SWED2Q9< 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 >
const DataType& LBM4SWED2Q9< DataType >::LatticeSpeed (  )  const [inline]
template<class DataType >
DataType LBM4SWED2Q9< DataType >::LatticeSpeedOfSound (  )  const [inline]
template<class DataType >
DataType LBM4SWED2Q9< DataType >::LatticeViscosity ( const DataType  omega  )  const [inline]
template<class DataType >
virtual void LBM4SWED2Q9< DataType >::LocalStep ( vec_grid_data_type fvec,
vec_grid_data_type ovec,
const BBox bb,
const double &  dt 
) const [inline, virtual]
template<class DataType >
virtual int LBM4SWED2Q9< DataType >::NMethodOrder (  )  const [inline, virtual]
template<class DataType >
virtual const DataType LBM4SWED2Q9< DataType >::Omega ( const DataType  dt  )  const [inline, virtual]
template<class DataType >
const DataType LBM4SWED2Q9< DataType >::Omega_tau (  )  const [inline]
template<class DataType >
virtual int LBM4SWED2Q9< DataType >::OutgoingIndices ( const int  side,
int  indices[] 
) const [inline, virtual]
template<class DataType >
void LBM4SWED2Q9< DataType >::SetDensityScale ( const DataType  r0  )  [inline]
template<class DataType >
void LBM4SWED2Q9< DataType >::SetGravity ( DataType  grav  )  [inline]
template<class DataType >
void LBM4SWED2Q9< DataType >::SetLatticeSpeed ( const DataType  e_spec  )  [inline]
template<class DataType >
virtual void LBM4SWED2Q9< DataType >::SetTimeScale ( const DataType  t0  )  [inline, virtual]
template<class DataType >
void LBM4SWED2Q9< DataType >::SetVelocityScale ( const DataType  u0  )  [inline]
template<class DataType >
const DataType& LBM4SWED2Q9< DataType >::T0 (  )  const [inline]
template<class DataType >
const DataType& LBM4SWED2Q9< DataType >::VelocityScale (  )  const [inline]

Member Data Documentation

template<class DataType >
DataType LBM4SWED2Q9< DataType >::cs22 [protected]
template<class DataType >
DataType LBM4SWED2Q9< DataType >::cssq [protected]
template<class DataType >
int LBM4SWED2Q9< DataType >::mdx[9] [protected]
template<class DataType >
int LBM4SWED2Q9< DataType >::mdy[9] [protected]
template<class DataType >
int LBM4SWED2Q9< DataType >::method[1] [protected]

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