PeriDEM 0.2.0
PeriDEM -- Peridynamics-based high-fidelity model for granular media
Loading...
Searching...
No Matches
inp::ParticleZone Struct Reference

User-input data for particle zone. More...

#include <zoneDeck.h>

Collaboration diagram for inp::ParticleZone:

Public Member Functions

 ParticleZone ()
 Constructor.
 
 ParticleZone (const ParticleZone &pz)
 Copy 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.
 

Data Fields

inp::Zone d_zone
 Zone data.
 
std::string d_particleDescription
 Particle information. E.g., "rigid". If nothing specific is available, value will be empty string.
 
bool d_isWall
 Is this particle actually a wall?
 
util::geometry::GeomData d_particleGeomData
 Geometry of details of particle.
 
util::geometry::GeomData d_refParticleGeomData
 Geometry of details of reference particle.
 
std::string d_genMethod
 Particle generation method.
 
std::string d_particleFileDataType
 Specify what data to be expected in the particle file e.g.
 
std::string d_particleFile
 Read particle from a file.
 
inp::MaterialDeck d_matDeck
 Store material information.
 
inp::MeshDeck d_meshDeck
 Store mesh information.
 
bool d_meshFlag
 Specify if we mesh particle (intended to handle rigid wall in future)
 
bool d_allDofsConstrained
 Specify if all dofs are constrained.
 
double d_nearBdNodesTol
 Specify how deep we search for nodes near boundary for contact calculations.
 
bool d_createParticleUsingParticleZoneGeomObject
 Specify if the particle should be created using the particle geometry in the zone data and mesh file. I.e., we will not expect location information from the particle generation file for this particle and create particle in this zone using the particle geometry object 'd_geom_p' and use identity transform.
 

Detailed Description

User-input data for particle zone.

Definition at line 78 of file zoneDeck.h.

Constructor & Destructor Documentation

◆ ParticleZone() [1/2]

inp::ParticleZone::ParticleZone ( )
inline

Constructor.

Definition at line 147 of file zoneDeck.h.

148 : d_zone(inp::Zone()),
150 d_isWall(false),
153 d_genMethod(""),
155 d_particleFile(""),
156 d_matDeck(),
157 d_meshDeck(),
158 d_meshFlag(true),
160 d_nearBdNodesTol(0.5),
162 {};
inp::MeshDeck d_meshDeck
Store mesh information.
Definition zoneDeck.h:124
bool d_allDofsConstrained
Specify if all dofs are constrained.
Definition zoneDeck.h:130
util::geometry::GeomData d_refParticleGeomData
Geometry of details of reference particle.
Definition zoneDeck.h:96
std::string d_particleDescription
Particle information. E.g., "rigid". If nothing specific is available, value will be empty string.
Definition zoneDeck.h:87
inp::Zone d_zone
Zone data.
Definition zoneDeck.h:81
util::geometry::GeomData d_particleGeomData
Geometry of details of particle.
Definition zoneDeck.h:93
bool d_meshFlag
Specify if we mesh particle (intended to handle rigid wall in future)
Definition zoneDeck.h:127
inp::MaterialDeck d_matDeck
Store material information.
Definition zoneDeck.h:121
bool d_createParticleUsingParticleZoneGeomObject
Specify if the particle should be created using the particle geometry in the zone data and mesh file....
Definition zoneDeck.h:142
bool d_isWall
Is this particle actually a wall?
Definition zoneDeck.h:90
std::string d_particleFileDataType
Specify what data to be expected in the particle file e.g.
Definition zoneDeck.h:115
double d_nearBdNodesTol
Specify how deep we search for nodes near boundary for contact calculations.
Definition zoneDeck.h:133
std::string d_particleFile
Read particle from a file.
Definition zoneDeck.h:118
std::string d_genMethod
Particle generation method.
Definition zoneDeck.h:104
User-input data for zones.
Definition zoneDeck.h:27

◆ ParticleZone() [2/2]

inp::ParticleZone::ParticleZone ( const ParticleZone pz)
inline

Copy constructor.

Parameters
pzAnother ParticleZone object

Definition at line 169 of file zoneDeck.h.

170 : d_zone(pz.d_zone),
171 d_particleDescription(pz.d_particleDescription),
172 d_isWall(pz.d_isWall),
173 d_particleGeomData(pz.d_particleGeomData),
174 d_refParticleGeomData(pz.d_refParticleGeomData),
175 d_genMethod(pz.d_genMethod),
176 d_particleFileDataType(pz.d_particleFileDataType),
177 d_particleFile(pz.d_particleFile),
178 d_matDeck(pz.d_matDeck),
179 d_meshDeck(pz.d_meshDeck),
180 d_meshFlag(pz.d_meshFlag),
181 d_allDofsConstrained(pz.d_allDofsConstrained),
182 d_nearBdNodesTol(pz.d_nearBdNodesTol),
183 d_createParticleUsingParticleZoneGeomObject(pz.d_createParticleUsingParticleZoneGeomObject)
184 {};

Member Function Documentation

◆ print()

void inp::ParticleZone::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 223 of file zoneDeck.h.

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

References printStr().

Here is the call graph for this function:

◆ printStr()

std::string inp::ParticleZone::printStr ( int  nt = 0,
int  lvl = 0 
) const
inline

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 193 of file zoneDeck.h.

193 {
194
195 auto tabS = util::io::getTabS(nt);
196 std::ostringstream oss;
197 oss << tabS << "------- ParticleZone --------" << std::endl << std::endl;
198 oss << tabS << "Zone info: " << std::endl;
199 oss << d_zone.printStr(nt+1, lvl);
200 oss << tabS << "Particle type = " << d_particleDescription << std::endl;
201 oss << tabS << "Generation method = " << d_genMethod << std::endl;
202 oss << tabS << "Bdry nodes tol = " << d_nearBdNodesTol << std::endl;
203 oss << tabS << "Mesh flag = " << d_meshFlag << std::endl;
204 oss << tabS << "All dofs constrained = " << d_allDofsConstrained << std::endl;
205 oss << tabS << "d_createParticleUsingParticleZoneGeomObject = " << d_createParticleUsingParticleZoneGeomObject << std::endl;
206 oss << tabS << "Particle geometry details: " << std::endl;
207 oss << d_particleGeomData.printStr(nt+1, lvl);
208 oss << tabS << "Reference rarticle geometry details: " << std::endl;
209 oss << d_refParticleGeomData.printStr(nt+1, lvl);
210 oss << d_matDeck.printStr(nt+1, lvl);
211 oss << d_meshDeck.printStr(nt+1, lvl);
212 oss << std::endl;
213
214 return oss.str();
215 }
std::string getTabS(int nt)
Returns tab spaces of given size.
Definition io.h:40
std::string printStr(int nt=0, int lvl=0) const
Returns the string containing printable information about the object.
std::string printStr(int nt=0, int lvl=0) const
Returns the string containing printable information about the object.
Definition meshDeck.h:95
std::string printStr(int nt=0, int lvl=0) const
Returns the string containing printable information about the object.
Definition zoneDeck.h:56
std::string printStr(int nt=0, int lvl=0) const
Returns the string containing printable information about the object.

References d_allDofsConstrained, d_createParticleUsingParticleZoneGeomObject, d_genMethod, d_matDeck, d_meshDeck, d_meshFlag, d_nearBdNodesTol, d_particleDescription, d_particleGeomData, d_refParticleGeomData, d_zone, util::io::getTabS(), inp::MaterialDeck::printStr(), inp::MeshDeck::printStr(), inp::Zone::printStr(), and util::geometry::GeomData::printStr().

Referenced by print().

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

Field Documentation

◆ d_allDofsConstrained

bool inp::ParticleZone::d_allDofsConstrained

Specify if all dofs are constrained.

Definition at line 130 of file zoneDeck.h.

Referenced by printStr(), and inp::Input::setParticleData().

◆ d_createParticleUsingParticleZoneGeomObject

bool inp::ParticleZone::d_createParticleUsingParticleZoneGeomObject

Specify if the particle should be created using the particle geometry in the zone data and mesh file. I.e., we will not expect location information from the particle generation file for this particle and create particle in this zone using the particle geometry object 'd_geom_p' and use identity transform.

Definition at line 142 of file zoneDeck.h.

Referenced by printStr(), and inp::Input::setParticleData().

◆ d_genMethod

std::string inp::ParticleZone::d_genMethod

Particle generation method.

"from_file" means particle location, radius and other details will be loaded from the input .csv file

Definition at line 104 of file zoneDeck.h.

Referenced by printStr(), and inp::Input::setParticleData().

◆ d_isWall

bool inp::ParticleZone::d_isWall

Is this particle actually a wall?

Definition at line 90 of file zoneDeck.h.

Referenced by inp::Input::setParticleData().

◆ d_matDeck

inp::MaterialDeck inp::ParticleZone::d_matDeck

Store material information.

Definition at line 121 of file zoneDeck.h.

Referenced by printStr().

◆ d_meshDeck

inp::MeshDeck inp::ParticleZone::d_meshDeck

Store mesh information.

Definition at line 124 of file zoneDeck.h.

Referenced by printStr().

◆ d_meshFlag

bool inp::ParticleZone::d_meshFlag

Specify if we mesh particle (intended to handle rigid wall in future)

Definition at line 127 of file zoneDeck.h.

Referenced by printStr().

◆ d_nearBdNodesTol

double inp::ParticleZone::d_nearBdNodesTol

Specify how deep we search for nodes near boundary for contact calculations.

Definition at line 133 of file zoneDeck.h.

Referenced by printStr(), and inp::Input::setParticleData().

◆ d_particleDescription

std::string inp::ParticleZone::d_particleDescription

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

Definition at line 87 of file zoneDeck.h.

Referenced by printStr().

◆ d_particleFile

std::string inp::ParticleZone::d_particleFile

Read particle from a file.

Definition at line 118 of file zoneDeck.h.

Referenced by inp::Input::setParticleData().

◆ d_particleFileDataType

std::string inp::ParticleZone::d_particleFileDataType

Specify what data to be expected in the particle file e.g.

  • loc_rad : location and radius data
  • loc_rad_orient: location, radius, and orientation

By default, zone_id of particle will be there. Total data in each row will be 5 for "loc_rad" (1 zone, 3 location, 1 radius). For "loc_rad_orient", 6 data will be expected.

Definition at line 115 of file zoneDeck.h.

Referenced by inp::Input::setParticleData().

◆ d_particleGeomData

util::geometry::GeomData inp::ParticleZone::d_particleGeomData

Geometry of details of particle.

Definition at line 93 of file zoneDeck.h.

Referenced by printStr(), and inp::Input::setParticleData().

◆ d_refParticleGeomData

util::geometry::GeomData inp::ParticleZone::d_refParticleGeomData

Geometry of details of reference particle.

Definition at line 96 of file zoneDeck.h.

Referenced by printStr(), and inp::Input::setParticleData().

◆ d_zone

inp::Zone inp::ParticleZone::d_zone

Zone data.

Definition at line 81 of file zoneDeck.h.

Referenced by printStr().


The documentation for this struct was generated from the following file: