LBMD1Q3< DataType > Class Template Reference

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

#include <LBMD1Q3.h>

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

List of all members.

Public Types

enum  ICPredefined { GasAtRest, ConstantMacro, ConstantMicro }
enum  BCPredefined {
  NoSlipWall, Inlet, Outlet, Outlet2,
  Pressure
}
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

 LBMD1Q3 ()
virtual ~LBMD1Q3 ()
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 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 DataTypeGasDensity () const
const DataTypeGasViscosity () const
const DataTypeGasSpeedofSound () const
const DataTypeGasViscosity (const DataType omega, const DataType cs, const DataType dt) const

Protected Attributes

DataType cs2
DataType cs22
DataType cssq
DataType R0
DataType U0
DataType S0
DataType rhop
DataType csp
DataType cs2p
DataType nup
int method [1]
int mdx [3]
int mdy [3]

Detailed Description

template<class DataType>
class LBMD1Q3< DataType >

Standard 1d Navier-Stokes LBM stencil operator.

Density distribution indexing used, 1D-BGK-operator

C2--C0--C1

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

Member Typedef Documentation

template<class DataType >
typedef base::grid_data_type LBMD1Q3< DataType >::grid_data_type

Reimplemented from SchemeBase< vector_type, dim >.

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

Reimplemented from SchemeBase< vector_type, dim >.

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

Reimplemented from SchemeBase< vector_type, dim >.


Member Enumeration Documentation

template<class DataType >
enum LBMD1Q3::BCPredefined
Enumerator:
NoSlipWall 
Inlet 
Outlet 
Outlet2 
Pressure 
template<class DataType >
enum LBMD1Q3::ICPredefined
Enumerator:
GasAtRest 
ConstantMacro 
ConstantMicro 

Constructor & Destructor Documentation

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

Member Function Documentation

template<class DataType >
virtual int LBMD1Q3< DataType >::Check ( vec_grid_data_type fvec,
const BBox bb,
const double &  time,
const int  verbose 
) const [inline, virtual]
template<class DataType >
virtual void LBMD1Q3< DataType >::Collision ( MicroType f,
const DataType  dt 
) const [inline, virtual]
template<class DataType >
const DataType& LBMD1Q3< DataType >::DensityScale (  )  const [inline]
template<class DataType >
const DataType& LBMD1Q3< DataType >::GasDensity (  )  const [inline]
template<class DataType >
const DataType& LBMD1Q3< DataType >::GasSpeedofSound (  )  const [inline]
template<class DataType >
const DataType& LBMD1Q3< DataType >::GasViscosity ( const DataType  omega,
const DataType  cs,
const DataType  dt 
) const [inline]
template<class DataType >
const DataType& LBMD1Q3< DataType >::GasViscosity (  )  const [inline]
template<class DataType >
virtual void LBMD1Q3< 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 LBMD1Q3< DataType >::IncomingIndices ( const int  side,
int  indices[] 
) const [inline, virtual]
template<class DataType >
virtual void LBMD1Q3< 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 LBMD1Q3< DataType >::LatticeSpeedOfSound (  )  const [inline]
template<class DataType >
DataType LBMD1Q3< DataType >::LatticeViscosity ( const DataType  omega  )  const [inline]
template<class DataType >
virtual int LBMD1Q3< DataType >::NMethodOrder (  )  const [inline, virtual]
template<class DataType >
virtual const DataType LBMD1Q3< DataType >::Omega ( const DataType  dt  )  const [inline, virtual]
template<class DataType >
virtual int LBMD1Q3< DataType >::OutgoingIndices ( const int  side,
int  indices[] 
) const [inline, virtual]
template<class DataType >
virtual void LBMD1Q3< DataType >::Output ( vec_grid_data_type fvec,
grid_data_type workvec,
const int  cnt,
const int  skip_ghosts = 1 
) const [inline, virtual]
template<class DataType >
virtual void LBMD1Q3< DataType >::register_at ( ControlDevice Ctrl,
const std::string &  prefix 
) [inline, virtual]
template<class DataType >
virtual void LBMD1Q3< DataType >::ReverseStream ( vec_grid_data_type fvec,
const BBox bb,
const int  side 
) const [inline, virtual]
template<class DataType >
void LBMD1Q3< DataType >::SetDensityScale ( const DataType  r0  )  [inline]
template<class DataType >
void LBMD1Q3< DataType >::SetSpeedUp ( const DataType  s0  )  [inline]
template<class DataType >
void LBMD1Q3< DataType >::SetVelocityScale ( const DataType  u0  )  [inline]
template<class DataType >
const DataType& LBMD1Q3< DataType >::SpeedUp (  )  const [inline]
template<class DataType >
virtual double LBMD1Q3< DataType >::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 [inline, virtual]
template<class DataType >
const DataType LBMD1Q3< DataType >::VelocityScale (  )  const [inline]

Member Data Documentation

template<class DataType >
DataType LBMD1Q3< DataType >::cs22 [protected]
template<class DataType >
DataType LBMD1Q3< DataType >::cssq [protected]
template<class DataType >
int LBMD1Q3< DataType >::mdx[3] [protected]
template<class DataType >
int LBMD1Q3< DataType >::mdy[3] [protected]

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