PeriDEM 0.2.0
PeriDEM -- Peridynamics-based high-fidelity model for granular media
|
A class to store model data. More...
#include <modelData.h>
Public Member Functions | |
ModelData (inp::Input *deck) | |
Constructor. | |
const particle::BaseParticle * | getParticleFromAllList (size_t i) const |
Get pointer to base particle. | |
particle::BaseParticle *& | getParticleFromAllList (size_t i) |
Get pointer to base particle. | |
const particle::BaseParticle * | getParticleFromParticleList (size_t i) const |
Get pointer to particle (excluding wall) | |
particle::BaseParticle *& | getParticleFromParticleList (size_t i) |
const particle::BaseParticle * | getParticleFromWallList (size_t i) const |
Get pointer to wall. | |
particle::BaseParticle *& | getParticleFromWallList (size_t i) |
double | getDensity (size_t i) |
Get density of particle. | |
double | getHorizon (size_t i) |
Get horizon of particle. | |
size_t & | getPtId (size_t i) |
Get particle id given the location in particle list. | |
const size_t & | getPtId (size_t i) const |
Get particle id given the location in particle list. | |
void | setPtId (size_t i, const size_t &id) |
Set particle id given the location in particle list. | |
double | getKeyData (std::string key, bool issue_err=false) |
Get data for a key. | |
void | appendKeyData (std::string key, double data, bool issue_err=false) |
Append value to data associated with key. | |
void | setKeyData (std::string key, double data, bool issue_err=false) |
Set value to data associated with key. | |
Get and set reference coordinate | |
util::Point & | getXRef (size_t i) |
Get reference coordinate of the node. | |
const util::Point & | getXRef (size_t i) const |
Get reference coordinate of the node. | |
void | setXRef (size_t i, const util::Point &x) |
Set reference coordinate of the node. | |
void | addXRef (size_t i, const util::Point &x) |
Add reference coordinate of the node. | |
void | setXRef (size_t i, int dof, double x) |
Set specific reference coordinate of the node. | |
void | addXRef (size_t i, int dof, double x) |
Add specific reference coordinate of the node. | |
Get and set current coordinate | |
util::Point & | getX (size_t i) |
Get current coordinate of the node. | |
const util::Point & | getX (size_t i) const |
Get current coordinate of the node. | |
void | setX (size_t i, const util::Point &x) |
Set current coordinate of the node. | |
void | addX (size_t i, const util::Point &x) |
Add current coordinate of the node. | |
void | setX (size_t i, int dof, double x) |
Set specific current coordinate of the node. | |
void | addX (size_t i, int dof, double x) |
Add to specific current coordinate of the node. | |
Get and set displacement | |
util::Point & | getU (size_t i) |
Get displacement of the node. | |
const util::Point & | getU (size_t i) const |
Get displacement of the node. | |
void | setU (size_t i, const util::Point &u) |
Set displacement of the node. | |
void | addU (size_t i, const util::Point &u) |
Add to displacement of the node. | |
void | setU (size_t i, int dof, double u) |
Set displacement of the node. | |
void | addU (size_t i, int dof, double u) |
Add to displacement of the node. | |
Get and set velocity | |
util::Point & | getV (size_t i) |
Get velocity of the node. | |
const util::Point & | getV (size_t i) const |
Get velocity of the node. | |
void | setV (size_t i, const util::Point &v) |
Set velocity of the node. | |
void | addV (size_t i, const util::Point &v) |
Add to velocity of the node. | |
void | setV (size_t i, int dof, double v) |
Set velocity of the node. | |
void | addV (size_t i, int dof, double v) |
Add to velocity of the node. | |
Get and set force | |
util::Point & | getF (size_t i) |
Get force of the node. | |
const util::Point & | getF (size_t i) const |
Get force of the node. | |
void | setF (size_t i, const util::Point &f) |
Set force of the node. | |
void | addF (size_t i, const util::Point &f) |
Add to force of the node. | |
void | setF (size_t i, int dof, double f) |
Set force of the node. | |
void | addF (size_t i, int dof, double f) |
Add to force of the node. | |
Get and set volume | |
double & | getVol (size_t i) |
Get volume of the node. | |
const double & | getVol (size_t i) const |
Get volume of the node. | |
void | setVol (size_t i, const double &vol) |
Set volume of the node. | |
void | addVol (size_t i, const double &vol) |
Add to volume of the node. | |
Get and set fixity | |
uint8_t & | getFix (size_t i) |
Get fixity of the node. | |
const uint8_t & | getFix (size_t i) const |
Get fixity of the node. | |
void | setFix (size_t i, const unsigned int &dof, const bool &flag) |
Set fixity of the node. | |
Get and set mx | |
double & | getMx (size_t i) |
Get weighted-volume (mx) of the node. | |
const double & | getMx (size_t i) const |
Get weighted-volume (mx) of the node. | |
void | setMx (size_t i, const double &mx) |
Set weighted-volume (mx) of the node. | |
void | addMx (size_t i, const double &mx) |
Add to weighted-volume (mx) of the node. | |
Get and set thetax | |
double & | getThetax (size_t i) |
Get volumetric deformation (thetax) of the node. | |
const double & | getThetax (size_t i) const |
Get volumetric deformation (thetax) of the node. | |
void | setThetax (size_t i, const double &thetax) |
Set volumetric deformation (thetax) of the node. | |
void | addThetax (size_t i, const double &thetax) |
Add to volumetric deformation (thetax) of the node. | |
Data Fields | |
size_t | d_n |
Current time step. | |
double | d_time |
Current time. | |
double | d_currentDt |
Current timestep. | |
size_t | d_infoN |
Print log step interval. | |
std::map< std::string, double > | d_dbgData |
Debug data. | |
std::ofstream | d_ppFile |
File stream to output information. | |
inp::Input * | d_input_p |
Pointer to Input object. | |
std::shared_ptr< inp::ModelDeck > | d_modelDeck_p |
Model deck. | |
std::shared_ptr< inp::RestartDeck > | d_restartDeck_p |
Restart deck. | |
std::shared_ptr< inp::OutputDeck > | d_outputDeck_p |
Output deck. | |
std::shared_ptr< inp::ParticleDeck > | d_pDeck_p |
Particle deck. | |
std::shared_ptr< inp::ContactDeck > | d_cDeck_p |
Contact deck. | |
bool | d_stop |
flag to stop the simulation midway | |
double | d_hMax |
Minimum mesh over all particles and walls. | |
double | d_hMin |
Maximum mesh over all particles and walls. | |
double | d_maxContactR |
Maximum contact radius between over pairs of particles and walls. | |
size_t | d_contNeighUpdateInterval |
Neighborlist update interval. | |
size_t | d_contNeighTimestepCounter |
Contact neighborlist time step counter. | |
double | d_contNeighSearchRadius |
Neighborlist contact search radius (multiple of d_maxContactR). This variable will be updated during simulation based on maximum velocity. | |
std::vector< std::shared_ptr< particle::RefParticle > > | d_referenceParticles |
Pointer to reference particle. | |
std::vector< particle::BaseParticle * > | d_particlesListTypeAll |
List of particles + walls. | |
std::vector< particle::BaseParticle * > | d_particlesListTypeParticle |
List of particles. | |
std::vector< particle::BaseParticle * > | d_particlesListTypeWall |
List of walls. | |
std::vector< inp::MatData > | d_particlesMatDataList |
List of particle material data. Only populated if needed for calculation of stress or other quantities. | |
std::vector< double > | d_maxVelocityParticlesListTypeAll |
Maximum velocity among all nodes in the particle for each particle. | |
double | d_maxVelocity |
Maximum velocity among all nodes. | |
std::vector< std::vector< size_t > > | d_zInfo |
Zone information of particles. For zone 0, d_zInfo[0] = [n1, n2] where n1 is the index at which the particle in this zone starts in d_particlesListTypeAll and n2 is the index + 1, where index is at which the particle in this zone ends. | |
std::unique_ptr< loading::ParticleULoading > | d_uLoading_p |
Pointer to displacement Loading object. | |
std::unique_ptr< loading::ParticleFLoading > | d_fLoading_p |
Pointer to force Loading object. | |
std::unique_ptr< geometry::Fracture > | d_fracture_p |
Fracture state of bonds. | |
std::unique_ptr< NSearch > | d_nsearch_p |
Pointer to nsearch. | |
std::vector< util::Point > | d_xRef |
reference positions of the nodes | |
std::vector< util::Point > | d_x |
Current positions of the nodes. | |
std::vector< util::Point > | d_u |
Displacement of the nodes. | |
std::vector< util::Point > | d_v |
Velocity of the nodes. | |
std::vector< double > | d_vMag |
Magnitude of velocity of the nodes. | |
std::vector< util::Point > | d_f |
Total force on the nodes. | |
std::vector< double > | d_vol |
Nodal volumes. | |
std::vector< size_t > | d_ptId |
Global node to particle id (walls are assigned id after last particle id) | |
std::vector< std::vector< size_t > > | d_neighC |
Neighbor data for contact forces. | |
std::vector< std::vector< size_t > > | d_neighPd |
Neighbor data for peridynamic forces. | |
std::vector< std::vector< float > > | d_neighPdSqdDist |
Square distance neighbor data for peridynamic forces. | |
std::vector< std::vector< std::vector< size_t > > > | d_neighWallNodes |
Neighbor data for contact between particle and walls. | |
std::vector< std::vector< std::vector< double > > > | d_neighWallNodesDistance |
Neighbor data (distance) for contact between particle and walls. | |
std::vector< std::vector< size_t > > | d_neighWallNodesCondensed |
Neighbor data for contact between particle and walls condensed into single vector for each particle. | |
std::vector< uint8_t > | d_fix |
Vector of fixity mask of each node. | |
std::vector< uint8_t > | d_forceFixity |
Vector of fixity mask of each node for force. | |
std::vector< double > | d_thetaX |
Dilation. | |
std::vector< double > | d_mX |
Weighted volume. | |
std::vector< size_t > | d_fPdCompNodes |
List of global nodes on which force (peridynamic/internal) is to be computed. | |
std::vector< size_t > | d_fContCompNodes |
List of global nodes on which force (contact) is to be computed. | |
std::vector< float > | d_Z |
Damage at nodes. | |
Minor simulation data | |
These are postprocessing data and are created if only required during output or postprocessing. | |
std::vector< float > | d_e |
Energy of the nodes. | |
std::vector< float > | d_w |
Work done on each of the nodes. | |
std::vector< float > | d_phi |
Damage function \( \phi \) at the nodes. | |
std::vector< float > | d_eF |
Fracture energy of the nodes. | |
std::vector< float > | d_eFB |
Bond-based fracture energy of the nodes. | |
std::vector< util::Point > | d_xQuadCur |
Current position of quadrature points. | |
std::vector< util::SymMatrix3 > | d_strain |
Strain in elements (values at quadrature points) | |
std::vector< util::SymMatrix3 > | d_stress |
Stress in elements (values at quadrature points) | |
float | d_te |
Total internal energy. | |
float | d_tw |
Total work done. | |
float | d_tk |
Total kinetic energy. | |
float | d_teF |
Total fracture energy. | |
float | d_teFB |
Total bond-based fracture energy. | |
A class to store model data.
Definition at line 47 of file modelData.h.
|
inline |
Constructor.
deck | Input deck |
Definition at line 54 of file modelData.h.
|
inline |
Add to force of the node.
i | Global id of node |
f | Force to add |
Definition at line 382 of file modelData.h.
References d_f.
|
inline |
Add to force of the node.
i | Global id of node |
dof | Direction or degree of freedom to be modified |
f | Force to add |
Definition at line 398 of file modelData.h.
References d_f.
|
inline |
Add to weighted-volume (mx) of the node.
i | Global id of node |
mx | Weighted-volume to add |
Definition at line 494 of file modelData.h.
References d_mX.
|
inline |
Add to volumetric deformation (thetax) of the node.
i | Global id of node |
thetax | Volumetric deformation to add |
Definition at line 525 of file modelData.h.
References d_thetaX.
|
inline |
Add to displacement of the node.
i | Global id of node |
u | Displacement to add |
Definition at line 288 of file modelData.h.
References d_u.
|
inline |
Add to displacement of the node.
i | Global id of node |
dof | Direction or degree of freedom to be modified |
u | Displacement to add |
Definition at line 304 of file modelData.h.
References d_u.
|
inline |
Add to velocity of the node.
i | Global id of node |
v | Velocity to add |
Definition at line 335 of file modelData.h.
References d_v.
|
inline |
Add to velocity of the node.
i | Global id of node |
dof | Direction or degree of freedom to be modified |
v | Velocity to add |
Definition at line 351 of file modelData.h.
References d_v.
|
inline |
Add to volume of the node.
i | Global id of node |
vol | Volume to add |
Definition at line 429 of file modelData.h.
References d_vol.
|
inline |
Add current coordinate of the node.
i | Global id of node |
x | Current coordinate to add |
Definition at line 241 of file modelData.h.
References d_x.
|
inline |
Add to specific current coordinate of the node.
i | Global id of node |
dof | Direction or degree of freedom to be modified |
x | Current coordinate to add |
Definition at line 257 of file modelData.h.
References d_x.
|
inline |
Add reference coordinate of the node.
i | Global id of node |
x | Reference coordinate to add |
Definition at line 194 of file modelData.h.
References d_xRef.
|
inline |
Add specific reference coordinate of the node.
i | Global id of node |
dof | Direction or degree of freedom to be modified |
x | Reference coordinate to add |
Definition at line 210 of file modelData.h.
References d_xRef.
|
inline |
Append value to data associated with key.
key | Key to append the data to |
Definition at line 154 of file modelData.h.
References d_dbgData.
Referenced by peridynamics::Model::computeForces().
double model::ModelData::getDensity | ( | size_t | i | ) |
Get density of particle.
i | Location in the particle list |
Definition at line 14 of file modelData.cpp.
References d_particlesListTypeAll, and d_ptId.
|
inline |
Get force of the node.
i | Global id of node |
Definition at line 365 of file modelData.h.
References d_f.
|
inline |
Get force of the node.
i | Global id of node |
Definition at line 368 of file modelData.h.
References d_f.
|
inline |
Get fixity of the node.
i | Global id of node |
Definition at line 443 of file modelData.h.
References d_fix.
|
inline |
Get fixity of the node.
i | Global id of node |
Definition at line 446 of file modelData.h.
References d_fix.
double model::ModelData::getHorizon | ( | size_t | i | ) |
Get horizon of particle.
i | Location in the particle list |
Definition at line 17 of file modelData.cpp.
|
inline |
Get data for a key.
key | Key to access the data |
Definition at line 145 of file modelData.h.
References d_dbgData.
Referenced by peridynamics::Model::computeForces().
|
inline |
Get weighted-volume (mx) of the node.
i | Global id of node |
Definition at line 477 of file modelData.h.
References d_mX.
|
inline |
Get weighted-volume (mx) of the node.
i | Global id of node |
Definition at line 480 of file modelData.h.
References d_mX.
|
inline |
Get pointer to base particle.
i | Location in the particle list |
Definition at line 80 of file modelData.h.
References d_particlesListTypeAll.
|
inline |
Get pointer to base particle.
i | Location in the particle list |
Definition at line 76 of file modelData.h.
References d_particlesListTypeAll.
|
inline |
Definition at line 92 of file modelData.h.
References d_particlesListTypeParticle.
|
inline |
Get pointer to particle (excluding wall)
i | Location in the particle list |
Definition at line 88 of file modelData.h.
References d_particlesListTypeParticle.
|
inline |
Definition at line 104 of file modelData.h.
References d_particlesListTypeWall.
|
inline |
Get pointer to wall.
i | Location in the wall list |
Definition at line 100 of file modelData.h.
References d_particlesListTypeWall.
|
inline |
Get particle id given the location in particle list.
i | Location in the particle list |
Definition at line 126 of file modelData.h.
References d_ptId.
|
inline |
Get particle id given the location in particle list.
i | Location in the particle list |
Definition at line 129 of file modelData.h.
References d_ptId.
|
inline |
Get volumetric deformation (thetax) of the node.
i | Global id of node |
Definition at line 508 of file modelData.h.
References d_thetaX.
|
inline |
Get volumetric deformation (thetax) of the node.
i | Global id of node |
Definition at line 511 of file modelData.h.
References d_thetaX.
|
inline |
Get displacement of the node.
i | Global id of node |
Definition at line 271 of file modelData.h.
References d_u.
|
inline |
Get displacement of the node.
i | Global id of node |
Definition at line 274 of file modelData.h.
References d_u.
|
inline |
Get velocity of the node.
i | Global id of node |
Definition at line 318 of file modelData.h.
References d_v.
|
inline |
Get velocity of the node.
i | Global id of node |
Definition at line 321 of file modelData.h.
References d_v.
|
inline |
Get volume of the node.
i | Global id of node |
Definition at line 412 of file modelData.h.
References d_vol.
|
inline |
Get volume of the node.
i | Global id of node |
Definition at line 415 of file modelData.h.
References d_vol.
|
inline |
Get current coordinate of the node.
i | Global id of node |
Definition at line 224 of file modelData.h.
References d_x.
|
inline |
Get current coordinate of the node.
i | Global id of node |
Definition at line 227 of file modelData.h.
References d_x.
|
inline |
Get reference coordinate of the node.
i | Global id of node |
Definition at line 177 of file modelData.h.
References d_xRef.
|
inline |
Get reference coordinate of the node.
i | Global id of node |
Definition at line 180 of file modelData.h.
References d_xRef.
|
inline |
Set force of the node.
i | Global id of node |
f | Force to set |
Definition at line 375 of file modelData.h.
References d_f.
|
inline |
Set force of the node.
i | Global id of node |
dof | Direction or degree of freedom to be modified |
f | Force to set |
Definition at line 390 of file modelData.h.
References d_f.
|
inline |
Set fixity of the node.
i | Global id of node |
dof | Direction or degree of freedom to be modified |
flag | Fixity to set |
Definition at line 454 of file modelData.h.
References d_fix.
|
inline |
Set value to data associated with key.
key | Key to append the data to |
Definition at line 163 of file modelData.h.
References d_dbgData.
|
inline |
Set weighted-volume (mx) of the node.
i | Global id of node |
mx | Weighted-volume to set |
Definition at line 487 of file modelData.h.
References d_mX.
|
inline |
Set particle id given the location in particle list.
i | Location in the particle list |
id | Particle id to set |
Definition at line 136 of file modelData.h.
References d_ptId.
|
inline |
Set volumetric deformation (thetax) of the node.
i | Global id of node |
thetax | Volumetric deformation to set |
Definition at line 518 of file modelData.h.
References d_thetaX.
|
inline |
Set displacement of the node.
i | Global id of node |
u | Displacement to set |
Definition at line 281 of file modelData.h.
References d_u.
|
inline |
Set displacement of the node.
i | Global id of node |
dof | Direction or degree of freedom to be modified |
u | Displacement to set |
Definition at line 296 of file modelData.h.
References d_u.
|
inline |
Set velocity of the node.
i | Global id of node |
v | Velocity to set |
Definition at line 328 of file modelData.h.
References d_v.
|
inline |
Set velocity of the node.
i | Global id of node |
dof | Direction or degree of freedom to be modified |
v | Velocity to set |
Definition at line 343 of file modelData.h.
References d_v.
|
inline |
Set volume of the node.
i | Global id of node |
vol | Volume to set |
Definition at line 422 of file modelData.h.
References d_vol.
|
inline |
Set current coordinate of the node.
i | Global id of node |
x | Current coordinate to set |
Definition at line 234 of file modelData.h.
References d_x.
|
inline |
Set specific current coordinate of the node.
i | Global id of node |
dof | Direction or degree of freedom to be modified |
x | Current coordinate to set |
Definition at line 249 of file modelData.h.
References d_x.
|
inline |
Set reference coordinate of the node.
i | Global id of node |
x | Reference coordinate to set |
Definition at line 187 of file modelData.h.
References d_xRef.
|
inline |
Set specific reference coordinate of the node.
i | Global id of node |
dof | Direction or degree of freedom to be modified |
x | Reference coordinate to set |
Definition at line 202 of file modelData.h.
References d_xRef.
std::shared_ptr<inp::ContactDeck> model::ModelData::d_cDeck_p |
Contact deck.
Definition at line 564 of file modelData.h.
Referenced by twoparticle_demo::Model::twoParticleTestPenetrationDist().
double model::ModelData::d_contNeighSearchRadius |
Neighborlist contact search radius (multiple of d_maxContactR). This variable will be updated during simulation based on maximum velocity.
Definition at line 586 of file modelData.h.
size_t model::ModelData::d_contNeighTimestepCounter |
Contact neighborlist time step counter.
Definition at line 583 of file modelData.h.
size_t model::ModelData::d_contNeighUpdateInterval |
Neighborlist update interval.
Definition at line 580 of file modelData.h.
double model::ModelData::d_currentDt |
Current timestep.
Definition at line 537 of file modelData.h.
std::map<std::string, double> model::ModelData::d_dbgData |
Debug data.
Definition at line 543 of file modelData.h.
Referenced by appendKeyData(), getKeyData(), and setKeyData().
std::vector<float> model::ModelData::d_e |
Energy of the nodes.
Definition at line 716 of file modelData.h.
std::vector<float> model::ModelData::d_eF |
Fracture energy of the nodes.
Definition at line 725 of file modelData.h.
std::vector<float> model::ModelData::d_eFB |
Bond-based fracture energy of the nodes.
Definition at line 728 of file modelData.h.
std::vector<util::Point> model::ModelData::d_f |
std::vector<size_t> model::ModelData::d_fContCompNodes |
List of global nodes on which force (contact) is to be computed.
Definition at line 703 of file modelData.h.
std::vector<uint8_t> model::ModelData::d_fix |
Vector of fixity mask of each node.
First bit represents x-dof, second represents y-dof, and third represents z-dof. 0 represents free dof and 1 represents fixed dof.
We store data in uint8_t type which can hold 8 bit. At present we only use first 3 bits.
Definition at line 680 of file modelData.h.
std::unique_ptr<loading::ParticleFLoading> model::ModelData::d_fLoading_p |
Pointer to force Loading object.
Definition at line 621 of file modelData.h.
std::vector<uint8_t> model::ModelData::d_forceFixity |
Vector of fixity mask of each node for force.
Definition at line 683 of file modelData.h.
std::vector<size_t> model::ModelData::d_fPdCompNodes |
List of global nodes on which force (peridynamic/internal) is to be computed.
Definition at line 700 of file modelData.h.
std::unique_ptr<geometry::Fracture> model::ModelData::d_fracture_p |
Fracture state of bonds.
Definition at line 624 of file modelData.h.
double model::ModelData::d_hMax |
Minimum mesh over all particles and walls.
Definition at line 571 of file modelData.h.
double model::ModelData::d_hMin |
Maximum mesh over all particles and walls.
Definition at line 574 of file modelData.h.
size_t model::ModelData::d_infoN |
Print log step interval.
Definition at line 540 of file modelData.h.
Referenced by peridynamics::Model::computeForces(), twoparticle_demo::Model::integrate(), and twoparticle_demo::Model::twoParticleTestPenetrationDist().
inp::Input* model::ModelData::d_input_p |
Pointer to Input object.
Definition at line 549 of file modelData.h.
double model::ModelData::d_maxContactR |
Maximum contact radius between over pairs of particles and walls.
Definition at line 577 of file modelData.h.
double model::ModelData::d_maxVelocity |
Maximum velocity among all nodes.
Definition at line 610 of file modelData.h.
std::vector<double> model::ModelData::d_maxVelocityParticlesListTypeAll |
Maximum velocity among all nodes in the particle for each particle.
Definition at line 607 of file modelData.h.
std::shared_ptr<inp::ModelDeck> model::ModelData::d_modelDeck_p |
Model deck.
Definition at line 552 of file modelData.h.
Referenced by twoparticle_demo::Model::integrate(), twoparticle_demo::Model::run(), twoparticle_demo::Model::twoParticleTestMaxShearStress(), and twoparticle_demo::Model::twoParticleTestPenetrationDist().
std::vector<double> model::ModelData::d_mX |
size_t model::ModelData::d_n |
Current time step.
Definition at line 531 of file modelData.h.
Referenced by peridynamics::Model::computeForces(), twoparticle_demo::Model::integrate(), twoparticle_demo::Model::twoParticleTest(), and twoparticle_demo::Model::twoParticleTestPenetrationDist().
std::vector<std::vector<size_t> > model::ModelData::d_neighC |
Neighbor data for contact forces.
Definition at line 655 of file modelData.h.
std::vector<std::vector<size_t> > model::ModelData::d_neighPd |
Neighbor data for peridynamic forces.
Definition at line 658 of file modelData.h.
std::vector<std::vector<float> > model::ModelData::d_neighPdSqdDist |
Square distance neighbor data for peridynamic forces.
Definition at line 661 of file modelData.h.
std::vector<std::vector<std::vector<size_t> > > model::ModelData::d_neighWallNodes |
Neighbor data for contact between particle and walls.
Definition at line 664 of file modelData.h.
std::vector<std::vector<size_t> > model::ModelData::d_neighWallNodesCondensed |
Neighbor data for contact between particle and walls condensed into single vector for each particle.
Definition at line 670 of file modelData.h.
std::vector<std::vector<std::vector<double> > > model::ModelData::d_neighWallNodesDistance |
Neighbor data (distance) for contact between particle and walls.
Definition at line 667 of file modelData.h.
std::unique_ptr<NSearch> model::ModelData::d_nsearch_p |
Pointer to nsearch.
Definition at line 627 of file modelData.h.
std::shared_ptr<inp::OutputDeck> model::ModelData::d_outputDeck_p |
Output deck.
Definition at line 558 of file modelData.h.
Referenced by model::DEMModel::DEMModel(), twoparticle_demo::Model::integrate(), twoparticle_demo::Model::Model(), and twoparticle_demo::Model::twoParticleTest().
std::vector<particle::BaseParticle*> model::ModelData::d_particlesListTypeAll |
List of particles + walls.
Definition at line 592 of file modelData.h.
Referenced by getDensity(), getParticleFromAllList(), getParticleFromAllList(), twoparticle_demo::Model::run(), twoparticle_demo::Model::twoParticleTestMaxShearStress(), and twoparticle_demo::Model::twoParticleTestPenetrationDist().
std::vector<particle::BaseParticle*> model::ModelData::d_particlesListTypeParticle |
List of particles.
Definition at line 595 of file modelData.h.
Referenced by getParticleFromParticleList(), and getParticleFromParticleList().
std::vector<particle::BaseParticle*> model::ModelData::d_particlesListTypeWall |
List of walls.
Definition at line 598 of file modelData.h.
Referenced by getParticleFromWallList(), and getParticleFromWallList().
std::vector<inp::MatData> model::ModelData::d_particlesMatDataList |
List of particle material data. Only populated if needed for calculation of stress or other quantities.
Definition at line 604 of file modelData.h.
Referenced by twoparticle_demo::Model::twoParticleTestMaxShearStress().
std::shared_ptr<inp::ParticleDeck> model::ModelData::d_pDeck_p |
Particle deck.
Definition at line 561 of file modelData.h.
Referenced by twoparticle_demo::Model::integrate(), twoparticle_demo::Model::twoParticleTestMaxShearStress(), and twoparticle_demo::Model::twoParticleTestPenetrationDist().
std::vector<float> model::ModelData::d_phi |
Damage function \( \phi \) at the nodes.
Definition at line 722 of file modelData.h.
std::ofstream model::ModelData::d_ppFile |
File stream to output information.
Definition at line 546 of file modelData.h.
Referenced by twoparticle_demo::Model::Model(), and twoparticle_demo::Model::twoParticleTest().
std::vector<size_t> model::ModelData::d_ptId |
Global node to particle id (walls are assigned id after last particle id)
Definition at line 652 of file modelData.h.
Referenced by getDensity(), getPtId(), getPtId(), and setPtId().
std::vector<std::shared_ptr<particle::RefParticle> > model::ModelData::d_referenceParticles |
Pointer to reference particle.
Definition at line 589 of file modelData.h.
std::shared_ptr<inp::RestartDeck> model::ModelData::d_restartDeck_p |
Restart deck.
Definition at line 555 of file modelData.h.
bool model::ModelData::d_stop |
flag to stop the simulation midway
Definition at line 568 of file modelData.h.
std::vector<util::SymMatrix3> model::ModelData::d_strain |
Strain in elements (values at quadrature points)
Definition at line 734 of file modelData.h.
Referenced by twoparticle_demo::Model::run(), and twoparticle_demo::Model::twoParticleTestMaxShearStress().
std::vector<util::SymMatrix3> model::ModelData::d_stress |
Stress in elements (values at quadrature points)
Definition at line 737 of file modelData.h.
Referenced by twoparticle_demo::Model::run(), and twoparticle_demo::Model::twoParticleTestMaxShearStress().
float model::ModelData::d_te |
Total internal energy.
Definition at line 740 of file modelData.h.
float model::ModelData::d_teF |
Total fracture energy.
Definition at line 749 of file modelData.h.
float model::ModelData::d_teFB |
Total bond-based fracture energy.
Definition at line 752 of file modelData.h.
std::vector<double> model::ModelData::d_thetaX |
Dilation.
In case of nonlinear peridynamic state based model, this will be the spherical (hydrostatic) strain
Definition at line 690 of file modelData.h.
Referenced by addThetax(), getThetax(), getThetax(), and setThetax().
double model::ModelData::d_time |
Current time.
Definition at line 534 of file modelData.h.
Referenced by twoparticle_demo::Model::integrate(), and twoparticle_demo::Model::twoParticleTest().
float model::ModelData::d_tk |
Total kinetic energy.
Definition at line 746 of file modelData.h.
float model::ModelData::d_tw |
Total work done.
Definition at line 743 of file modelData.h.
std::vector<util::Point> model::ModelData::d_u |
Displacement of the nodes.
Definition at line 636 of file modelData.h.
Referenced by addU(), addU(), getU(), getU(), setU(), setU(), and twoparticle_demo::Model::twoParticleTestMaxShearStress().
std::unique_ptr<loading::ParticleULoading> model::ModelData::d_uLoading_p |
Pointer to displacement Loading object.
Definition at line 618 of file modelData.h.
std::vector<util::Point> model::ModelData::d_v |
std::vector<double> model::ModelData::d_vMag |
Magnitude of velocity of the nodes.
Definition at line 642 of file modelData.h.
std::vector<double> model::ModelData::d_vol |
std::vector<float> model::ModelData::d_w |
Work done on each of the nodes.
Definition at line 719 of file modelData.h.
std::vector<util::Point> model::ModelData::d_x |
Current positions of the nodes.
Definition at line 633 of file modelData.h.
Referenced by addX(), addX(), peridynamics::Model::computeForces(), getX(), getX(), setX(), setX(), and twoparticle_demo::Model::twoParticleTestMaxShearStress().
std::vector<util::Point> model::ModelData::d_xQuadCur |
Current position of quadrature points.
Definition at line 731 of file modelData.h.
Referenced by twoparticle_demo::Model::run(), and twoparticle_demo::Model::twoParticleTestMaxShearStress().
std::vector<util::Point> model::ModelData::d_xRef |
reference positions of the nodes
Definition at line 630 of file modelData.h.
Referenced by addXRef(), addXRef(), getXRef(), getXRef(), setXRef(), setXRef(), and twoparticle_demo::Model::twoParticleTestMaxShearStress().
std::vector<float> model::ModelData::d_Z |
Damage at nodes.
Definition at line 706 of file modelData.h.
std::vector<std::vector<size_t> > model::ModelData::d_zInfo |
Zone information of particles. For zone 0, d_zInfo[0] = [n1, n2] where n1 is the index at which the particle in this zone starts in d_particlesListTypeAll and n2 is the index + 1, where index is at which the particle in this zone ends.
Definition at line 615 of file modelData.h.