MechSys  1.0
Computing library for simulations in continuum and discrete mechanics
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Public Attributes
SPH::Domain Class Reference

#include <domain.h>

List of all members.

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.

Constructor & Destructor Documentation

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]

Member Function Documentation

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.

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.


Member Data Documentation

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.

Index for output pourposes.

Array of SPH interactons.

Vector containing number of division per side of the domain.

Array of SPH particles.

Array of SPH possible interactons.

The simulation Time.


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