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().