Standard 2d Navier-Stokes LBM stencil operator. More...
#include <LBM4SWED2Q9.h>
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 DataType & | L0 () const |
const DataType & | T0 () const |
void | SetDensityScale (const DataType r0) |
void | SetLatticeSpeed (const DataType e_spec) |
void | SetVelocityScale (const DataType u0) |
virtual void | SetTimeScale (const DataType t0) |
const DataType & | DensityScale () const |
const DataType & | LatticeSpeed () const |
const DataType & | VelocityScale () 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 DataType & | GasDensity () const |
const DataType & | GasViscosity () const |
const DataType & | GasSpeedofSound () const |
const DataType & | GasViscosity (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] |
Standard 2d Navier-Stokes LBM stencil operator.
Density distribution indexing used, 2D-BGK-operator
C5 C3 C4 \ | / C2--C0--C1 / | \ C8 C6 C7
typedef base::grid_data_type LBM4SWED2Q9< DataType >::grid_data_type |
Reimplemented from SchemeBase< vector_type, dim >.
typedef base::MacroType LBM4SWED2Q9< DataType >::MacroType |
Reimplemented from LBMBase< Vector< DataType, 9 >, Vector< DataType, 3 >, 2 >.
typedef base::MicroType LBM4SWED2Q9< DataType >::MicroType |
Reimplemented from LBMBase< Vector< DataType, 9 >, Vector< DataType, 3 >, 2 >.
typedef base::point_type LBM4SWED2Q9< DataType >::point_type |
Reimplemented from SchemeBase< vector_type, dim >.
typedef base::SideName LBM4SWED2Q9< DataType >::SideName |
Reimplemented from SchemeBase< vector_type, dim >.
typedef base::vec_grid_data_type LBM4SWED2Q9< DataType >::vec_grid_data_type |
Reimplemented from LBMBase< Vector< DataType, 9 >, Vector< DataType, 3 >, 2 >.
enum LBM4SWED2Q9::BCPredefined |
enum LBM4SWED2Q9::ICPredefined |
LBM4SWED2Q9< DataType >::LBM4SWED2Q9 | ( | ) | [inline] |
virtual LBM4SWED2Q9< DataType >::~LBM4SWED2Q9 | ( | ) | [inline, virtual] |
virtual void LBM4SWED2Q9< DataType >::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 [inline, virtual] |
Implements SchemeBase< vector_type, dim >.
References SchemeBase< vector_type, dim >::Bottom, LBM4SWED2Q9< DataType >::Equilibrium(), SchemeBase< vector_type, dim >::idx(), LBM4SWED2Q9< DataType >::Inlet, SchemeBase< vector_type, dim >::Left, BBox::lower(), LBM4SWED2Q9< DataType >::MacroVariables(), LBM4SWED2Q9< DataType >::NoSlipWall, LBM4SWED2Q9< DataType >::Outlet, LBMBase< Vector< DataType, 9 >, Vector< DataType, 3 >, 2 >::Physical, LBM4SWED2Q9< DataType >::Pressure, LBM4SWED2Q9< DataType >::R0, SchemeBase< vector_type, dim >::Right, LBM4SWED2Q9< DataType >::SlidingWall, BBox::stepsize(), LBM4SWED2Q9< DataType >::Symmetry, SchemeBase< vector_type, dim >::Top, LBM4SWED2Q9< DataType >::U0, and BBox::upper().
virtual void LBM4SWED2Q9< DataType >::BedElevation | ( | vec_grid_data_type & | fvec, | |
GridData< DataType, 2 > & | zProfile | |||
) | const [pure virtual] |
virtual int LBM4SWED2Q9< DataType >::Check | ( | vec_grid_data_type & | fvec, | |
const BBox & | bb, | |||
const double & | time, | |||
const int | verbose | |||
) | const [inline, virtual] |
Implements SchemeBase< vector_type, dim >.
References grow(), SchemeBase< vector_type, dim >::idx(), BBox::lower(), LBM4SWED2Q9< DataType >::MacroVariables(), LBM4SWED2Q9< DataType >::mdx, LBM4SWED2Q9< DataType >::mdy, AMRBase< vector_type, dim >::NGhosts(), LBMBase< Vector< DataType, 9 >, Vector< DataType, 3 >, 2 >::NMicroVar(), BBox::stepsize(), and BBox::upper().
const DataType& LBM4SWED2Q9< DataType >::DensityScale | ( | ) | const [inline] |
References LBM4SWED2Q9< DataType >::R0.
virtual MicroType LBM4SWED2Q9< DataType >::Equilibrium | ( | const MacroType & | q | ) | const [inline, virtual] |
Implements LBMBase< Vector< DataType, 9 >, Vector< DataType, 3 >, 2 >.
References LBM4SWED2Q9< DataType >::e, LBM4SWED2Q9< DataType >::e2, and LBM4SWED2Q9< DataType >::g.
Referenced by LBM4SWED2Q9< DataType >::BCStandard(), LBM4SWED2Q9< DataType >::ICStandard(), LBM4SWED2Q9< DataType >::Input(), and LBM4SWED2Q9< DataType >::Step().
const DataType& LBM4SWED2Q9< DataType >::GasDensity | ( | ) | const [inline] |
References LBM4SWED2Q9< DataType >::rhop.
Referenced by LBM4SWED2Q9< DataType >::ICStandard().
const DataType& LBM4SWED2Q9< DataType >::GasSpeedofSound | ( | ) | const [inline] |
References LBM4SWED2Q9< DataType >::csp.
const DataType& LBM4SWED2Q9< DataType >::GasViscosity | ( | const DataType | omega, | |
const DataType | cs, | |||
const DataType | dt | |||
) | const [inline] |
const DataType& LBM4SWED2Q9< DataType >::GasViscosity | ( | ) | const [inline] |
References LBM4SWED2Q9< DataType >::nup.
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] |
DataType LBM4SWED2Q9< DataType >::Gravity | ( | ) | const [inline] |
References LBM4SWED2Q9< DataType >::g.
virtual void LBM4SWED2Q9< DataType >::ICStandard | ( | vec_grid_data_type & | fvec, | |
const int | type, | |||
DataType * | aux = 0 , |
|||
const int | naux = 0 , |
|||
const int | scaling = 0 | |||
) | const [inline, virtual] |
Implements SchemeBase< vector_type, dim >.
References LBM4SWED2Q9< DataType >::BedElevation(), LBM4SWED2Q9< DataType >::ConstantMacro, LBM4SWED2Q9< DataType >::ConstantMicro, LBM4SWED2Q9< DataType >::Equilibrium(), BBox::extents(), LBM4SWED2Q9< DataType >::g, LBM4SWED2Q9< DataType >::GasAtRest, LBM4SWED2Q9< DataType >::GasDensity(), SchemeBase< vector_type, dim >::idx(), BBox::lower(), LBM4SWED2Q9< DataType >::MacroVariables(), AMRBase< vector_type, dim >::NGhosts(), LBMBase< Vector< DataType, 9 >, Vector< DataType, 3 >, 2 >::NMicroVar(), LBMBase< Vector< DataType, 9 >, Vector< DataType, 3 >, 2 >::Physical, LBM4SWED2Q9< DataType >::R0, BBox::stepsize(), LBM4SWED2Q9< DataType >::U0, and BBox::upper().
virtual int LBM4SWED2Q9< DataType >::IncomingIndices | ( | const int | side, | |
int | indices[] | |||
) | const [inline, virtual] |
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] |
const DataType& LBM4SWED2Q9< DataType >::L0 | ( | ) | const [inline] |
const DataType& LBM4SWED2Q9< DataType >::LatticeSpeed | ( | ) | const [inline] |
References LBM4SWED2Q9< DataType >::e.
Referenced by LBM4SWED2Q9< DataType >::SetGas(), and LBM4SWED2Q9< DataType >::SetupData().
DataType LBM4SWED2Q9< DataType >::LatticeSpeedOfSound | ( | ) | const [inline] |
References LBM4SWED2Q9< DataType >::cs2.
DataType LBM4SWED2Q9< DataType >::LatticeViscosity | ( | const DataType | omega | ) | const [inline] |
References LBM4SWED2Q9< DataType >::cs2.
virtual void LBM4SWED2Q9< DataType >::LocalStep | ( | vec_grid_data_type & | fvec, | |
vec_grid_data_type & | ovec, | |||
const BBox & | bb, | |||
const double & | dt | |||
) | const [inline, virtual] |
virtual MacroType LBM4SWED2Q9< DataType >::MacroVariables | ( | const MicroType & | f | ) | const [inline, virtual] |
Implements LBMBase< Vector< DataType, 9 >, Vector< DataType, 3 >, 2 >.
References LBM4SWED2Q9< DataType >::e.
Referenced by LBM4SWED2Q9< DataType >::BCStandard(), LBM4SWED2Q9< DataType >::Check(), LBM4SWED2Q9< DataType >::ICStandard(), LBM4SWED2Q9< DataType >::Output(), and LBM4SWED2Q9< DataType >::Step().
virtual int LBM4SWED2Q9< DataType >::NMethodOrder | ( | ) | const [inline, virtual] |
Implements SchemeBase< vector_type, dim >.
virtual const DataType LBM4SWED2Q9< DataType >::Omega | ( | const DataType | dt | ) | const [inline, virtual] |
Implements LBMBase< Vector< DataType, 9 >, Vector< DataType, 3 >, 2 >.
References LBM4SWED2Q9< DataType >::cs2p, and LBM4SWED2Q9< DataType >::nup.
const DataType LBM4SWED2Q9< DataType >::Omega_tau | ( | ) | const [inline] |
References LBM4SWED2Q9< DataType >::tau.
Referenced by LBM4SWED2Q9< DataType >::SetupData(), and LBM4SWED2Q9< DataType >::Step().
virtual int LBM4SWED2Q9< DataType >::OutgoingIndices | ( | const int | side, | |
int | indices[] | |||
) | const [inline, virtual] |
virtual void LBM4SWED2Q9< DataType >::Output | ( | vec_grid_data_type & | fvec, | |
grid_data_type & | workvec, | |||
const int | cnt, | |||
const int | skip_ghosts = 1 | |||
) | const [inline, virtual] |
virtual void LBM4SWED2Q9< DataType >::register_at | ( | ControlDevice & | Ctrl, | |
const std::string & | prefix | |||
) | [inline, virtual] |
Reimplemented from AMRBase< vector_type, dim >.
References LBM4SWED2Q9< DataType >::csp, LBM4SWED2Q9< DataType >::e, LBM4SWED2Q9< DataType >::g, ControlDevice::getSubDevice(), AMRBase< vector_type, dim >::LocCtrl, LBM4SWED2Q9< DataType >::method, LBM4SWED2Q9< DataType >::nup, RegisterAt(), LBM4SWED2Q9< DataType >::rhop, and LBM4SWED2Q9< DataType >::tau.
virtual void LBM4SWED2Q9< DataType >::ReverseStream | ( | vec_grid_data_type & | fvec, | |
const BBox & | bb, | |||
const int | side | |||
) | const [inline, virtual] |
Implements LBMBase< Vector< DataType, 9 >, Vector< DataType, 3 >, 2 >.
References SchemeBase< vector_type, dim >::Bottom, SchemeBase< vector_type, dim >::idx(), SchemeBase< vector_type, dim >::Left, comm_service::log(), BBox::lower(), SchemeBase< vector_type, dim >::Right, BBox::stepsize(), SchemeBase< vector_type, dim >::Top, and BBox::upper().
void LBM4SWED2Q9< DataType >::SetDensityScale | ( | const DataType | r0 | ) | [inline] |
References LBM4SWED2Q9< DataType >::R0.
void LBM4SWED2Q9< DataType >::SetGravity | ( | DataType | grav | ) | [inline] |
References LBM4SWED2Q9< DataType >::g.
void LBM4SWED2Q9< DataType >::SetLatticeSpeed | ( | const DataType | e_spec | ) | [inline] |
References LBM4SWED2Q9< DataType >::e, and LBM4SWED2Q9< DataType >::U0.
virtual void LBM4SWED2Q9< DataType >::SetTimeScale | ( | const DataType | t0 | ) | [inline, virtual] |
Reimplemented from LBMBase< Vector< DataType, 9 >, Vector< DataType, 3 >, 2 >.
References LBMBase< Vector< DataType, 9 >, Vector< DataType, 3 >, 2 >::T0.
Referenced by LBM4SWED2Q9< DataType >::SetGas(), and LBM4SWED2Q9< DataType >::SetupData().
virtual void LBM4SWED2Q9< DataType >::SetupData | ( | GridHierarchy * | gh, | |
const int & | ghosts | |||
) | [inline, virtual] |
Reimplemented from AMRBase< vector_type, dim >.
References LBM4SWED2Q9< DataType >::cs2p, LBM4SWED2Q9< DataType >::csp, LBM4SWED2Q9< DataType >::e, LBM4SWED2Q9< DataType >::e2, LBM4SWED2Q9< DataType >::L0(), LBM4SWED2Q9< DataType >::LatticeSpeed(), LBM4SWED2Q9< DataType >::nup, LBM4SWED2Q9< DataType >::Omega_tau(), LBM4SWED2Q9< DataType >::R0, LBM4SWED2Q9< DataType >::rhop, LBM4SWED2Q9< DataType >::SetTimeScale(), AMRBase< vector_type, dim >::SetupData(), LBM4SWED2Q9< DataType >::T0(), and LBM4SWED2Q9< DataType >::U0.
void LBM4SWED2Q9< DataType >::SetVelocityScale | ( | const DataType | u0 | ) | [inline] |
virtual double LBM4SWED2Q9< 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] |
Implements SchemeBase< vector_type, dim >.
References LBM4SWED2Q9< DataType >::BedElevation(), LBM4SWED2Q9< DataType >::e, LBM4SWED2Q9< DataType >::e2, LBM4SWED2Q9< DataType >::Equilibrium(), LBM4SWED2Q9< DataType >::g, AMRBase< vector_type, dim >::GH(), SchemeBase< vector_type, dim >::idx(), LBM4SWED2Q9< DataType >::L0(), LB_FACTOR, BBox::lower(), LBM4SWED2Q9< DataType >::MacroVariables(), AMRBase< vector_type, dim >::NGhosts(), LBM4SWED2Q9< DataType >::Omega_tau(), BBox::stepsize(), BBox::upper(), and GridHierarchy::worldStep().
const DataType& LBM4SWED2Q9< DataType >::T0 | ( | ) | const [inline] |
References LBMBase< Vector< DataType, 9 >, Vector< DataType, 3 >, 2 >::TimeScale().
Referenced by LBM4SWED2Q9< DataType >::SetupData().
const DataType& LBM4SWED2Q9< DataType >::VelocityScale | ( | ) | const [inline] |
References LBM4SWED2Q9< DataType >::U0.
DataType LBM4SWED2Q9< DataType >::cs2 [protected] |
DataType LBM4SWED2Q9< DataType >::cs22 [protected] |
Referenced by LBM4SWED2Q9< DataType >::LBM4SWED2Q9().
DataType LBM4SWED2Q9< DataType >::cs2p [protected] |
DataType LBM4SWED2Q9< DataType >::csp [protected] |
DataType LBM4SWED2Q9< DataType >::cssq [protected] |
Referenced by LBM4SWED2Q9< DataType >::LBM4SWED2Q9().
DataType LBM4SWED2Q9< DataType >::e [protected] |
Referenced by LBM4SWED2Q9< DataType >::Equilibrium(), LBM4SWED2Q9< DataType >::LatticeSpeed(), LBM4SWED2Q9< DataType >::MacroVariables(), LBM4SWED2Q9< DataType >::register_at(), LBM4SWED2Q9< DataType >::SetGas(), LBM4SWED2Q9< DataType >::SetLatticeSpeed(), LBM4SWED2Q9< DataType >::SetupData(), and LBM4SWED2Q9< DataType >::Step().
DataType LBM4SWED2Q9< DataType >::e2 [protected] |
DataType LBM4SWED2Q9< DataType >::g [protected] |
int LBM4SWED2Q9< DataType >::mdx[9] [protected] |
Referenced by LBM4SWED2Q9< DataType >::Check(), and LBM4SWED2Q9< DataType >::LBM4SWED2Q9().
int LBM4SWED2Q9< DataType >::mdy[9] [protected] |
Referenced by LBM4SWED2Q9< DataType >::Check(), and LBM4SWED2Q9< DataType >::LBM4SWED2Q9().
int LBM4SWED2Q9< DataType >::method[1] [protected] |
Referenced by LBM4SWED2Q9< DataType >::LBM4SWED2Q9(), and LBM4SWED2Q9< DataType >::register_at().
DataType LBM4SWED2Q9< DataType >::nup [protected] |
DataType LBM4SWED2Q9< DataType >::R0 [protected] |
DataType LBM4SWED2Q9< DataType >::rhop [protected] |
DataType LBM4SWED2Q9< DataType >::tau [protected] |
Referenced by LBM4SWED2Q9< DataType >::Omega_tau(), and LBM4SWED2Q9< DataType >::register_at().
DataType LBM4SWED2Q9< DataType >::U0 [protected] |
Referenced by LBM4SWED2Q9< DataType >::BCStandard(), LBM4SWED2Q9< DataType >::ICStandard(), LBM4SWED2Q9< DataType >::Input(), LBM4SWED2Q9< DataType >::Output(), LBM4SWED2Q9< DataType >::SetLatticeSpeed(), LBM4SWED2Q9< DataType >::SetupData(), LBM4SWED2Q9< DataType >::SetVelocityScale(), and LBM4SWED2Q9< DataType >::VelocityScale().