NDDEM
|
#include <DEMND.h>
Public Member Functions | |
void | save_restart (const std::string &filename) |
void | load_restart (const std::string &filename) |
template<class Archive > | |
void | serialize (Archive &ar) |
Simulation (int NN) | |
void | init_from_file (char filename[]) |
Initialise the simulation from a file. More... | |
void | finalise_init () |
Tell NDDEM that the simulations are now initialised and we can start running. More... | |
void | interpret_command (string in) |
Interpret individual script command from string. More... | |
void | step_forward_all () |
Run the whole simulation as defined in the input script. More... | |
void | step_forward (int nt) |
Advance the simulation for nt steps (actual duration nt*dt). More... | |
void | finalise () |
Settles the simulation, closing open files etc. More... | |
Vector2Djs | getX () |
Expose the array of locations. More... | |
Vector1Djs | getRadii () |
Expose the array of radii. More... | |
void | setRadius (int id, double radius) |
Set the radius of a specific particle. More... | |
void | setMass (int id, double mass) |
Set the mass of a specific particle. More... | |
Vector2Djs | getVelocity () |
Expose the array of velocities. More... | |
Vector1Djs | getRotationRate () |
Expose the array of orientation rate. More... | |
Vector2Djs | getContactForce () |
DEPRECATED: Use getContactInfo with the appropriate flags instead. Expose the array of particle id and normal forces. More... | |
Vector2Djs | getContactInfos (int flags) |
Expose the array of contact information. More... | |
void | setVelocity (int id, Vector1Djs vel) |
Set the array of locations. More... | |
void | setAngularVelocity (int id, Vector1Djs omega) |
Set the angular velocity of a single particle. More... | |
void | fixParticle (int a, Vector1Djs loc) |
Set a single particle location, velocity, and angular velocity. More... | |
void | setFrozen (int a) |
Freeze a single particle. More... | |
double | getTime () |
Expose the current time. More... | |
double | getGravityAngle () |
Expose the current gravity angle. More... | |
Vector2Djs | getOrientation () |
Expose the array of orientation. More... | |
Vector1Djs | getBoundary (int a) |
Expose the array of boundaries. More... | |
void | setBoundary (int a, Vector1Djs loc) |
Vector2Djs | getWallForce () |
Expose the array of wall forces. More... | |
void | setExternalForce (int id, int duration, Vector1Djs force) |
Set an additional external force on a particle for a certain duration. More... | |
void | randomDrop () |
Public Attributes | |
Parameters< d > | P |
int | N |
std::vector< std::vector< double > > | X |
std::vector< std::vector< double > > | V |
std::vector< std::vector< double > > | A |
std::vector< std::vector< double > > | Omega |
std::vector< std::vector< double > > | F |
std::vector< std::vector< double > > | FOld |
std::vector< std::vector< double > > | Torque |
std::vector< std::vector< double > > | TorqueOld |
std::vector< double > | Vmag |
std::vector< double > | OmegaMag |
std::vector< double > | Z |
std::vector< std::vector< double > > | Fcorr |
std::vector< std::vector< double > > | TorqueCorr |
std::vector< std::optional< int > > | RigidBodyId |
std::vector< SpecificAction< d > > | ExternalAction |
std::vector< uint32_t > | PBCFlags |
std::vector< std::vector< double > > | WallForce |
std::vector< std::vector< double > > | empty_array |
std::vector< std::vector< double > > | ParticleForce |
vector< uint32_t > | Ghost |
vector< uint32_t > | Ghost_dir |
v1d | Atmp |
int | numthread =1 |
Multiproc< d > | MP |
Cells< d > | cells |
Octree< d > | octree |
double | t |
int | ti |
double | dt |
clock_t | tnow |
clock_t | tprevious |
|
inline |
|
inline |
Initialise the simulation from a file.
|
inline |
|
inline |
< Seed for the boost RNG. Initialised with the default seed of the Mersenne twister in Boost
|
inline |
|
inline |
|
inline |
Run the whole simulation as defined in the input script.
nt | number of timestep to advance |
std::vector< std::vector <double> > Simulation< d >::A |
v1d Simulation< d >::Atmp |
Cells<d> Simulation< d >::cells |
double Simulation< d >::dt |
std::vector<std::vector<double> > Simulation< d >::empty_array |
std::vector<SpecificAction<d> > Simulation< d >::ExternalAction |
std::vector< std::vector <double> > Simulation< d >::F |
std::vector< std::vector <double> > Simulation< d >::Fcorr |
std::vector< std::vector <double> > Simulation< d >::FOld |
vector<uint32_t> Simulation< d >::Ghost |
vector<uint32_t> Simulation< d >::Ghost_dir |
Multiproc<d> Simulation< d >::MP |
int Simulation< d >::N |
int Simulation< d >::numthread =1 |
Octree<d> Simulation< d >::octree |
std::vector< std::vector <double> > Simulation< d >::Omega |
std::vector< double > Simulation< d >::OmegaMag |
Parameters<d> Simulation< d >::P |
std::vector< std::vector <double> > Simulation< d >::ParticleForce |
std::vector<uint32_t> Simulation< d >::PBCFlags |
std::vector< std::optional<int> > Simulation< d >::RigidBodyId |
double Simulation< d >::t |
int Simulation< d >::ti |
clock_t Simulation< d >::tnow |
std::vector< std::vector <double> > Simulation< d >::Torque |
std::vector< std::vector <double> > Simulation< d >::TorqueCorr |
std::vector< std::vector <double> > Simulation< d >::TorqueOld |
clock_t Simulation< d >::tprevious |
std::vector< std::vector <double> > Simulation< d >::V |
std::vector< double > Simulation< d >::Vmag |
std::vector< std::vector <double> > Simulation< d >::WallForce |
std::vector< std::vector <double> > Simulation< d >::X |
std::vector< double > Simulation< d >::Z |