Standard 1d Navier-Stokes LBM stencil operator. More...
#include <LBMD1Q3.h>
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 DataType & | L0 () const |
const DataType & | T0 () const |
void | SetDensityScale (const DataType r0) |
void | SetVelocityScale (const DataType u0) |
void | SetSpeedUp (const DataType s0) |
virtual void | SetTimeScale (const DataType t0) |
const DataType & | DensityScale () const |
const DataType | VelocityScale () const |
const DataType & | SpeedUp () 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 & | GasDensity () const |
const DataType & | GasViscosity () const |
const DataType & | GasSpeedofSound () const |
const DataType & | GasViscosity (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] |
Standard 1d Navier-Stokes LBM stencil operator.
Density distribution indexing used, 1D-BGK-operator
C2--C0--C1
typedef base::grid_data_type LBMD1Q3< DataType >::grid_data_type |
Reimplemented from SchemeBase< vector_type, dim >.
typedef base::MacroType LBMD1Q3< DataType >::MacroType |
Reimplemented from LBMBase< Vector< DataType, 3 >, Vector< DataType, 2 >, 1 >.
typedef base::MicroType LBMD1Q3< DataType >::MicroType |
Reimplemented from LBMBase< Vector< DataType, 3 >, Vector< DataType, 2 >, 1 >.
typedef base::point_type LBMD1Q3< DataType >::point_type |
Reimplemented from SchemeBase< vector_type, dim >.
typedef base::SideName LBMD1Q3< DataType >::SideName |
Reimplemented from SchemeBase< vector_type, dim >.
typedef base::vec_grid_data_type LBMD1Q3< DataType >::vec_grid_data_type |
Reimplemented from LBMBase< Vector< DataType, 3 >, Vector< DataType, 2 >, 1 >.
enum LBMD1Q3::BCPredefined |
enum LBMD1Q3::ICPredefined |
virtual void LBMD1Q3< 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 LBMD1Q3< DataType >::Equilibrium(), LBMD1Q3< DataType >::Inlet, SchemeBase< vector_type, dim >::Left, BBox::lower(), LBMD1Q3< DataType >::MacroVariables(), LBMD1Q3< DataType >::NoSlipWall, LBMD1Q3< DataType >::Outlet, LBMD1Q3< DataType >::Outlet2, LBMBase< Vector< DataType, 3 >, Vector< DataType, 2 >, 1 >::Physical, LBMD1Q3< DataType >::Pressure, LBMD1Q3< DataType >::R0, SchemeBase< vector_type, dim >::Right, LBMD1Q3< DataType >::S0, BBox::stepsize(), LBMD1Q3< DataType >::U0, and BBox::upper().
virtual int LBMD1Q3< DataType >::Check | ( | vec_grid_data_type & | fvec, | |
const BBox & | bb, | |||
const double & | time, | |||
const int | verbose | |||
) | const [inline, virtual] |
virtual void LBMD1Q3< DataType >::Collision | ( | MicroType & | f, | |
const DataType | dt | |||
) | const [inline, virtual] |
References LBMD1Q3< DataType >::Equilibrium(), LBMD1Q3< DataType >::MacroVariables(), and LBMD1Q3< DataType >::Omega().
Referenced by LBMD1Q3< DataType >::LocalStep(), and LBMD1Q3< DataType >::Step().
References LBMD1Q3< DataType >::R0.
virtual MicroType LBMD1Q3< DataType >::Equilibrium | ( | const MacroType & | q | ) | const [inline, virtual] |
Implements LBMBase< Vector< DataType, 3 >, Vector< DataType, 2 >, 1 >.
References LBMD1Q3< DataType >::cs2, LBMD1Q3< DataType >::cs22, LBMD1Q3< DataType >::L0(), LBMD1Q3< DataType >::method, LBMD1Q3< DataType >::Omega(), LBMD1Q3< DataType >::R0, and LBMD1Q3< DataType >::T0().
Referenced by LBMD1Q3< DataType >::BCStandard(), LBMD1Q3< DataType >::Collision(), LBMD1Q3< DataType >::GFMBCStandard(), LBMD1Q3< DataType >::ICStandard(), and LBMD1Q3< DataType >::Input().
References LBMD1Q3< DataType >::rhop.
Referenced by LBMD1Q3< DataType >::ICStandard().
References LBMD1Q3< DataType >::csp.
Referenced by LBMD1Q3< DataType >::SetGas().
const DataType& LBMD1Q3< DataType >::GasViscosity | ( | const DataType | omega, | |
const DataType | cs, | |||
const DataType | dt | |||
) | const [inline] |
References LBMD1Q3< DataType >::S0.
References LBMD1Q3< DataType >::nup.
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] |
virtual void LBMD1Q3< 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 LBMD1Q3< DataType >::ConstantMacro, LBMD1Q3< DataType >::ConstantMicro, LBMD1Q3< DataType >::Equilibrium(), LBMD1Q3< DataType >::GasAtRest, LBMD1Q3< DataType >::GasDensity(), AMRBase< vector_type, dim >::NGhosts(), LBMBase< Vector< DataType, 3 >, Vector< DataType, 2 >, 1 >::NMacroVar(), LBMBase< Vector< DataType, 3 >, Vector< DataType, 2 >, 1 >::NMicroVar(), LBMBase< Vector< DataType, 3 >, Vector< DataType, 2 >, 1 >::Physical, LBMD1Q3< DataType >::R0, LBMD1Q3< DataType >::S0, and LBMD1Q3< DataType >::U0.
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] |
References LBMBase< Vector< DataType, 3 >, Vector< DataType, 2 >, 1 >::LengthScale().
Referenced by LBMD1Q3< DataType >::Equilibrium(), LBMD1Q3< DataType >::SetGas(), LBMD1Q3< DataType >::SetTimeScale(), LBMD1Q3< DataType >::SetupData(), LBMD1Q3< DataType >::SetVelocityScale(), and LBMD1Q3< DataType >::Step().
References LBMD1Q3< DataType >::cs2.
Referenced by LBMD1Q3< DataType >::SetGas(), and LBMD1Q3< DataType >::SetupData().
DataType LBMD1Q3< DataType >::LatticeViscosity | ( | const DataType | omega | ) | const [inline] |
References LBMD1Q3< DataType >::cs2.
virtual void LBMD1Q3< DataType >::LocalStep | ( | vec_grid_data_type & | fvec, | |
vec_grid_data_type & | ovec, | |||
const BBox & | bb, | |||
const double & | dt | |||
) | const [inline, virtual] |
Implements SchemeBase< vector_type, dim >.
virtual const DataType LBMD1Q3< DataType >::Omega | ( | const DataType | dt | ) | const [inline, virtual] |
Implements LBMBase< Vector< DataType, 3 >, Vector< DataType, 2 >, 1 >.
References LBMD1Q3< DataType >::cs2p, LBMD1Q3< DataType >::nup, and LBMD1Q3< DataType >::S0.
Referenced by LBMD1Q3< DataType >::Collision(), and LBMD1Q3< DataType >::Equilibrium().
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] |
virtual void LBMD1Q3< DataType >::register_at | ( | ControlDevice & | Ctrl, | |
const std::string & | prefix | |||
) | [inline, virtual] |
virtual void LBMD1Q3< DataType >::ReverseStream | ( | vec_grid_data_type & | fvec, | |
const BBox & | bb, | |||
const int | side | |||
) | const [inline, virtual] |
References LBMD1Q3< DataType >::R0.
References LBMD1Q3< DataType >::S0.
virtual void LBMD1Q3< DataType >::SetTimeScale | ( | const DataType | t0 | ) | [inline, virtual] |
Reimplemented from LBMBase< Vector< DataType, 3 >, Vector< DataType, 2 >, 1 >.
References LBMD1Q3< DataType >::L0(), LBMD1Q3< DataType >::S0, LBMD1Q3< DataType >::T0(), LBMBase< Vector< DataType, 3 >, Vector< DataType, 2 >, 1 >::T0, and LBMD1Q3< DataType >::U0.
Referenced by LBMD1Q3< DataType >::SetGas(), and LBMD1Q3< DataType >::SetupData().
virtual void LBMD1Q3< DataType >::SetupData | ( | GridHierarchy * | gh, | |
const int & | ghosts | |||
) | [inline, virtual] |
Reimplemented from AMRBase< vector_type, dim >.
References LBMD1Q3< DataType >::cs2p, LBMD1Q3< DataType >::csp, LBMD1Q3< DataType >::L0(), LBMD1Q3< DataType >::LatticeSpeedOfSound(), LBMD1Q3< DataType >::nup, LBMD1Q3< DataType >::R0, LBMD1Q3< DataType >::rhop, LBMD1Q3< DataType >::SetTimeScale(), AMRBase< vector_type, dim >::SetupData(), LBMD1Q3< DataType >::T0(), and LBMD1Q3< DataType >::U0.
References LBMD1Q3< DataType >::S0.
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] |
References LBMD1Q3< DataType >::S0, and LBMD1Q3< DataType >::U0.
Referenced by LBMD1Q3< DataType >::Equilibrium(), and LBMD1Q3< DataType >::LBMD1Q3().
Referenced by LBMD1Q3< DataType >::LBMD1Q3().
Referenced by LBMD1Q3< DataType >::Check(), LBMD1Q3< DataType >::LBMD1Q3(), and LBMD1Q3< DataType >::LocalStep().
Referenced by LBMD1Q3< DataType >::BCStandard(), LBMD1Q3< DataType >::GasViscosity(), LBMD1Q3< DataType >::GFMBCStandard(), LBMD1Q3< DataType >::ICStandard(), LBMD1Q3< DataType >::Input(), LBMD1Q3< DataType >::Omega(), LBMD1Q3< DataType >::Output(), LBMD1Q3< DataType >::register_at(), LBMD1Q3< DataType >::SetSpeedUp(), LBMD1Q3< DataType >::SetTimeScale(), LBMD1Q3< DataType >::SetVelocityScale(), LBMD1Q3< DataType >::SpeedUp(), and LBMD1Q3< DataType >::VelocityScale().
Referenced by LBMD1Q3< DataType >::BCStandard(), LBMD1Q3< DataType >::GFMBCStandard(), LBMD1Q3< DataType >::ICStandard(), LBMD1Q3< DataType >::Input(), LBMD1Q3< DataType >::Output(), LBMD1Q3< DataType >::SetTimeScale(), LBMD1Q3< DataType >::SetupData(), LBMD1Q3< DataType >::SetVelocityScale(), and LBMD1Q3< DataType >::VelocityScale().