MechSys  1.0
Computing library for simulations in continuum and discrete mechanics
Public Types | Public Member Functions | Public Attributes
Lattice Class Reference

#include <Lattice.h>

List of all members.

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

Member Typedef Documentation

typedef void(* Lattice::ptFun_t)(Lattice &Lat, void *UserData)

Constructor & Destructor Documentation

Lattice::Lattice ( ) [inline]
Lattice::Lattice ( LBMethod  Method,
double  nu,
iVec3_t  Ndim,
double  dx,
double  dt 
) [inline]

Member Function Documentation

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.


Member Data Documentation

Array<std::pair<Cell *, Cell*> > Lattice::CellPairs
double Lattice::dt
double Lattice::dx
double Lattice::G
double Lattice::Gs
double Lattice::Nu
double Lattice::Tau
double Lattice::Time

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines