#include <LBMD2Q9_DR.h>
Public Types | |
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 GridData< MacroType, 2 > | macro_grid_data_type |
typedef base::SideName | SideName |
typedef base::point_type | point_type |
Public Member Functions | |
LBMD2Q9DR () | |
virtual | ~LBMD2Q9DR () |
virtual void | register_at (ControlDevice &Ctrl, const std::string &prefix) |
virtual void | SetupData (GridHierarchy *gh, const int &ghosts) |
virtual int | DRInside (const DCoords lower, const DCoords upper) const |
virtual void | DRCollision (MicroType &f, const MicroType fmeql, const DataType damp, const DataType om) const |
virtual void | DRDamp (vec_grid_data_type &fvec) 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 | 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 |
DataType | QcritLocal (const MacroType qxp, const MacroType qxm, const MacroType qyp, const MacroType qym, const DCoords dx) const |
virtual const MacroType | DRflow () const |
Protected Attributes | |
int | WLBI [2] |
int | WUBI [2] |
int | DRbc [4] |
DataType | WLB [2] |
DataType | WUB [2] |
DataType | DRmin [2] |
DataType | DRmax [2] |
DataType | DRminThk [2] |
DataType | DRmaxThk [2] |
DataType | DRCoeff |
MacroType | DRFlow |
MicroType | fmeq |
typedef base::grid_data_type LBMD2Q9DR< DataType >::grid_data_type |
Reimplemented from LBMD2Q9< DataType >.
typedef GridData<MacroType,2> LBMD2Q9DR< DataType >::macro_grid_data_type |
Reimplemented from LBMD2Q9< DataType >.
typedef base::MacroType LBMD2Q9DR< DataType >::MacroType |
Reimplemented from LBMD2Q9< DataType >.
typedef base::MicroType LBMD2Q9DR< DataType >::MicroType |
Reimplemented from LBMD2Q9< DataType >.
typedef base::point_type LBMD2Q9DR< DataType >::point_type |
Reimplemented from LBMD2Q9< DataType >.
typedef base::SideName LBMD2Q9DR< DataType >::SideName |
Reimplemented from LBMD2Q9< DataType >.
typedef base::vec_grid_data_type LBMD2Q9DR< DataType >::vec_grid_data_type |
Reimplemented from LBMD2Q9< DataType >.
virtual void LBMD2Q9DR< 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] |
Novel non-reflecting inlets are a novel extention of the non-reflecting outlets based on Martin B. Schlaffer, Non-reflecting Boundary Conditions for the Lattice Boltzmann Method. 2013 , Q. Zou, and X. He, Pressure and velocity boundary conditions for the lattice Boltzmann, J. Phys. Fluids 9, 1591-1598 (1997) , and S. Izquierdo and N. Fueyo, Characteristic nonreflecting boundary conditions for open boundaries in lattice boltzmann methods, Physical Review E, 78 (2008).
No-slip wall with entrance and exit regions where no-slip conditions progress linearly to slip conditions at world boundaries. Inspired by no-slip/slip switching boundary condition written by Ralf Deiterding for VehicleOnGround case.
Reimplemented from LBMD2Q9< DataType >.
References LBMD2Q9< DataType >::BCStandard(), SchemeBase< vector_type, dim >::Bottom, LBMD2Q9< DataType >::cs2, LBMD2Q9DR< DataType >::DRmax, LBMD2Q9DR< DataType >::DRmin, LBMD2Q9DR< DataType >::DRminThk, LBMD2Q9< DataType >::Equilibrium(), LBMD2Q9< DataType >::EquilibriumType(), AMRBase< vector_type, dim >::GH(), SchemeBase< vector_type, dim >::idx(), LBMD2Q9< DataType >::LatticeSpeedOfSound(), SchemeBase< vector_type, dim >::Left, BBox::lower(), LBMD2Q9< DataType >::MacroVariables(), LBMD2Q9< DataType >::NormalDerivative(), LBMD2Q9< DataType >::NoSlipWallEntranceExit, LBMBase< Vector< DataType,(9+NUMPLUS) >, Vector< DataType, 3 >, 2 >::Physical, LBMD2Q9< DataType >::R0, LBMD2Q9< DataType >::rhop, SchemeBase< vector_type, dim >::Right, LBMD2Q9< DataType >::S0, BBox::stepsize(), SchemeBase< vector_type, dim >::Top, LBMD2Q9< DataType >::U0, BBox::upper(), LBMD2Q9< DataType >::WaveAmplitudes(), GridHierarchy::wlb(), LBMD2Q9DR< DataType >::WLB, GridHierarchy::worldCoords(), GridHierarchy::wub(), and LBMD2Q9DR< DataType >::WUB.
virtual void LBMD2Q9DR< DataType >::DRCollision | ( | MicroType & | f, | |
const MicroType | fmeql, | |||
const DataType | damp, | |||
const DataType | om | |||
) | const [inline, virtual] |
Novel damping collison forcing based on strain and prescribed macroscopic mean flow components.
References LBMD2Q9< DataType >::Cs_Smagorinsky, LBMD2Q9< DataType >::DeviatoricStress(), LBMD2Q9< DataType >::Equilibrium(), LBMD2Q9< DataType >::LES_dynamicMemory, LBMD2Q9< DataType >::LES_SmagorinskyMemory, LBMD2Q9< DataType >::MacroVariables(), LBMD2Q9< DataType >::S0, LBMD2Q9< DataType >::Strain(), and LBMD2Q9< DataType >::turbulence.
Referenced by LBMD2Q9DR< DataType >::DRDamp().
virtual void LBMD2Q9DR< DataType >::DRDamp | ( | vec_grid_data_type & | fvec | ) | const [inline, virtual] |
Novel boundary region approach that diminishes the deviation between lattice sites in the region and prescribed macroscopic mean flow component(s). The corners of inlets and outlets orthogonal to no-slip wall boundaries are allowed larger deviation from mean flow component(s).
References LBMD2Q9DR< DataType >::DRbc, LBMD2Q9DR< DataType >::DRCoeff, LBMD2Q9DR< DataType >::DRCollision(), LBMD2Q9DR< DataType >::DRFlow, LBMD2Q9DR< DataType >::DRmax, LBMD2Q9DR< DataType >::DRmaxThk, LBMD2Q9DR< DataType >::DRmin, LBMD2Q9DR< DataType >::DRminThk, LBMD2Q9< DataType >::Equilibrium(), LBMD2Q9DR< DataType >::fmeq, AMRBase< vector_type, dim >::GH(), SchemeBase< vector_type, dim >::idx(), LBMD2Q9< DataType >::MacroVariables(), AMRBase< vector_type, dim >::NGhosts(), LBMD2Q9< DataType >::Omega(), LBMD2Q9DR< DataType >::QcritLocal(), LBMD2Q9< DataType >::VelocityScale(), GridHierarchy::wlb(), LBMD2Q9DR< DataType >::WLB, GridHierarchy::worldCoords(), GridHierarchy::worldStep(), GridHierarchy::wub(), and LBMD2Q9DR< DataType >::WUB.
Referenced by LBMD2Q9DR< DataType >::Step().
virtual const MacroType LBMD2Q9DR< DataType >::DRflow | ( | ) | const [inline, virtual] |
References LBMD2Q9DR< DataType >::DRFlow.
virtual int LBMD2Q9DR< DataType >::DRInside | ( | const DCoords | lower, | |
const DCoords | upper | |||
) | const [inline, virtual] |
Determine if this fvec is in the damping region by checking if the four corners are within the rectangle defining the solution region.
portion or all of fvec is in damping region
fvec entirely in solution region
References LBMD2Q9DR< DataType >::DRmax, and LBMD2Q9DR< DataType >::DRmin.
Referenced by LBMD2Q9DR< DataType >::Step().
DataType LBMD2Q9DR< DataType >::QcritLocal | ( | const MacroType | qxp, | |
const MacroType | qxm, | |||
const MacroType | qyp, | |||
const MacroType | qym, | |||
const DCoords | dx | |||
) | const [inline] |
Q-criterion
Referenced by LBMD2Q9DR< DataType >::DRDamp().
virtual void LBMD2Q9DR< DataType >::register_at | ( | ControlDevice & | Ctrl, | |
const std::string & | prefix | |||
) | [inline, virtual] |
virtual void LBMD2Q9DR< DataType >::SetupData | ( | GridHierarchy * | gh, | |
const int & | ghosts | |||
) | [inline, virtual] |
Reimplemented from LBMD2Q9< DataType >.
References LBMD2Q9DR< DataType >::DRbc, LBMD2Q9DR< DataType >::DRCoeff, LBMD2Q9DR< DataType >::DRFlow, LBMD2Q9DR< DataType >::DRmax, LBMD2Q9DR< DataType >::DRmaxThk, LBMD2Q9DR< DataType >::DRmin, LBMD2Q9DR< DataType >::DRminThk, LBMD2Q9< DataType >::Equilibrium(), LBMD2Q9DR< DataType >::fmeq, AMRBase< vector_type, dim >::GH(), LBMD2Q9< DataType >::L0(), LBMD2Q9< DataType >::R0, LBMD2Q9< DataType >::S0, LBMD2Q9< DataType >::SetupData(), LBMD2Q9< DataType >::U0, GridHierarchy::wholebbox(), LBMD2Q9DR< DataType >::WLB, GridHierarchy::wlb(), LBMD2Q9DR< DataType >::WUB, and GridHierarchy::wub().
virtual double LBMD2Q9DR< 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] |
Reimplemented from LBMD2Q9< DataType >.
References LBMD2Q9DR< DataType >::DRDamp(), LBMD2Q9DR< DataType >::DRInside(), AMRBase< vector_type, dim >::GH(), lower(), LBMD2Q9< DataType >::Step(), upper(), and GridHierarchy::worldCoords().
Referenced by LBMD2Q9DR< DataType >::DRDamp(), and LBMD2Q9DR< DataType >::SetupData().