PeriDEM 0.2.0
PeriDEM -- Peridynamics-based high-fidelity model for granular media
Loading...
Searching...
No Matches
particle::BaseParticle Class Reference

A class to store particle geometry, nodal discretization, and methods. More...

#include <baseParticle.h>

Collaboration diagram for particle::BaseParticle:

Public Member Functions

 BaseParticle (std::string particle_type="none")
 Constructor.
 
 BaseParticle (std::string particle_type, size_t id, size_t particle_type_id, size_t zone_id, size_t dim, std::string particle_description, bool is_particle_a_wall, bool are_all_dofs_constrained, size_t num_nodes, double h, std::shared_ptr< model::ModelData > model_data, std::shared_ptr< particle::RefParticle > ref_particle, std::shared_ptr< util::geometry::GeomObject > geom, particle::ParticleTransform &transform, std::shared_ptr< fe::Mesh > mesh, inp::MaterialDeck &material_deck, bool populate_data=true)
 Constructor.
 
std::string printStr (int nt=0, int lvl=0) const
 Returns the string containing printable information about the object.
 
void print (int nt=0, int lvl=0) const
 Prints the information about the object.
 
Accessors
std::string getType () const
 Get type of this object.
 
int getTypeIndex () const
 Get type (in integer format) of this object.
 
size_t getId () const
 Get id.
 
size_t getDimension () const
 Get id among the group of object in the same type as this.
 
std::shared_ptr< fe::Mesh > & getMeshP ()
 Get pointer to mesh object.
 
const std::shared_ptr< fe::Mesh > & getMeshP () const
 Get pointer to mesh object.
 
fe::MeshgetMesh ()
 Get reference to mesh object.
 
const fe::MeshgetMesh () const
 Get reference to mesh object.
 
double getMeshSize () const
 Get mesh size.
 
double getDensity () const
 Get density.
 
double getHorizon () const
 Get horizon.
 
material::MaterialgetMaterial ()
 Get pointer to material object.
 
const material::MaterialgetMaterial () const
 Get type of this object.
 
size_t getNumNodes () const
 Get the number of nodes.
 
size_t getNodeId (size_t i_loc) const
 Get global id of node given the local id of node in this object.
 
Get and set reference coordinate
util::PointgetXRef (size_t i)
 Get reference coordinate of the node.
 
const util::PointgetXRef (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.
 
util::PointgetXRefLocal (size_t i)
 Get reference coordinate of the node given node's local id.
 
const util::PointgetXRefLocal (size_t i) const
 Get reference coordinate of the node.
 
void setXRefLocal (size_t i, const util::Point &x)
 Set reference coordinate of the node given node's local id.
 
void addXRefLocal (size_t i, const util::Point &x)
 Add to reference coordinate of the node given node's local id.
 
void setXRefLocal (size_t i, int dof, double x)
 Set specific reference coordinate of the node given node's local id.
 
void addXRefLocal (size_t i, int dof, double x)
 Add to specific reference coordinate of the node given node's local id.
 
Get and set current coordinate
util::PointgetX (size_t i)
 Get current coordinate of the node.
 
const util::PointgetX (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.
 
util::PointgetXLocal (size_t i)
 Get current coordinate of the node given node's local id.
 
const util::PointgetXLocal (size_t i) const
 Get current coordinate of the node.
 
void setXLocal (size_t i, const util::Point &x)
 Set current coordinate of the node given node's local id.
 
void addXLocal (size_t i, const util::Point &x)
 Add to current coordinate of the node given node's local id.
 
void setXLocal (size_t i, int dof, double x)
 Set specific current coordinate of the node given node's local id.
 
void addXLocal (size_t i, int dof, double x)
 Add to specific current coordinate of the node given node's local id.
 
Get and set displacement
util::PointgetU (size_t i)
 Get displacement of the node.
 
const util::PointgetU (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.
 
util::PointgetULocal (size_t i)
 Get displacement of the node given node's local id.
 
const util::PointgetULocal (size_t i) const
 Get displacement of the node given node's local id.
 
void setULocal (size_t i, const util::Point &u)
 Set displacement of the node given node's local id.
 
void addULocal (size_t i, const util::Point &u)
 Add to displacement of the node given node's local id.
 
void setULocal (size_t i, int dof, double u)
 Set displacement of the node given node's local id.
 
void addULocal (size_t i, int dof, double u)
 Add to displacement of the node given node's local id.
 
Get and set velocity
util::PointgetV (size_t i)
 Get velocity of the node.
 
const util::PointgetV (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.
 
util::PointgetVLocal (size_t i)
 Get velocity of the node given node's local id.
 
const util::PointgetVLocal (size_t i) const
 Get velocity of the node.
 
void setVLocal (size_t i, const util::Point &v)
 Set velocity of the node given node's local id.
 
void addVLocal (size_t i, const util::Point &v)
 Add to velocity of the node given node's local id.
 
void setVLocal (size_t i, int dof, double v)
 Set velocity of the node given node's local id.
 
void addVLocal (size_t i, int dof, double v)
 Add to velocity of the node given node's local id.
 
Get and set force
util::PointgetF (size_t i)
 Get force of the node.
 
const util::PointgetF (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.
 
util::PointgetFLocal (size_t i)
 Get force of the node given node's local id.
 
const util::PointgetFLocal (size_t i) const
 Get force of the node.
 
void setFLocal (size_t i, const util::Point &f)
 Set force of the node given node's local id.
 
void addFLocal (size_t i, const util::Point &f)
 Add to force of the node given node's local id.
 
void setFLocal (size_t i, int dof, double f)
 Set force of the node given node's local id.
 
void addFLocal (size_t i, int dof, double f)
 Add to force of the node given node's local id.
 
Get and set volume
doublegetVol (size_t i)
 Get volume of the node.
 
const doublegetVol (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.
 
doublegetVolLocal (size_t i)
 Get volume of the node given node's local id.
 
const doublegetVolLocal (size_t i) const
 Get volume of the node.
 
void setVolLocal (size_t i, const double &vol)
 Set volume of the node given node's local id.
 
void addVolLocal (size_t i, const double &vol)
 Add to volume of the node given node's local id.
 
Get and set fixity
uint8_tgetFix (size_t i)
 Get fixity of the node.
 
const uint8_tgetFix (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.
 
uint8_tgetFixLocal (size_t i)
 Get fixity of the node given node's local id.
 
const uint8_tgetFixLocal (size_t i) const
 Get fixity of the node.
 
void setFixLocal (size_t i, const unsigned int &dof, const bool &flag)
 Set fixity of the node given node's local id.
 
Get and set mx
doublegetMx (size_t i)
 Get weighted-volume (mx) of the node.
 
const doublegetMx (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.
 
doublegetMxLocal (size_t i)
 Get weighted-volume (mx) of the node given node's local id.
 
const doublegetMxLocal (size_t i) const
 Get weighted-volume (mx) of the node.
 
void setMxLocal (size_t i, const double &mx)
 Set weighted-volume (mx) of the node given node's local id.
 
void addMxLocal (size_t i, const double &mx)
 Add to weighted-volume (mx) of the node given node's local id.
 
Get and set thetax
doublegetThetax (size_t i)
 Get volumetric deformation (thetax) of the node.
 
const doublegetThetax (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.
 
doublegetThetaxLocal (size_t i)
 Get volumetric deformation (thetax) of the node given node's local id.
 
const doublegetThetaxLocal (size_t i) const
 Get volumetric deformation (thetax) of the node.
 
void setThetaxLocal (size_t i, const double &thetax)
 Set volumetric deformation (thetax) of the node given node's local id.
 
void addThetaxLocal (size_t i, const double &thetax)
 Add to volumetric deformation (thetax) of the node given node's local id.
 
Get and set center node data
size_t getCenterNodeId () const
 Get id of center node of particle.
 
double getParticleRadius () const
 Get radius of reference particle.
 
util::PointgetXCenter ()
 Get current coordinate of center node.
 
const util::PointgetXCenter () const
 Get current coordinate of center node.
 
util::PointgetUCenter ()
 Get displacement of center node.
 
const util::PointgetUCenter () const
 Get displacement of center node.
 
util::PointgetVCenter ()
 Get velocity of center node.
 
const util::PointgetVCenter () const
 Get velocity of center node.
 

Data Fields

std::string d_type
 particle type, e.g., particle or wall
 
std::string d_particleDescription
 Particle information. E.g., "rigid". If nothing specific is available, value will be empty string.
 
int d_typeIndex
 
bool d_isWall
 Is this particle actually a wall?
 
size_t d_id
 Id of this particle in all particles list.
 
size_t d_typeId
 Id of this particle in the category (for example if this is a wall, what is its id in vector of walls)
 
size_t d_zoneId
 Specify zone to which this particle belongs to.
 
size_t d_dim
 Dimension of this particle.
 
size_t d_numNodes
 Number of nodes in this particle.
 
double d_pRadius
 Particle radius.
 
double d_h
 mesh size
 
bool d_allDofsConstrained
 Specify if all dofs are constrained so we do not update displacement, velocity, and force data.
 
bool d_computeForce
 Specify if we compute force.
 
double d_horizon
 horizon
 
double d_density
 density
 
std::unique_ptr< material::Materiald_material_p
 Pointer to peridynamic material object.
 
double d_Rc
 Contact radius for contact between internal nodes of particle.
 
double d_Kn
 Normal contact coefficient for internal contact.
 
size_t d_globStart
 Id of first node of this object in global node list.
 
size_t d_globEnd
 Id of last node of this object in global node list.
 
size_t d_globQuadStart
 Id of first node of this object in global quadrature data list, e.g., strain in elements at quadrature points.
 
size_t d_globQuadEnd
 Id of last node of this object in global quadrature data list, e.g., strain in elements at quadrature points.
 
std::shared_ptr< model::ModelDatad_modelData_p
 Reference to model class.
 
std::shared_ptr< particle::RefParticled_rp_p
 Pointer to reference particle.
 
std::shared_ptr< util::geometry::GeomObjectd_geom_p
 Geometrical object defining this particle.
 
particle::ParticleTransform d_tform
 Transformation related data.
 
std::shared_ptr< fe::Meshd_mesh_p
 Pointer to mesh on reference particle.
 

Detailed Description

A class to store particle geometry, nodal discretization, and methods.

This class generates a base particle for peri-dem simulations. It holds the nodal positions, geometry of particle, list of nodes

Definition at line 31 of file baseParticle.h.

Constructor & Destructor Documentation

◆ BaseParticle() [1/2]

particle::BaseParticle::BaseParticle ( std::string  particle_type = "none")

Constructor.

Parameters
particle_typeType of the particle (e.g. particle or wall)

Definition at line 22 of file baseParticle.cpp.

24 d_typeIndex(-1),
25 d_id(0),
26 d_typeId(0),
27 d_zoneId(0),
28 d_dim(0),
30 d_isWall(false),
31 d_numNodes(0),
32 d_h(0.),
33 d_horizon(0.),
34 d_density(0.),
36 d_computeForce(true),
37 d_material_p(nullptr),
38 d_Rc(0.),
39 d_Kn(0.),
40 d_globStart(0),
41 d_globEnd(0),
44 d_modelData_p(nullptr),
45 d_rp_p(nullptr),
46 d_geom_p(nullptr),
48 d_mesh_p(nullptr) {
49
50 if (particle_type == "particle") {
51 d_typeIndex = 0;
52 d_isWall = false;
53 }
54 else if (particle_type == "wall") {
55 d_typeIndex = 1;
56 d_isWall = true;
57 }
58}
particle::ParticleTransform d_tform
Transformation related data.
double d_Rc
Contact radius for contact between internal nodes of particle.
std::shared_ptr< util::geometry::GeomObject > d_geom_p
Geometrical object defining this particle.
bool d_allDofsConstrained
Specify if all dofs are constrained so we do not update displacement, velocity, and force data.
bool d_computeForce
Specify if we compute force.
size_t d_globQuadEnd
Id of last node of this object in global quadrature data list, e.g., strain in elements at quadrature...
double d_horizon
horizon
double d_h
mesh size
size_t d_numNodes
Number of nodes in this particle.
size_t d_typeId
Id of this particle in the category (for example if this is a wall, what is its id in vector of walls...
size_t d_globStart
Id of first node of this object in global node list.
double d_density
density
std::shared_ptr< model::ModelData > d_modelData_p
Reference to model class.
bool d_isWall
Is this particle actually a wall?
size_t d_globQuadStart
Id of first node of this object in global quadrature data list, e.g., strain in elements at quadratur...
size_t d_id
Id of this particle in all particles list.
std::string d_particleDescription
Particle information. E.g., "rigid". If nothing specific is available, value will be empty string.
size_t d_dim
Dimension of this particle.
size_t d_zoneId
Specify zone to which this particle belongs to.
std::shared_ptr< fe::Mesh > d_mesh_p
Pointer to mesh on reference particle.
std::string d_type
particle type, e.g., particle or wall
size_t d_globEnd
Id of last node of this object in global node list.
std::unique_ptr< material::Material > d_material_p
Pointer to peridynamic material object.
double d_Kn
Normal contact coefficient for internal contact.
std::shared_ptr< particle::RefParticle > d_rp_p
Pointer to reference particle.
A struct that stores transformation parameters and provides method to transform the particle....

References d_dim, d_isWall, and d_typeIndex.

◆ BaseParticle() [2/2]

particle::BaseParticle::BaseParticle ( std::string  particle_type,
size_t  id,
size_t  particle_type_id,
size_t  zone_id,
size_t  dim,
std::string  particle_description,
bool  is_particle_a_wall,
bool  are_all_dofs_constrained,
size_t  num_nodes,
double  h,
std::shared_ptr< model::ModelData model_data,
std::shared_ptr< particle::RefParticle ref_particle,
std::shared_ptr< util::geometry::GeomObject geom,
particle::ParticleTransform transform,
std::shared_ptr< fe::Mesh mesh,
inp::MaterialDeck material_deck,
bool  populate_data = true 
)

Constructor.

Parameters
particle_typeType of the object (e.g. particle or wall)
idId of this object in list of all base particle objects
particle_type_idId of this object in list of specific type of particles (e.g. id in the list of walls or particles)
zone_idZone id this object belongs to
dimSpatial dimension
particle_descriptionDescription of particle if there is (e.g., 'rigid')
is_particle_a_wallIs this particle actually a wall?
are_all_dofs_constrainedTrue means all dofs are constrained so we do not need to compute forces
num_nodesNumber of nodes
hMesh size
model_dataGlobal model data
material_deckMaterial input data deck
populate_dataModify global model data to add the properties of this object

Definition at line 60 of file baseParticle.cpp.

78 d_typeIndex(-1),
79 d_id(id),
82 d_dim(dim),
86 d_h(h),
87 d_horizon(0),
88 d_density(0),
90 d_computeForce(true),
91 d_material_p(nullptr),
92 d_Rc(0.),
93 d_Kn(0.),
94 d_globStart(0),
95 d_globEnd(0),
100 d_geom_p(geom),
102 d_mesh_p(mesh),
103 d_pRadius(geom->boundingRadius()) {
104
105 if (d_type == "particle")
106 d_typeIndex = 0;
107 else if (d_type == "wall")
108 d_typeIndex = 1;
109
111
112 // check
113 if (d_type == "particle" and d_isWall) {
114 std::cerr << "Error: Can not have d_type = 'particle' and d_isWall = true.\n";
116 }
117 if (d_type == "wall" and !d_isWall) {
118 std::cerr << "Error: Can not have d_type = 'wall' and d_isWall = false.\n";
120 }
121
122 if (populate_data) {
123
124 d_globStart = d_modelData_p->d_x.size();
125 d_globEnd = d_modelData_p->d_x.size() + d_rp_p->getNumNodes();
126
127 for (size_t i = 0; i < d_rp_p->getNumNodes(); i++) {
128
129 d_modelData_p->d_xRef.push_back(d_tform.apply(d_rp_p->getNode(i)));
130 d_modelData_p->d_x.push_back(d_tform.apply(d_rp_p->getNode(i)));
131 d_modelData_p->d_u.push_back(util::Point());
132 d_modelData_p->d_v.push_back(util::Point());
133 d_modelData_p->d_vMag.push_back(0.);
134 d_modelData_p->d_f.push_back(util::Point());
135 d_modelData_p->d_vol.push_back(
136 d_rp_p->getNodalVolume(i) *
137 std::pow(d_tform.d_scale, d_rp_p->getDimension()));
138 d_modelData_p->d_fix.push_back(uint8_t(0));
139 d_modelData_p->d_forceFixity.push_back(uint8_t(0));
140 d_modelData_p->d_thetaX.push_back(0.);
141 d_modelData_p->d_mX.push_back(0.);
142 d_modelData_p->d_ptId.push_back(id); // id of this particle
143 }
144 }
145
147 d_globEnd);
148
149 // initialize material class
151 // double horizon = d_geom_p->inscribedRadius();
152 double horizon = p_material_deck.d_horizon;
153 if (p_material_deck.d_horizonMeshRatio > 0.)
154 horizon = p_material_deck.d_horizonMeshRatio * d_h;
155
156 if (p_material_deck.d_materialType == "RNPBond")
157 d_material_p = std::make_unique<material::RnpMaterial>(
158 p_material_deck, d_rp_p->getDimension(), horizon);
159 else if (p_material_deck.d_materialType == "PMBBond")
160 d_material_p = std::make_unique<material::PmbMaterial>(
161 p_material_deck, d_rp_p->getDimension(), horizon);
162 else if (p_material_deck.d_materialType == "PDElasticBond")
163 d_material_p = std::make_unique<material::PdElastic>(
164 p_material_deck, d_rp_p->getDimension(), horizon);
165 else if (p_material_deck.d_materialType == "PDState")
166 d_material_p = std::make_unique<material::PdState>(
167 p_material_deck, d_rp_p->getDimension(), horizon);
168
170 d_density = d_material_p->getDensity();
171
172 // d_material_p->print();
173
174 // set contact radius for internal contact
175 d_Rc = 0.95 * d_h;
176
177 // set contact coefficient for internal contact
178 d_Kn = (18. / (M_PI * std::pow(horizon, 5))) *
179 d_material_p->computeMaterialProperties(getDimension()).d_K;
180
181 if (!d_computeForce) {
182 std::cout << "Warning: Compute force is OFF in particle with id = "
183 << d_id << "\n";
184 }
186 std::cout << "Warning: All DoFs are OFF in particle with id = "
187 << d_id << "\n";
188 }
189}
double d_pRadius
Particle radius.
size_t getDimension() const
Get id among the group of object in the same type as this.
int horizon
peridynamics horizon (typically taken as 2 to 4 times the mesh size)
double computeMeshSize(const std::vector< util::Point > &nodes)
Computes minimum distance between any two nodes.
Definition geom.cpp:551
Structure to read and store material related data.
util::Point apply(const util::Point &v) const
Returns the transformed vector. We assume that the passed vector passes through origin.
double d_scale
Volumetric scaling factor.
A structure to represent 3d vectors.
Definition point.h:30

References particle::ParticleTransform::apply(), util::computeMeshSize(), d_allDofsConstrained, d_computeForce, d_density, d_dim, d_globEnd, d_globStart, d_h, d_horizon, d_id, d_isWall, d_Kn, d_material_p, d_modelData_p, d_Rc, d_rp_p, particle::ParticleTransform::d_scale, d_tform, d_type, d_typeIndex, and getDimension().

Here is the call graph for this function:

Member Function Documentation

◆ addF() [1/2]

void particle::BaseParticle::addF ( size_t  i,
const util::Point f 
)
inline

Add to force of the node.

Parameters
iGlobal id of node
fForce to add

Definition at line 542 of file baseParticle.h.

542{ d_modelData_p->addF(i, f); };

References d_dim, and d_modelData_p.

◆ addF() [2/2]

void particle::BaseParticle::addF ( size_t  i,
int  dof,
double  f 
)
inline

Add to force of the node.

Parameters
iGlobal id of node
dofDirection or degree of freedom to be modified
fForce to add

Definition at line 558 of file baseParticle.h.

558{ d_modelData_p->addF(i, dof, f); };

References d_dim, and d_modelData_p.

◆ addFLocal() [1/2]

void particle::BaseParticle::addFLocal ( size_t  i,
const util::Point f 
)
inline

Add to force of the node given node's local id.

Parameters
iLocal id of node
fForce to add

Definition at line 580 of file baseParticle.h.

580{ d_modelData_p->addF(i+d_globStart, f); };

References d_dim, d_globStart, and d_modelData_p.

◆ addFLocal() [2/2]

void particle::BaseParticle::addFLocal ( size_t  i,
int  dof,
double  f 
)
inline

Add to force of the node given node's local id.

Parameters
iLocal id of node
dofDirection or degree of freedom to be modified
fForce to add

Definition at line 597 of file baseParticle.h.

597 { d_modelData_p->addF
598 (i+d_globStart, dof, f); };

References d_dim, d_globStart, and d_modelData_p.

◆ addMx()

void particle::BaseParticle::addMx ( size_t  i,
const double mx 
)
inline

Add to weighted-volume (mx) of the node.

Parameters
iGlobal id of node
mxWeighted-volume to add

Definition at line 721 of file baseParticle.h.

721{ d_modelData_p->addMx(i, mx); };

References d_dim, and d_modelData_p.

◆ addMxLocal()

void particle::BaseParticle::addMxLocal ( size_t  i,
const double mx 
)
inline

Add to weighted-volume (mx) of the node given node's local id.

Parameters
iLocal id of node
mxWeighted-volume to add

Definition at line 743 of file baseParticle.h.

743{ d_modelData_p->addMx(i+d_globStart, mx); };

References d_dim, d_globStart, and d_modelData_p.

◆ addThetax()

void particle::BaseParticle::addThetax ( size_t  i,
const double thetax 
)
inline

Add to volumetric deformation (thetax) of the node.

Parameters
iGlobal id of node
thetaxVolumetric deformation to add

Definition at line 774 of file baseParticle.h.

774 { d_modelData_p->addThetax
775 (i, thetax); };

References d_dim, and d_modelData_p.

◆ addThetaxLocal()

void particle::BaseParticle::addThetaxLocal ( size_t  i,
const double thetax 
)
inline

Add to volumetric deformation (thetax) of the node given node's local id.

Parameters
iLocal id of node
thetaxVolumetric deformation to add

Definition at line 799 of file baseParticle.h.

799 { d_modelData_p->addThetax
800 (i+d_globStart, thetax); };

References d_dim, d_globStart, and d_modelData_p.

◆ addU() [1/2]

void particle::BaseParticle::addU ( size_t  i,
const util::Point u 
)
inline

Add to displacement of the node.

Parameters
iGlobal id of node
uDisplacement to add

Definition at line 370 of file baseParticle.h.

370{ d_modelData_p->addU(i, u); };

References d_dim, and d_modelData_p.

◆ addU() [2/2]

void particle::BaseParticle::addU ( size_t  i,
int  dof,
double  u 
)
inline

Add to displacement of the node.

Parameters
iGlobal id of node
dofDirection or degree of freedom to be modified
uDisplacement to add

Definition at line 386 of file baseParticle.h.

386{ d_modelData_p->addU(i, dof, u); };

References d_dim, and d_modelData_p.

◆ addULocal() [1/2]

void particle::BaseParticle::addULocal ( size_t  i,
const util::Point u 
)
inline

Add to displacement of the node given node's local id.

Parameters
iLocal id of node
uDisplacement to add

Definition at line 410 of file baseParticle.h.

410{ d_modelData_p->addU(i+d_globStart, u); };

References d_dim, d_globStart, and d_modelData_p.

◆ addULocal() [2/2]

void particle::BaseParticle::addULocal ( size_t  i,
int  dof,
double  u 
)
inline

Add to displacement of the node given node's local id.

Parameters
iLocal id of node
dofDirection or degree of freedom to be modified
uDisplacement to add

Definition at line 427 of file baseParticle.h.

427 { d_modelData_p->addU
428 (i+d_globStart, dof, u); };

References d_dim, d_globStart, and d_modelData_p.

◆ addV() [1/2]

void particle::BaseParticle::addV ( size_t  i,
const util::Point v 
)
inline

Add to velocity of the node.

Parameters
iGlobal id of node
vVelocity to add

Definition at line 457 of file baseParticle.h.

457{ d_modelData_p->addV(i, v); };

References d_dim, and d_modelData_p.

◆ addV() [2/2]

void particle::BaseParticle::addV ( size_t  i,
int  dof,
double  v 
)
inline

Add to velocity of the node.

Parameters
iGlobal id of node
dofDirection or degree of freedom to be modified
vVelocity to add

Definition at line 473 of file baseParticle.h.

473{ d_modelData_p->addV(i, dof, v); };

References d_dim, and d_modelData_p.

◆ addVLocal() [1/2]

void particle::BaseParticle::addVLocal ( size_t  i,
const util::Point v 
)
inline

Add to velocity of the node given node's local id.

Parameters
iLocal id of node
vVelocity to add

Definition at line 495 of file baseParticle.h.

495{ d_modelData_p->addV(i+d_globStart, v); };

References d_dim, d_globStart, and d_modelData_p.

◆ addVLocal() [2/2]

void particle::BaseParticle::addVLocal ( size_t  i,
int  dof,
double  v 
)
inline

Add to velocity of the node given node's local id.

Parameters
iLocal id of node
dofDirection or degree of freedom to be modified
vVelocity to add

Definition at line 512 of file baseParticle.h.

512 { d_modelData_p->addV
513 (i+d_globStart, dof, v); };

References d_dim, d_globStart, and d_modelData_p.

◆ addVol()

void particle::BaseParticle::addVol ( size_t  i,
const double vol 
)
inline

Add to volume of the node.

Parameters
iGlobal id of node
volVolume to add

Definition at line 627 of file baseParticle.h.

627{ d_modelData_p->addVol(i, vol); };

References d_dim, and d_modelData_p.

◆ addVolLocal()

void particle::BaseParticle::addVolLocal ( size_t  i,
const double vol 
)
inline

Add to volume of the node given node's local id.

Parameters
iLocal id of node
volVolume to add

Definition at line 649 of file baseParticle.h.

649{ d_modelData_p->addVol(i+d_globStart, vol); };

References d_dim, d_globStart, and d_modelData_p.

◆ addX() [1/2]

void particle::BaseParticle::addX ( size_t  i,
const util::Point x 
)
inline

Add current coordinate of the node.

Parameters
iGlobal id of node
xCurrent coordinate to add

Definition at line 285 of file baseParticle.h.

285{ d_modelData_p->addX(i, x); };

References d_dim, and d_modelData_p.

◆ addX() [2/2]

void particle::BaseParticle::addX ( size_t  i,
int  dof,
double  x 
)
inline

Add to specific current coordinate of the node.

Parameters
iGlobal id of node
dofDirection or degree of freedom to be modified
xCurrent coordinate to add

Definition at line 301 of file baseParticle.h.

301{ d_modelData_p->addX(i, dof, x); };

References d_dim, and d_modelData_p.

◆ addXLocal() [1/2]

void particle::BaseParticle::addXLocal ( size_t  i,
const util::Point x 
)
inline

Add to current coordinate of the node given node's local id.

Parameters
iLocal id of node
xCurrent coordinate to add

Definition at line 323 of file baseParticle.h.

323{ d_modelData_p->addX(i+d_globStart, x); };

References d_dim, d_globStart, and d_modelData_p.

◆ addXLocal() [2/2]

void particle::BaseParticle::addXLocal ( size_t  i,
int  dof,
double  x 
)
inline

Add to specific current coordinate of the node given node's local id.

Parameters
iLocal id of node
dofDirection or degree of freedom to be modified
xCurrent coordinate to add

Definition at line 340 of file baseParticle.h.

340 { d_modelData_p->addX
341 (i+d_globStart, dof, x); };

References d_dim, d_globStart, and d_modelData_p.

◆ addXRef() [1/2]

void particle::BaseParticle::addXRef ( size_t  i,
const util::Point x 
)
inline

Add reference coordinate of the node.

Parameters
iGlobal id of node
xReference coordinate to add

Definition at line 195 of file baseParticle.h.

195{ d_modelData_p->addXRef(i, x); };

References d_dim, and d_modelData_p.

◆ addXRef() [2/2]

void particle::BaseParticle::addXRef ( size_t  i,
int  dof,
double  x 
)
inline

Add specific reference coordinate of the node.

Parameters
iGlobal id of node
dofDirection or degree of freedom to be modified
xReference coordinate to add

Definition at line 213 of file baseParticle.h.

213 {
214 d_modelData_p->addXRef(i, dof, x);
215 };

References d_dim, and d_modelData_p.

◆ addXRefLocal() [1/2]

void particle::BaseParticle::addXRefLocal ( size_t  i,
const util::Point x 
)
inline

Add to reference coordinate of the node given node's local id.

Parameters
iLocal id of node
xReference coordinate to add

Definition at line 237 of file baseParticle.h.

237{ d_modelData_p->addXRef(i+d_globStart, x); };

References d_dim, d_globStart, and d_modelData_p.

◆ addXRefLocal() [2/2]

void particle::BaseParticle::addXRefLocal ( size_t  i,
int  dof,
double  x 
)
inline

Add to specific reference coordinate of the node given node's local id.

Parameters
iLocal id of node
dofDirection or degree of freedom to be modified
xReference coordinate to add

Definition at line 255 of file baseParticle.h.

255 { d_modelData_p->addXRef
256 (i+d_globStart, dof, x); };

References d_dim, d_globStart, and d_modelData_p.

◆ getCenterNodeId()

size_t particle::BaseParticle::getCenterNodeId ( ) const
inline

Get id of center node of particle.

Returns
Id Id of center node

Definition at line 813 of file baseParticle.h.

813{ return d_rp_p->getCenterNodeId(); };

References d_rp_p.

◆ getDensity()

double particle::BaseParticle::getDensity ( ) const
inline

Get density.

Returns
rho Density

Definition at line 142 of file baseParticle.h.

142{ return d_density; };

References d_density.

◆ getDimension()

size_t particle::BaseParticle::getDimension ( ) const
inline

Get id among the group of object in the same type as this.

Returns
id ID of this object

Get the dimension of the domain

Returns
N Dimension

Definition at line 112 of file baseParticle.h.

112{ return d_dim; };

References d_dim.

Referenced by BaseParticle().

Here is the caller graph for this function:

◆ getF() [1/2]

util::Point & particle::BaseParticle::getF ( size_t  i)
inline

Get force of the node.

Parameters
iGlobal id of node
Returns
f Force

Definition at line 527 of file baseParticle.h.

527{ return d_modelData_p->getF(i); };

References d_dim, and d_modelData_p.

◆ getF() [2/2]

const util::Point & particle::BaseParticle::getF ( size_t  i) const
inline

Get force of the node.

Parameters
iGlobal id of node
Returns
f Force

Definition at line 528 of file baseParticle.h.

528{ return d_modelData_p->getF(i); };

References d_dim, and d_modelData_p.

◆ getFix() [1/2]

uint8_t & particle::BaseParticle::getFix ( size_t  i)
inline

Get fixity of the node.

Parameters
iGlobal id of node
Returns
flag Fixity

Definition at line 663 of file baseParticle.h.

663{ return d_modelData_p->getFix(i); };

References d_dim, and d_modelData_p.

◆ getFix() [2/2]

const uint8_t & particle::BaseParticle::getFix ( size_t  i) const
inline

Get fixity of the node.

Parameters
iGlobal id of node
Returns
flag Fixity

Definition at line 664 of file baseParticle.h.

664{ return d_modelData_p->getFix(i); };

References d_dim, and d_modelData_p.

◆ getFixLocal() [1/2]

uint8_t & particle::BaseParticle::getFixLocal ( size_t  i)
inline

Get fixity of the node given node's local id.

Parameters
iLocal id of node
Returns
flag Fixity

Definition at line 681 of file baseParticle.h.

681{ return d_modelData_p->getFix(i+d_globStart); };

References d_dim, d_globStart, and d_modelData_p.

◆ getFixLocal() [2/2]

const uint8_t & particle::BaseParticle::getFixLocal ( size_t  i) const
inline

Get fixity of the node.

Parameters
iGlobal id of node
Returns
flag Fixity

Definition at line 682 of file baseParticle.h.

682{ return d_modelData_p->getFix(i+d_globStart); };

References d_dim, d_globStart, and d_modelData_p.

◆ getFLocal() [1/2]

util::Point & particle::BaseParticle::getFLocal ( size_t  i)
inline

Get force of the node given node's local id.

Parameters
iLocal id of node
Returns
f Force

Definition at line 565 of file baseParticle.h.

565{ return d_modelData_p->getF(i+d_globStart); };

References d_dim, d_globStart, and d_modelData_p.

◆ getFLocal() [2/2]

const util::Point & particle::BaseParticle::getFLocal ( size_t  i) const
inline

Get force of the node.

Parameters
iGlobal id of node
Returns
f Force

Definition at line 566 of file baseParticle.h.

566{ return d_modelData_p->getF(i+d_globStart); };

References d_dim, d_globStart, and d_modelData_p.

◆ getHorizon()

double particle::BaseParticle::getHorizon ( ) const
inline

Get horizon.

Returns
eps Horizon

Definition at line 148 of file baseParticle.h.

148{ return d_horizon; };

References d_horizon.

◆ getId()

size_t particle::BaseParticle::getId ( ) const
inline

Get id.

Returns
id ID of this object

Definition at line 100 of file baseParticle.h.

100{ return d_id; };

References d_id.

◆ getMaterial() [1/2]

material::Material * particle::BaseParticle::getMaterial ( )
inline

Get pointer to material object.

Returns
material Pointer to material object

Definition at line 154 of file baseParticle.h.

154{ return d_material_p.get(); };

References d_material_p.

◆ getMaterial() [2/2]

const material::Material * particle::BaseParticle::getMaterial ( ) const
inline

Get type of this object.

Returns
Type Type

Definition at line 155 of file baseParticle.h.

155{ return d_material_p.get(); };

References d_material_p.

◆ getMesh() [1/2]

fe::Mesh & particle::BaseParticle::getMesh ( )
inline

Get reference to mesh object.

Returns
mesh Reference to mesh

Definition at line 127 of file baseParticle.h.

127{ return *d_mesh_p; };

References d_mesh_p.

◆ getMesh() [2/2]

const fe::Mesh & particle::BaseParticle::getMesh ( ) const
inline

Get reference to mesh object.

Returns
mesh Reference to mesh

Definition at line 130 of file baseParticle.h.

130{ return *d_mesh_p; };

References d_mesh_p.

◆ getMeshP() [1/2]

std::shared_ptr< fe::Mesh > & particle::BaseParticle::getMeshP ( )
inline

Get pointer to mesh object.

Returns
mesh Pointer to mesh

Definition at line 118 of file baseParticle.h.

118{ return d_mesh_p; };

References d_mesh_p.

◆ getMeshP() [2/2]

const std::shared_ptr< fe::Mesh > & particle::BaseParticle::getMeshP ( ) const
inline

Get pointer to mesh object.

Returns
mesh Pointer to mesh

Definition at line 121 of file baseParticle.h.

121{ return d_mesh_p; };

References d_mesh_p.

◆ getMeshSize()

double particle::BaseParticle::getMeshSize ( ) const
inline

Get mesh size.

Returns
h Mesh size

Definition at line 136 of file baseParticle.h.

136{ return d_h; };

References d_h.

◆ getMx() [1/2]

double & particle::BaseParticle::getMx ( size_t  i)
inline

Get weighted-volume (mx) of the node.

Parameters
iGlobal id of node
Returns
mx Weighted-volume

Definition at line 706 of file baseParticle.h.

706{ return d_modelData_p->getMx(i); };

References d_dim, and d_modelData_p.

◆ getMx() [2/2]

const double & particle::BaseParticle::getMx ( size_t  i) const
inline

Get weighted-volume (mx) of the node.

Parameters
iGlobal id of node
Returns
mx Weighted-volume

Definition at line 707 of file baseParticle.h.

707{ return d_modelData_p->getMx(i); };

References d_dim, and d_modelData_p.

◆ getMxLocal() [1/2]

double & particle::BaseParticle::getMxLocal ( size_t  i)
inline

Get weighted-volume (mx) of the node given node's local id.

Parameters
iLocal id of node
Returns
mx Weighted-volume

Definition at line 728 of file baseParticle.h.

728{ return d_modelData_p->getMx(i+d_globStart); };

References d_dim, d_globStart, and d_modelData_p.

◆ getMxLocal() [2/2]

const double & particle::BaseParticle::getMxLocal ( size_t  i) const
inline

Get weighted-volume (mx) of the node.

Parameters
iGlobal id of node
Returns
mx Weighted-volume

Definition at line 729 of file baseParticle.h.

729{ return d_modelData_p->getMx(i+d_globStart); };

References d_dim, d_globStart, and d_modelData_p.

◆ getNodeId()

size_t particle::BaseParticle::getNodeId ( size_t  i_loc) const
inline

Get global id of node given the local id of node in this object.

Parameters
i_locLocal id of node
Returns
Id Gloabl id of node

Definition at line 168 of file baseParticle.h.

168{ return i_loc + d_globStart; };

References d_dim, and d_globStart.

◆ getNumNodes()

size_t particle::BaseParticle::getNumNodes ( ) const
inline

Get the number of nodes.

Returns
N number of nodes

Definition at line 161 of file baseParticle.h.

161{ return d_numNodes; };

References d_numNodes.

◆ getParticleRadius()

double particle::BaseParticle::getParticleRadius ( ) const
inline

Get radius of reference particle.

Returns
Radius Radius of reference particle

Definition at line 819 of file baseParticle.h.

819{ return d_pRadius; };

References d_pRadius.

◆ getThetax() [1/2]

double & particle::BaseParticle::getThetax ( size_t  i)
inline

Get volumetric deformation (thetax) of the node.

Parameters
iGlobal id of node
Returns
thetax Volumetric deformation

Definition at line 757 of file baseParticle.h.

757{ return d_modelData_p->getThetax(i); };

References d_dim, and d_modelData_p.

◆ getThetax() [2/2]

const double & particle::BaseParticle::getThetax ( size_t  i) const
inline

Get volumetric deformation (thetax) of the node.

Parameters
iGlobal id of node
Returns
thetax Volumetric deformation

Definition at line 758 of file baseParticle.h.

758 { return d_modelData_p->getThetax(i)
759 ; };

References d_dim, and d_modelData_p.

◆ getThetaxLocal() [1/2]

double & particle::BaseParticle::getThetaxLocal ( size_t  i)
inline

Get volumetric deformation (thetax) of the node given node's local id.

Parameters
iLocal id of node
Returns
thetax Volumetric deformation

Definition at line 782 of file baseParticle.h.

782{ return d_modelData_p->getThetax(i+d_globStart); };

References d_dim, d_globStart, and d_modelData_p.

◆ getThetaxLocal() [2/2]

const double & particle::BaseParticle::getThetaxLocal ( size_t  i) const
inline

Get volumetric deformation (thetax) of the node.

Parameters
iGlobal id of node
Returns
thetax Volumetric deformation

Definition at line 783 of file baseParticle.h.

783 { return d_modelData_p->getThetax(i+d_globStart)
784 ; };

References d_dim, d_globStart, and d_modelData_p.

◆ getType()

std::string particle::BaseParticle::getType ( ) const
inline

Get type of this object.

Returns
Type Type

Definition at line 88 of file baseParticle.h.

88{ return d_type; };

References d_type.

◆ getTypeIndex()

int particle::BaseParticle::getTypeIndex ( ) const
inline

Get type (in integer format) of this object.

Returns
Type Type

Definition at line 94 of file baseParticle.h.

94{ return d_typeIndex; };

References d_typeIndex.

◆ getU() [1/2]

util::Point & particle::BaseParticle::getU ( size_t  i)
inline

Get displacement of the node.

Parameters
iGlobal id of node
Returns
u Displacement

Definition at line 355 of file baseParticle.h.

355{ return d_modelData_p->getU(i); };

References d_dim, and d_modelData_p.

◆ getU() [2/2]

const util::Point & particle::BaseParticle::getU ( size_t  i) const
inline

Get displacement of the node.

Parameters
iGlobal id of node
Returns
u Displacement

Definition at line 356 of file baseParticle.h.

356{ return d_modelData_p->getU(i); };

References d_dim, and d_modelData_p.

◆ getUCenter() [1/2]

util::Point & particle::BaseParticle::getUCenter ( )
inline

Get displacement of center node.

Returns
u Displacement

Definition at line 838 of file baseParticle.h.

838 {
839 return d_modelData_p->getU(d_globStart + d_rp_p->getCenterNodeId());
840 };

References d_globStart, d_modelData_p, and d_rp_p.

◆ getUCenter() [2/2]

const util::Point & particle::BaseParticle::getUCenter ( ) const
inline

Get displacement of center node.

Returns
u Displacement

Definition at line 843 of file baseParticle.h.

843 {
844 return d_modelData_p->getU(d_globStart + d_rp_p->getCenterNodeId());
845 };

References d_globStart, d_modelData_p, and d_rp_p.

◆ getULocal() [1/2]

util::Point & particle::BaseParticle::getULocal ( size_t  i)
inline

Get displacement of the node given node's local id.

Parameters
iLocal id of node
Returns
u Displacement

Definition at line 393 of file baseParticle.h.

393{ return d_modelData_p->getU(i+d_globStart); };

References d_dim, d_globStart, and d_modelData_p.

◆ getULocal() [2/2]

const util::Point & particle::BaseParticle::getULocal ( size_t  i) const
inline

Get displacement of the node given node's local id.

Parameters
iLocal id of node
Returns
u Displacement

Definition at line 396 of file baseParticle.h.

396{ return d_modelData_p->getU(i+d_globStart); };

References d_dim, d_globStart, and d_modelData_p.

◆ getV() [1/2]

util::Point & particle::BaseParticle::getV ( size_t  i)
inline

Get velocity of the node.

Parameters
iGlobal id of node
Returns
v Velocity

Definition at line 442 of file baseParticle.h.

442{ return d_modelData_p->getV(i); };

References d_dim, and d_modelData_p.

◆ getV() [2/2]

const util::Point & particle::BaseParticle::getV ( size_t  i) const
inline

Get velocity of the node.

Parameters
iGlobal id of node
Returns
v Velocity

Definition at line 443 of file baseParticle.h.

443{ return d_modelData_p->getV(i); };

References d_dim, and d_modelData_p.

◆ getVCenter() [1/2]

util::Point & particle::BaseParticle::getVCenter ( )
inline

Get velocity of center node.

Returns
v Velocity

Definition at line 851 of file baseParticle.h.

851 {
852 return d_modelData_p->getV(d_globStart + d_rp_p->getCenterNodeId());
853 };

References d_globStart, d_modelData_p, and d_rp_p.

◆ getVCenter() [2/2]

const util::Point & particle::BaseParticle::getVCenter ( ) const
inline

Get velocity of center node.

Returns
v Velocity

Definition at line 856 of file baseParticle.h.

856 {
857 return d_modelData_p->getV(d_globStart + d_rp_p->getCenterNodeId());
858 };

References d_globStart, d_modelData_p, and d_rp_p.

◆ getVLocal() [1/2]

util::Point & particle::BaseParticle::getVLocal ( size_t  i)
inline

Get velocity of the node given node's local id.

Parameters
iLocal id of node
Returns
v Velocity

Definition at line 480 of file baseParticle.h.

480{ return d_modelData_p->getV(i+d_globStart); };

References d_dim, d_globStart, and d_modelData_p.

◆ getVLocal() [2/2]

const util::Point & particle::BaseParticle::getVLocal ( size_t  i) const
inline

Get velocity of the node.

Parameters
iGlobal id of node
Returns
v Velocity

Definition at line 481 of file baseParticle.h.

481{ return d_modelData_p->getV(i+d_globStart); };

References d_dim, d_globStart, and d_modelData_p.

◆ getVol() [1/2]

double & particle::BaseParticle::getVol ( size_t  i)
inline

Get volume of the node.

Parameters
iGlobal id of node
Returns
vol Volume

Definition at line 612 of file baseParticle.h.

612{ return d_modelData_p->getVol(i); };

References d_dim, and d_modelData_p.

◆ getVol() [2/2]

const double & particle::BaseParticle::getVol ( size_t  i) const
inline

Get volume of the node.

Parameters
iGlobal id of node
Returns
vol Volume

Definition at line 613 of file baseParticle.h.

613{ return d_modelData_p->getVol(i); };

References d_dim, and d_modelData_p.

◆ getVolLocal() [1/2]

double & particle::BaseParticle::getVolLocal ( size_t  i)
inline

Get volume of the node given node's local id.

Parameters
iLocal id of node
Returns
vol Volume

Definition at line 634 of file baseParticle.h.

634{ return d_modelData_p->getVol(i+d_globStart); };

References d_dim, d_globStart, and d_modelData_p.

◆ getVolLocal() [2/2]

const double & particle::BaseParticle::getVolLocal ( size_t  i) const
inline

Get volume of the node.

Parameters
iGlobal id of node
Returns
vol Volume

Definition at line 635 of file baseParticle.h.

635{ return d_modelData_p->getVol(i+d_globStart); };

References d_dim, d_globStart, and d_modelData_p.

◆ getX() [1/2]

util::Point & particle::BaseParticle::getX ( size_t  i)
inline

Get current coordinate of the node.

Parameters
iGlobal id of node
Returns
x Current coordinate

Definition at line 270 of file baseParticle.h.

270{ return d_modelData_p->getX(i); };

References d_dim, and d_modelData_p.

◆ getX() [2/2]

const util::Point & particle::BaseParticle::getX ( size_t  i) const
inline

Get current coordinate of the node.

Parameters
iGlobal id of node
Returns
x Current coordinate

Definition at line 271 of file baseParticle.h.

271{ return d_modelData_p->getX(i); };

References d_dim, and d_modelData_p.

◆ getXCenter() [1/2]

util::Point & particle::BaseParticle::getXCenter ( )
inline

Get current coordinate of center node.

Returns
x Current coordinate

Definition at line 825 of file baseParticle.h.

825 {
826 return d_modelData_p->getX(d_globStart + d_rp_p->getCenterNodeId());
827 };

References d_globStart, d_modelData_p, and d_rp_p.

◆ getXCenter() [2/2]

const util::Point & particle::BaseParticle::getXCenter ( ) const
inline

Get current coordinate of center node.

Returns
x Current coordinate

Definition at line 830 of file baseParticle.h.

830 {
831 return d_modelData_p->getX(d_globStart + d_rp_p->getCenterNodeId());
832 };

References d_globStart, d_modelData_p, and d_rp_p.

◆ getXLocal() [1/2]

util::Point & particle::BaseParticle::getXLocal ( size_t  i)
inline

Get current coordinate of the node given node's local id.

Parameters
iLocal id of node
Returns
x Current coordinate

Definition at line 308 of file baseParticle.h.

308{ return d_modelData_p->getX(i+d_globStart); };

References d_dim, d_globStart, and d_modelData_p.

◆ getXLocal() [2/2]

const util::Point & particle::BaseParticle::getXLocal ( size_t  i) const
inline

Get current coordinate of the node.

Parameters
iGlobal id of node
Returns
x Current coordinate

Definition at line 309 of file baseParticle.h.

309{ return d_modelData_p->getX(i+d_globStart); };

References d_dim, d_globStart, and d_modelData_p.

◆ getXRef() [1/2]

util::Point & particle::BaseParticle::getXRef ( size_t  i)
inline

Get reference coordinate of the node.

Parameters
iGlobal id of node
Returns
x Reference coordinate

Definition at line 180 of file baseParticle.h.

180{ return d_modelData_p->getXRef(i); };

References d_dim, and d_modelData_p.

◆ getXRef() [2/2]

const util::Point & particle::BaseParticle::getXRef ( size_t  i) const
inline

Get reference coordinate of the node.

Parameters
iGlobal id of node
Returns
x Reference coordinate

Definition at line 181 of file baseParticle.h.

181{ return d_modelData_p->getXRef(i); };

References d_dim, and d_modelData_p.

◆ getXRefLocal() [1/2]

util::Point & particle::BaseParticle::getXRefLocal ( size_t  i)
inline

Get reference coordinate of the node given node's local id.

Parameters
iLocal id of node
Returns
x Reference coordinate

Definition at line 222 of file baseParticle.h.

222{ return d_modelData_p->getXRef(i+d_globStart); };

References d_dim, d_globStart, and d_modelData_p.

◆ getXRefLocal() [2/2]

const util::Point & particle::BaseParticle::getXRefLocal ( size_t  i) const
inline

Get reference coordinate of the node.

Parameters
iGlobal id of node
Returns
x Reference coordinate

Definition at line 223 of file baseParticle.h.

223{ return d_modelData_p->getXRef(i+d_globStart); };

References d_dim, d_globStart, and d_modelData_p.

◆ print()

void particle::BaseParticle::print ( int  nt = 0,
int  lvl = 0 
) const
inline

Prints the information about the object.

Parameters
ntNumber of tabs to append before printing
lvlInformation level (higher means more information)

Definition at line 876 of file baseParticle.h.

876{ std::cout << printStr(nt, lvl); }
std::string printStr(int nt=0, int lvl=0) const
Returns the string containing printable information about the object.

References d_dim, and printStr().

Here is the call graph for this function:

◆ printStr()

std::string particle::BaseParticle::printStr ( int  nt = 0,
int  lvl = 0 
) const

Returns the string containing printable information about the object.

Parameters
ntNumber of tabs to append before printing
lvlInformation level (higher means more information)
Returns
string String containing printable information about the object

Definition at line 191 of file baseParticle.cpp.

191 {
192
193 auto tabS = util::io::getTabS(nt);
194 std::ostringstream oss;
195 oss << tabS << "------- BaseParticle --------" << std::endl
196 << std::endl;
197
198 oss << tabS << "d_type = " << d_type << std::endl;
199 oss << tabS << "d_particleDescription = " << d_particleDescription << std::endl;
200 oss << tabS << "d_typeIndex = " << d_typeIndex << std::endl;
201 oss << tabS << "d_isWall = " << d_isWall << std::endl;
202 oss << tabS << "d_id = " << d_id << std::endl;
203 oss << tabS << "d_typeId = " << d_typeId << std::endl;
204 oss << tabS << "d_zoneId = " << d_zoneId << std::endl;
205 oss << tabS << "d_dim = " << d_dim << std::endl;
206 oss << tabS << "d_numNodes = " << d_numNodes << std::endl;
207 oss << tabS << "d_pRadius = " << d_pRadius << std::endl;
208 oss << tabS << "d_h = " << d_h << std::endl;
209 oss << tabS << "d_allDofsConstrained = " << d_allDofsConstrained << std::endl;
210 oss << tabS << "d_computeForce = " << d_computeForce << std::endl;
211 oss << tabS << "d_horizon = " << d_horizon << std::endl;
212 oss << tabS << "d_density = " << d_density << std::endl;
213 oss << tabS << "d_Rc = " << d_Rc << std::endl;
214 oss << tabS << "d_Kn = " << d_Kn << std::endl;
215 oss << tabS << "d_globStart = " << d_globStart << std::endl;
216 oss << tabS << "d_globEnd = " << d_globEnd << std::endl;
217 oss << tabS << "d_globQuadStart = " << d_globQuadStart << std::endl;
218 oss << tabS << "d_globQuadEnd = " << d_globQuadEnd << std::endl;
219 oss << tabS << std::endl;
220 oss << tabS << std::endl;
221 oss << tabS << "Ref particle info = " << std::endl;
222 oss << d_rp_p->printStr(nt + 1, lvl);
223 oss << tabS << "Geometry info: " << std::endl;
224 oss << d_geom_p->printStr(nt + 1, lvl);
225
226 oss << tabS << std::endl;
227
228 return oss.str();
229}
std::string getTabS(int nt)
Returns tab spaces of given size.
Definition io.h:40

References util::io::getTabS().

Referenced by print().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setF() [1/2]

void particle::BaseParticle::setF ( size_t  i,
const util::Point f 
)
inline

Set force of the node.

Parameters
iGlobal id of node
fForce to set

Definition at line 535 of file baseParticle.h.

535{ d_modelData_p->setF(i, f); };

References d_dim, and d_modelData_p.

◆ setF() [2/2]

void particle::BaseParticle::setF ( size_t  i,
int  dof,
double  f 
)
inline

Set force of the node.

Parameters
iGlobal id of node
dofDirection or degree of freedom to be modified
fForce to set

Definition at line 550 of file baseParticle.h.

550{ d_modelData_p->setF(i, dof, f); };

References d_dim, and d_modelData_p.

◆ setFix()

void particle::BaseParticle::setFix ( size_t  i,
const unsigned int dof,
const bool flag 
)
inline

Set fixity of the node.

Parameters
iGlobal id of node
dofDirection or degree of freedom to be modified
flagFixity to set

Definition at line 672 of file baseParticle.h.

672 {
673 d_modelData_p->setFix(i, dof, flag);
674 };

References d_dim, and d_modelData_p.

◆ setFixLocal()

void particle::BaseParticle::setFixLocal ( size_t  i,
const unsigned int dof,
const bool flag 
)
inline

Set fixity of the node given node's local id.

Parameters
iLocal id of node
dofDirection or degree of freedom to be modified
flagFixity to set

Definition at line 690 of file baseParticle.h.

690 {
692 };

References d_dim, d_globStart, and d_modelData_p.

◆ setFLocal() [1/2]

void particle::BaseParticle::setFLocal ( size_t  i,
const util::Point f 
)
inline

Set force of the node given node's local id.

Parameters
iLocal id of node
fForce to set

Definition at line 573 of file baseParticle.h.

573{ d_modelData_p->setF(i+d_globStart, f); };

References d_dim, d_globStart, and d_modelData_p.

◆ setFLocal() [2/2]

void particle::BaseParticle::setFLocal ( size_t  i,
int  dof,
double  f 
)
inline

Set force of the node given node's local id.

Parameters
iLocal id of node
dofDirection or degree of freedom to be modified
fForce to set

Definition at line 588 of file baseParticle.h.

588 { d_modelData_p->setF
589 (i+d_globStart, dof, f); };

References d_dim, d_globStart, and d_modelData_p.

◆ setMx()

void particle::BaseParticle::setMx ( size_t  i,
const double mx 
)
inline

Set weighted-volume (mx) of the node.

Parameters
iGlobal id of node
mxWeighted-volume to set

Definition at line 714 of file baseParticle.h.

714{ d_modelData_p->setMx(i, mx); };

References d_dim, and d_modelData_p.

◆ setMxLocal()

void particle::BaseParticle::setMxLocal ( size_t  i,
const double mx 
)
inline

Set weighted-volume (mx) of the node given node's local id.

Parameters
iLocal id of node
mxWeighted-volume to set

Definition at line 736 of file baseParticle.h.

736{ d_modelData_p->setMx(i+d_globStart, mx); };

References d_dim, d_globStart, and d_modelData_p.

◆ setThetax()

void particle::BaseParticle::setThetax ( size_t  i,
const double thetax 
)
inline

Set volumetric deformation (thetax) of the node.

Parameters
iGlobal id of node
thetaxVolumetric deformation to set

Definition at line 766 of file baseParticle.h.

766 { d_modelData_p->setThetax
767 (i, thetax); };

References d_dim, and d_modelData_p.

◆ setThetaxLocal()

void particle::BaseParticle::setThetaxLocal ( size_t  i,
const double thetax 
)
inline

Set volumetric deformation (thetax) of the node given node's local id.

Parameters
iLocal id of node
thetaxVolumetric deformation to set

Definition at line 791 of file baseParticle.h.

791 { d_modelData_p->setThetax
792 (i+d_globStart, thetax); };

References d_dim, d_globStart, and d_modelData_p.

◆ setU() [1/2]

void particle::BaseParticle::setU ( size_t  i,
const util::Point u 
)
inline

Set displacement of the node.

Parameters
iGlobal id of node
uDisplacement to set

Definition at line 363 of file baseParticle.h.

363{ d_modelData_p->setU(i, u); };

References d_dim, and d_modelData_p.

◆ setU() [2/2]

void particle::BaseParticle::setU ( size_t  i,
int  dof,
double  u 
)
inline

Set displacement of the node.

Parameters
iGlobal id of node
dofDirection or degree of freedom to be modified
uDisplacement to set

Definition at line 378 of file baseParticle.h.

378{ d_modelData_p->setU(i, dof, u); };

References d_dim, and d_modelData_p.

◆ setULocal() [1/2]

void particle::BaseParticle::setULocal ( size_t  i,
const util::Point u 
)
inline

Set displacement of the node given node's local id.

Parameters
iLocal id of node
uDisplacement to set

Definition at line 403 of file baseParticle.h.

403{ d_modelData_p->setU(i+d_globStart, u); };

References d_dim, d_globStart, and d_modelData_p.

◆ setULocal() [2/2]

void particle::BaseParticle::setULocal ( size_t  i,
int  dof,
double  u 
)
inline

Set displacement of the node given node's local id.

Parameters
iLocal id of node
dofDirection or degree of freedom to be modified
uDisplacement to set

Definition at line 418 of file baseParticle.h.

418 { d_modelData_p->setU
419 (i+d_globStart, dof, u); };

References d_dim, d_globStart, and d_modelData_p.

◆ setV() [1/2]

void particle::BaseParticle::setV ( size_t  i,
const util::Point v 
)
inline

Set velocity of the node.

Parameters
iGlobal id of node
vVelocity to set

Definition at line 450 of file baseParticle.h.

450{ d_modelData_p->setV(i, v); };

References d_dim, and d_modelData_p.

◆ setV() [2/2]

void particle::BaseParticle::setV ( size_t  i,
int  dof,
double  v 
)
inline

Set velocity of the node.

Parameters
iGlobal id of node
dofDirection or degree of freedom to be modified
vVelocity to set

Definition at line 465 of file baseParticle.h.

465{ d_modelData_p->setV(i, dof, v); };

References d_dim, and d_modelData_p.

◆ setVLocal() [1/2]

void particle::BaseParticle::setVLocal ( size_t  i,
const util::Point v 
)
inline

Set velocity of the node given node's local id.

Parameters
iLocal id of node
vVelocity to set

Definition at line 488 of file baseParticle.h.

488{ d_modelData_p->setV(i+d_globStart, v); };

References d_dim, d_globStart, and d_modelData_p.

◆ setVLocal() [2/2]

void particle::BaseParticle::setVLocal ( size_t  i,
int  dof,
double  v 
)
inline

Set velocity of the node given node's local id.

Parameters
iLocal id of node
dofDirection or degree of freedom to be modified
vVelocity to set

Definition at line 503 of file baseParticle.h.

503 { d_modelData_p->setV
504 (i+d_globStart, dof, v); };

References d_dim, d_globStart, and d_modelData_p.

◆ setVol()

void particle::BaseParticle::setVol ( size_t  i,
const double vol 
)
inline

Set volume of the node.

Parameters
iGlobal id of node
volVolume to set

Definition at line 620 of file baseParticle.h.

620{ d_modelData_p->setVol(i, vol); };

References d_dim, and d_modelData_p.

◆ setVolLocal()

void particle::BaseParticle::setVolLocal ( size_t  i,
const double vol 
)
inline

Set volume of the node given node's local id.

Parameters
iLocal id of node
volVolume to set

Definition at line 642 of file baseParticle.h.

642{ d_modelData_p->setVol(i+d_globStart, vol); };

References d_dim, d_globStart, and d_modelData_p.

◆ setX() [1/2]

void particle::BaseParticle::setX ( size_t  i,
const util::Point x 
)
inline

Set current coordinate of the node.

Parameters
iGlobal id of node
xCurrent coordinate to set

Definition at line 278 of file baseParticle.h.

278{ d_modelData_p->setX(i, x); };

References d_dim, and d_modelData_p.

◆ setX() [2/2]

void particle::BaseParticle::setX ( size_t  i,
int  dof,
double  x 
)
inline

Set specific current coordinate of the node.

Parameters
iGlobal id of node
dofDirection or degree of freedom to be modified
xCurrent coordinate to set

Definition at line 293 of file baseParticle.h.

293{ d_modelData_p->setX(i, dof, x); };

References d_dim, and d_modelData_p.

◆ setXLocal() [1/2]

void particle::BaseParticle::setXLocal ( size_t  i,
const util::Point x 
)
inline

Set current coordinate of the node given node's local id.

Parameters
iLocal id of node
xCurrent coordinate to set

Definition at line 316 of file baseParticle.h.

316{ d_modelData_p->setX(i+d_globStart, x); };

References d_dim, d_globStart, and d_modelData_p.

◆ setXLocal() [2/2]

void particle::BaseParticle::setXLocal ( size_t  i,
int  dof,
double  x 
)
inline

Set specific current coordinate of the node given node's local id.

Parameters
iLocal id of node
dofDirection or degree of freedom to be modified
xCurrent coordinate to set

Definition at line 331 of file baseParticle.h.

331 { d_modelData_p->setX
332 (i+d_globStart, dof, x); };

References d_dim, d_globStart, and d_modelData_p.

◆ setXRef() [1/2]

void particle::BaseParticle::setXRef ( size_t  i,
const util::Point x 
)
inline

Set reference coordinate of the node.

Parameters
iGlobal id of node
xReference coordinate to set

Definition at line 188 of file baseParticle.h.

188{ d_modelData_p->setXRef(i, x); };

References d_dim, and d_modelData_p.

◆ setXRef() [2/2]

void particle::BaseParticle::setXRef ( size_t  i,
int  dof,
double  x 
)
inline

Set specific reference coordinate of the node.

Parameters
iGlobal id of node
dofDirection or degree of freedom to be modified
xReference coordinate to set

Definition at line 203 of file baseParticle.h.

203 {
204 d_modelData_p->setXRef(i, dof, x);
205 };

References d_dim, and d_modelData_p.

◆ setXRefLocal() [1/2]

void particle::BaseParticle::setXRefLocal ( size_t  i,
const util::Point x 
)
inline

Set reference coordinate of the node given node's local id.

Parameters
iLocal id of node
xReference coordinate to set

Definition at line 230 of file baseParticle.h.

230{ d_modelData_p->setXRef(i+d_globStart, x); };

References d_dim, d_globStart, and d_modelData_p.

◆ setXRefLocal() [2/2]

void particle::BaseParticle::setXRefLocal ( size_t  i,
int  dof,
double  x 
)
inline

Set specific reference coordinate of the node given node's local id.

Parameters
iLocal id of node
dofDirection or degree of freedom to be modified
xReference coordinate to set

Definition at line 245 of file baseParticle.h.

245 { d_modelData_p->setXRef
246 (i+d_globStart, dof, x); };

References d_dim, d_globStart, and d_modelData_p.

Field Documentation

◆ d_allDofsConstrained

bool particle::BaseParticle::d_allDofsConstrained

Specify if all dofs are constrained so we do not update displacement, velocity, and force data.

Definition at line 921 of file baseParticle.h.

Referenced by BaseParticle().

◆ d_computeForce

bool particle::BaseParticle::d_computeForce

Specify if we compute force.

Definition at line 924 of file baseParticle.h.

Referenced by BaseParticle().

◆ d_density

double particle::BaseParticle::d_density

density

Definition at line 930 of file baseParticle.h.

Referenced by BaseParticle(), and getDensity().

◆ d_dim

◆ d_geom_p

std::shared_ptr<util::geometry::GeomObject> particle::BaseParticle::d_geom_p

Geometrical object defining this particle.

Definition at line 962 of file baseParticle.h.

◆ d_globEnd

size_t particle::BaseParticle::d_globEnd

Id of last node of this object in global node list.

Definition at line 945 of file baseParticle.h.

Referenced by BaseParticle().

◆ d_globQuadEnd

size_t particle::BaseParticle::d_globQuadEnd

Id of last node of this object in global quadrature data list, e.g., strain in elements at quadrature points.

Definition at line 953 of file baseParticle.h.

◆ d_globQuadStart

size_t particle::BaseParticle::d_globQuadStart

Id of first node of this object in global quadrature data list, e.g., strain in elements at quadrature points.

Definition at line 949 of file baseParticle.h.

◆ d_globStart

◆ d_h

double particle::BaseParticle::d_h

mesh size

Definition at line 915 of file baseParticle.h.

Referenced by BaseParticle(), and getMeshSize().

◆ d_horizon

double particle::BaseParticle::d_horizon

horizon

Definition at line 927 of file baseParticle.h.

Referenced by BaseParticle(), and getHorizon().

◆ d_id

size_t particle::BaseParticle::d_id

Id of this particle in all particles list.

Definition at line 896 of file baseParticle.h.

Referenced by BaseParticle(), and getId().

◆ d_isWall

bool particle::BaseParticle::d_isWall

Is this particle actually a wall?

Definition at line 893 of file baseParticle.h.

Referenced by BaseParticle(), and BaseParticle().

◆ d_Kn

double particle::BaseParticle::d_Kn

Normal contact coefficient for internal contact.

Definition at line 939 of file baseParticle.h.

Referenced by BaseParticle().

◆ d_material_p

std::unique_ptr<material::Material> particle::BaseParticle::d_material_p

Pointer to peridynamic material object.

Definition at line 933 of file baseParticle.h.

Referenced by BaseParticle(), getMaterial(), and getMaterial().

◆ d_mesh_p

std::shared_ptr<fe::Mesh> particle::BaseParticle::d_mesh_p

Pointer to mesh on reference particle.

Definition at line 968 of file baseParticle.h.

Referenced by getMesh(), getMesh(), getMeshP(), and getMeshP().

◆ d_modelData_p

◆ d_numNodes

size_t particle::BaseParticle::d_numNodes

Number of nodes in this particle.

Definition at line 909 of file baseParticle.h.

Referenced by getNumNodes().

◆ d_particleDescription

std::string particle::BaseParticle::d_particleDescription

Particle information. E.g., "rigid". If nothing specific is available, value will be empty string.

Definition at line 887 of file baseParticle.h.

◆ d_pRadius

double particle::BaseParticle::d_pRadius

Particle radius.

Definition at line 912 of file baseParticle.h.

Referenced by getParticleRadius().

◆ d_Rc

double particle::BaseParticle::d_Rc

Contact radius for contact between internal nodes of particle.

Definition at line 936 of file baseParticle.h.

Referenced by BaseParticle().

◆ d_rp_p

std::shared_ptr<particle::RefParticle> particle::BaseParticle::d_rp_p

Pointer to reference particle.

Definition at line 959 of file baseParticle.h.

Referenced by BaseParticle(), getCenterNodeId(), getUCenter(), getUCenter(), getVCenter(), getVCenter(), getXCenter(), and getXCenter().

◆ d_tform

particle::ParticleTransform particle::BaseParticle::d_tform

Transformation related data.

Definition at line 965 of file baseParticle.h.

Referenced by BaseParticle().

◆ d_type

std::string particle::BaseParticle::d_type

particle type, e.g., particle or wall

Definition at line 881 of file baseParticle.h.

Referenced by BaseParticle(), and getType().

◆ d_typeId

size_t particle::BaseParticle::d_typeId

Id of this particle in the category (for example if this is a wall, what is its id in vector of walls)

Definition at line 900 of file baseParticle.h.

◆ d_typeIndex

int particle::BaseParticle::d_typeIndex

Integer-based particle identity. 0 means it is a particle and 1 means it is a wall

Definition at line 890 of file baseParticle.h.

Referenced by BaseParticle(), BaseParticle(), and getTypeIndex().

◆ d_zoneId

size_t particle::BaseParticle::d_zoneId

Specify zone to which this particle belongs to.

Definition at line 903 of file baseParticle.h.


The documentation for this class was generated from the following files: