![]() |
MechSys
1.0
Computing library for simulations in continuum and discrete mechanics
|
#include <Lattice.h>
Public Types | |
typedef void(* | ptFun_t )(Lattice &Lat, void *UserData) |
Public Member Functions | |
Lattice () | |
Lattice (LBMethod Method, double nu, iVec3_t Ndim, double dx, double dt) | |
void | Solve (double Tf, double dtOut, ptFun_t ptSetup=NULL, ptFun_t ptReport=NULL, char const *FileKey=NULL, bool RenderVideo=true, size_t Nproc=1) |
Solve the LBM equation in time. | |
void | Stream (size_t n=0, size_t Np=1) |
Stream the velocity distributions. | |
void | Stream1 (size_t n=0, size_t Np=1) |
Stream the velocity distributions. | |
void | Stream2 (size_t n=0, size_t Np=1) |
Stream the velocity distributions. | |
void | SolidDisk (Vec3_t const &X, double R) |
Add a solid fixed disk in space. | |
void | SetZeroGamma (size_t n=0, size_t Np=1) |
Set an initial value for the fluid/solid ratio of each cell. | |
double | Psi (double) |
Interaction potential. | |
double | SolidFraction () |
Solid fraction. | |
void | ApplyForce () |
Apply molecular forces. | |
void | Collide () |
apply the collision operator | |
void | CollideAlt () |
apply the collision operator | |
void | BounceBack (size_t n=0, size_t Np=1) |
apply interaction with solids | |
void | WriteVTK (char const *FileKey) |
Write the state in a VTK file. | |
Cell * | GetCell (iVec3_t const &v) |
Get pointer to cell at v. | |
Public Attributes | |
size_t | idx_out |
double | Time |
double | G |
double | Gs |
double | Nu |
iVec3_t | Ndim |
double | dx |
double | dt |
double | Tau |
double | Rhoref |
double | Psiref |
Array< Cell * > | Cells |
Array< std::pair< Cell *, Cell * > > | CellPairs |
void * | UserData |
typedef void(* Lattice::ptFun_t)(Lattice &Lat, void *UserData) |
Lattice::Lattice | ( | ) | [inline] |
Lattice::Lattice | ( | LBMethod | Method, |
double | nu, | ||
iVec3_t | Ndim, | ||
double | dx, | ||
double | dt | ||
) | [inline] |
void Lattice::ApplyForce | ( | ) | [inline] |
Apply molecular forces.
void Lattice::BounceBack | ( | size_t | n = 0 , |
size_t | Np = 1 |
||
) | [inline] |
apply interaction with solids
void Lattice::Collide | ( | ) | [inline] |
apply the collision operator
void Lattice::CollideAlt | ( | ) | [inline] |
apply the collision operator
Cell * Lattice::GetCell | ( | iVec3_t const & | v | ) | [inline] |
Get pointer to cell at v.
double Lattice::Psi | ( | double | rho | ) | [inline] |
Interaction potential.
void Lattice::SetZeroGamma | ( | size_t | n = 0 , |
size_t | Np = 1 |
||
) | [inline] |
Set an initial value for the fluid/solid ratio of each cell.
void Lattice::SolidDisk | ( | Vec3_t const & | X, |
double | R | ||
) | [inline] |
Add a solid fixed disk in space.
double Lattice::SolidFraction | ( | ) | [inline] |
Solid fraction.
void Lattice::Solve | ( | double | Tf, |
double | dtOut, | ||
ptFun_t | ptSetup = NULL , |
||
ptFun_t | ptReport = NULL , |
||
char const * | FileKey = NULL , |
||
bool | RenderVideo = true , |
||
size_t | Nproc = 1 |
||
) | [inline] |
Solve the LBM equation in time.
void Lattice::Stream | ( | size_t | n = 0 , |
size_t | Np = 1 |
||
) | [inline] |
Stream the velocity distributions.
void Lattice::Stream1 | ( | size_t | n = 0 , |
size_t | Np = 1 |
||
) | [inline] |
Stream the velocity distributions.
void Lattice::Stream2 | ( | size_t | n = 0 , |
size_t | Np = 1 |
||
) | [inline] |
Stream the velocity distributions.
void Lattice::WriteVTK | ( | char const * | FileKey | ) | [inline] |
Write the state in a VTK file.
Array<std::pair<Cell *, Cell*> > Lattice::CellPairs |
double Lattice::dt |
double Lattice::dx |
double Lattice::G |
double Lattice::Gs |
size_t Lattice::idx_out |
double Lattice::Nu |
double Lattice::Psiref |
double Lattice::Rhoref |
double Lattice::Tau |
double Lattice::Time |
void* Lattice::UserData |