![]() |
MechSys
1.0
Computing library for simulations in continuum and discrete mechanics
|
#include <domain.h>
Public Member Functions | |
Domain (iVec3_t n, Vec3_t Xmin, Vec3_t Xmax) | |
Constructor with a vector containing the number of divisions per length, and Xmin Xmax defining the limits of the rectangular domain to be plotted. | |
~Domain () | |
void | AddBox (Vec3_t const &x, size_t nx, size_t ny, size_t nz, double h, double s, double rho0, bool Fixed) |
Add a box of SPHparticles. | |
void | AddRandomBox (Vec3_t const &V, double Lx, double Ly, double Lz, size_t nx, size_t ny, size_t nz, double rho0, double R, size_t RandomSeed=100) |
Add box of random positioned particles. | |
void | StartAcceleration (Vec3_t const &a=Vec3_t(0.0, 0.0, 0.0)) |
Add a fixed acceleration. | |
void | ComputeAcceleration (double dt) |
Compute the accleration due to the other particles. | |
void | Move (double dt) |
Compute the accleration due to the other particles. | |
void | WriteBPY (char const *FileKey) |
Draw the entire domain in a POV file. | |
void | WritePOV (char const *FileKey) |
Draw the entire domain in a blender file. | |
void | WriteVTK (char const *FileKey) |
Draw the entire domain in a VTK file. | |
void | ResetInteractons () |
Reset the interacton array. | |
void | ResetDisplacements () |
Reset the particles displacement. | |
void | ResetContacts () |
Reset the possible interactons. | |
double | MaxDisplacement () |
Find max displacement of particles. | |
void | Solve (double tf, double dt, double dtOut, char const *TheFileKey, bool RenderVideo=true) |
The solving function. | |
Public Attributes | |
Vec3_t | CamPos |
Camera position. | |
Vec3_t | Gravity |
Gravity acceleration. | |
Array< SPHParticle * > | Particles |
Array of SPH particles. | |
Array< SPHInteracton * > | Interactons |
Array of SPH interactons. | |
Array< SPHInteracton * > | PInteractons |
Array of SPH possible interactons. | |
size_t | idx_out |
Index for output pourposes. | |
double | Time |
The simulation Time. | |
double | Alpha |
Parameter for verlet lists. | |
iVec3_t | N_side |
Vector containing number of division per side of the domain. | |
Vec3_t | DXmin |
Point defining the bottom limit of the rectangle domain. | |
Vec3_t | DXmax |
Point defining the top limit of the rectangle domain. |
SPH::Domain::Domain | ( | iVec3_t | n, |
Vec3_t | Xmin, | ||
Vec3_t | Xmax | ||
) | [inline] |
Constructor with a vector containing the number of divisions per length, and Xmin Xmax defining the limits of the rectangular domain to be plotted.
SPH::Domain::~Domain | ( | ) | [inline] |
void SPH::Domain::AddBox | ( | Vec3_t const & | x, |
size_t | nx, | ||
size_t | ny, | ||
size_t | nz, | ||
double | h, | ||
double | s, | ||
double | rho0, | ||
bool | Fixed | ||
) | [inline] |
Add a box of SPHparticles.
void SPH::Domain::AddRandomBox | ( | Vec3_t const & | V, |
double | Lx, | ||
double | Ly, | ||
double | Lz, | ||
size_t | nx, | ||
size_t | ny, | ||
size_t | nz, | ||
double | rho0, | ||
double | R, | ||
size_t | RandomSeed = 100 |
||
) | [inline] |
Add box of random positioned particles.
void SPH::Domain::ComputeAcceleration | ( | double | dt | ) | [inline] |
Compute the accleration due to the other particles.
double SPH::Domain::MaxDisplacement | ( | ) | [inline] |
Find max displacement of particles.
void SPH::Domain::Move | ( | double | dt | ) | [inline] |
Compute the accleration due to the other particles.
void SPH::Domain::ResetContacts | ( | ) | [inline] |
Reset the possible interactons.
void SPH::Domain::ResetDisplacements | ( | ) | [inline] |
Reset the particles displacement.
void SPH::Domain::ResetInteractons | ( | ) | [inline] |
Reset the interacton array.
void SPH::Domain::Solve | ( | double | tf, |
double | dt, | ||
double | dtOut, | ||
char const * | TheFileKey, | ||
bool | RenderVideo = true |
||
) | [inline] |
The solving function.
void SPH::Domain::StartAcceleration | ( | Vec3_t const & | a = Vec3_t(0.0,0.0,0.0) | ) | [inline] |
Add a fixed acceleration.
void SPH::Domain::WriteBPY | ( | char const * | FileKey | ) | [inline] |
Draw the entire domain in a POV file.
void SPH::Domain::WritePOV | ( | char const * | FileKey | ) | [inline] |
Draw the entire domain in a blender file.
void SPH::Domain::WriteVTK | ( | char const * | FileKey | ) | [inline] |
Draw the entire domain in a VTK file.
double SPH::Domain::Alpha |
Parameter for verlet lists.
Camera position.
Point defining the top limit of the rectangle domain.
Point defining the bottom limit of the rectangle domain.
Gravity acceleration.
size_t SPH::Domain::idx_out |
Index for output pourposes.
Array<SPHInteracton*> SPH::Domain::Interactons |
Vector containing number of division per side of the domain.
Array<SPHParticle*> SPH::Domain::Particles |
Array<SPHInteracton*> SPH::Domain::PInteractons |
double SPH::Domain::Time |
The simulation Time.