![]() |
MechSys
1.0
Computing library for simulations in continuum and discrete mechanics
|
#include <Domain.h>
Public Types | |
typedef void(* | ptDFun_t )(Domain &Dom, void *UserData) |
Public Member Functions | |
Domain (LBMethod Method, Array< double > nu, iVec3_t Ndim, double dx, double dt) | |
Time step. | |
Domain (LBMethod Method, double nu, iVec3_t Ndim, double dx, double dt) | |
Time step. | |
void | ApplyForce (size_t n=0, size_t Np=1) |
Apply the interaction forces and the collision operator. | |
void | Collide (size_t n=0, size_t Np=1) |
Apply the interaction forces and the collision operator. | |
void | ImprintLattice () |
Imprint the DEM particles into the lattices. | |
void | Solve (double Tf, double dtOut, ptDFun_t ptSetup=NULL, ptDFun_t ptReport=NULL, char const *FileKey=NULL, bool RenderVideo=true, size_t Nproc=1) |
Solve the Domain dynamics. | |
void | AddDisk (int TheTag, Vec3_t const &TheX, Vec3_t const &TheV, Vec3_t const &TheW, double Therho, double TheR, double dt) |
Add a disk element. | |
void | AddSphere (int TheTag, Vec3_t const &TheX, Vec3_t const &TheV, Vec3_t const &TheW, double Therho, double TheR, double dt) |
Add a disk element. | |
void | ResetContacts () |
Reset contacts for verlet method DEM. | |
void | ResetDisplacements () |
Reset the displacements for the verlet method DEM. | |
double | MaxDisplacement () |
Give the maximun displacement of DEM particles. | |
void | BoundingBox (Vec3_t &Xmin, Vec3_t &Xmax) |
Bounding box for DEM particles. | |
Public Attributes | |
bool | PrtVec |
Print Vector data into the xdmf-h5 files. | |
Array< Lattice > | Lat |
Fluid Lattices. | |
Array< Particle * > | Particles |
Array of Disks. | |
Array< Interacton * > | Interactons |
Array of insteractons. | |
Array< Interacton * > | CInteractons |
Array of valid interactons. | |
Array< iVec3_t > | CellPairs |
pairs of cells | |
set< pair< Particle *, Particle * > > | Listofpairs |
List of pair of particles associated per interacton for memory optimization. | |
double | Time |
Time of the simulation. | |
double | dt |
Timestep. | |
double | Alpha |
Verlet distance. | |
double | Gmix |
Interaction constant for the mixture. | |
void * | UserData |
User Data. | |
size_t | idx_out |
The discrete time step. |
typedef void(* LBM::Domain::ptDFun_t)(Domain &Dom, void *UserData) |
LBM::Domain::Domain | ( | LBMethod | Method, |
Array< double > | nu, | ||
iVec3_t | Ndim, | ||
double | dx, | ||
double | dt | ||
) | [inline] |
Time step.
Method | Type of array, for example D2Q9 |
nu | Viscosity for each fluid |
Ndim | Cell divisions per side |
dx | Space spacing |
LBM::Domain::Domain | ( | LBMethod | Method, |
double | nu, | ||
iVec3_t | Ndim, | ||
double | dx, | ||
double | dt | ||
) | [inline] |
Time step.
Method | Type of array, for example D2Q9 |
nu | Viscosity for each fluid |
Ndim | Cell divisions per side |
dx | Space spacing |
void LBM::Domain::AddDisk | ( | int | TheTag, |
Vec3_t const & | TheX, | ||
Vec3_t const & | TheV, | ||
Vec3_t const & | TheW, | ||
double | Therho, | ||
double | TheR, | ||
double | dt | ||
) | [inline] |
Add a disk element.
void LBM::Domain::AddSphere | ( | int | TheTag, |
Vec3_t const & | TheX, | ||
Vec3_t const & | TheV, | ||
Vec3_t const & | TheW, | ||
double | Therho, | ||
double | TheR, | ||
double | dt | ||
) | [inline] |
Add a disk element.
void LBM::Domain::ApplyForce | ( | size_t | n = 0 , |
size_t | Np = 1 |
||
) | [inline] |
Apply the interaction forces and the collision operator.
void LBM::Domain::BoundingBox | ( | Vec3_t & | Xmin, |
Vec3_t & | Xmax | ||
) | [inline] |
Bounding box for DEM particles.
void LBM::Domain::Collide | ( | size_t | n = 0 , |
size_t | Np = 1 |
||
) |
Apply the interaction forces and the collision operator.
void LBM::Domain::ImprintLattice | ( | ) |
Imprint the DEM particles into the lattices.
double LBM::Domain::MaxDisplacement | ( | ) | [inline] |
Give the maximun displacement of DEM particles.
void LBM::Domain::ResetContacts | ( | ) | [inline] |
Reset contacts for verlet method DEM.
void LBM::Domain::ResetDisplacements | ( | ) | [inline] |
Reset the displacements for the verlet method DEM.
void LBM::Domain::Solve | ( | double | Tf, |
double | dtOut, | ||
ptDFun_t | ptSetup = NULL , |
||
ptDFun_t | ptReport = NULL , |
||
char const * | FileKey = NULL , |
||
bool | RenderVideo = true , |
||
size_t | Nproc = 1 |
||
) | [inline] |
Solve the Domain dynamics.
double LBM::Domain::Alpha |
Verlet distance.
pairs of cells
Array of valid interactons.
double LBM::Domain::dt |
Timestep.
double LBM::Domain::Gmix |
Interaction constant for the mixture.
size_t LBM::Domain::idx_out |
The discrete time step.
Array of insteractons.
Fluid Lattices.
set<pair<Particle *, Particle *> > LBM::Domain::Listofpairs |
List of pair of particles associated per interacton for memory optimization.
Array of Disks.
bool LBM::Domain::PrtVec |
Print Vector data into the xdmf-h5 files.
double LBM::Domain::Time |
Time of the simulation.
void* LBM::Domain::UserData |
User Data.