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

Structure to read and store material related data. More...

#include <materialDeck.h>

Collaboration diagram for inp::MaterialDeck:

Public Member Functions

 MaterialDeck ()
 Constructor.
 
 MaterialDeck (const MaterialDeck &md)
 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

bool d_isPlaneStrain
 Indicates if the 2-d simulation is of plane-strain type (thick material) or plane-stress type (thin material)
 
std::string d_materialType
 Material type.
 
size_t d_bondPotentialType
 Type of pairwise (bond-based) potential.
 
size_t d_statePotentialType
 Type of hydrostatic (state-based) potential.
 
size_t d_influenceFnType
 Type of influence function.
 
std::vector< double > d_bondPotentialParams
 List of parameters for pairwise potential.
 
std::vector< double > d_statePotentialParams
 List of parameters for hydrostatic potential.
 
std::vector< double > d_influenceFnParams
 List of parameters for influence function.
 
bool d_irreversibleBondBreak
 Flag for irreversible breaking of bonds.
 
bool d_stateContributionFromBrokenBond
 Flag for contribution to hydrostatic force from the broken bond.
 
double d_checkScFactor
 Factor to check if bond is broken.
 
bool d_computeParamsFromElastic
 Compute Peridynamic material properties from elastic properties.
 
inp::MatData d_matData
 List of elastic and fracture properties.
 
double d_density
 Density of material.
 
double d_horizon
 Horizon for peridynamic interaction.
 
double d_horizonMeshRatio
 Horizon to mesh ratio.
 

Detailed Description

Structure to read and store material related data.

Definition at line 236 of file materialDeck.h.

Constructor & Destructor Documentation

◆ MaterialDeck() [1/2]

inp::MaterialDeck::MaterialDeck ( )
inline

Constructor.

Definition at line 296 of file materialDeck.h.

301 d_density(1.), d_horizon(-1.), d_horizonMeshRatio(-1.){};
Structure for elastic properties and fracture properties.
bool d_isPlaneStrain
Indicates if the 2-d simulation is of plane-strain type (thick material) or plane-stress type (thin m...
double d_density
Density of material.
size_t d_bondPotentialType
Type of pairwise (bond-based) potential.
double d_horizonMeshRatio
Horizon to mesh ratio.
size_t d_influenceFnType
Type of influence function.
double d_horizon
Horizon for peridynamic interaction.
bool d_stateContributionFromBrokenBond
Flag for contribution to hydrostatic force from the broken bond.
bool d_computeParamsFromElastic
Compute Peridynamic material properties from elastic properties.
inp::MatData d_matData
List of elastic and fracture properties.
size_t d_statePotentialType
Type of hydrostatic (state-based) potential.
bool d_irreversibleBondBreak
Flag for irreversible breaking of bonds.
double d_checkScFactor
Factor to check if bond is broken.

◆ MaterialDeck() [2/2]

inp::MaterialDeck::MaterialDeck ( const MaterialDeck md)
inline

Copy constructor.

Parameters
mdAnother MaterialDeck object

Definition at line 308 of file materialDeck.h.

309 : d_isPlaneStrain(md.d_isPlaneStrain),
310 d_materialType(md.d_materialType),
311 d_bondPotentialType(md.d_bondPotentialType),
312 d_statePotentialType(md.d_statePotentialType),
313 d_influenceFnType(md.d_influenceFnType),
314 d_bondPotentialParams(md.d_bondPotentialParams),
315 d_statePotentialParams(md.d_statePotentialParams),
316 d_influenceFnParams(md.d_influenceFnParams),
317 d_irreversibleBondBreak(md.d_irreversibleBondBreak),
318 d_stateContributionFromBrokenBond(md.d_stateContributionFromBrokenBond),
319 d_checkScFactor(md.d_checkScFactor),
320 d_computeParamsFromElastic(md.d_computeParamsFromElastic),
321 d_matData(md.d_matData), d_density(md.d_density),
322 d_horizon(md.d_horizon), d_horizonMeshRatio(md.d_horizonMeshRatio){};
std::vector< double > d_bondPotentialParams
List of parameters for pairwise potential.
std::string d_materialType
Material type.
std::vector< double > d_influenceFnParams
List of parameters for influence function.
std::vector< double > d_statePotentialParams
List of parameters for hydrostatic potential.

Member Function Documentation

◆ print()

void inp::MaterialDeck::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 376 of file materialDeck.h.

376{ 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 printStr().

Here is the call graph for this function:

◆ printStr()

std::string inp::MaterialDeck::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 331 of file materialDeck.h.

331 {
332
333 auto tabS = util::io::getTabS(nt);
334 std::ostringstream oss;
335 oss << tabS << "------- MaterialDeck --------" << std::endl << std::endl;
336 oss << tabS << "Is plain strain = " << d_isPlaneStrain << std::endl;
337 oss << tabS << "Material type = " << d_materialType << std::endl;
338 oss << tabS << "Bond potential type = " << d_bondPotentialType << std::endl;
339 oss << tabS << "Bond potential params = ["
340 << util::io::printStr<double>(d_bondPotentialParams, 0) << "]"
341 << std::endl;
342 oss << tabS << "State potential type = " << d_statePotentialType
343 << std::endl;
344 oss << tabS << "State potential params = ["
345 << util::io::printStr<double>(d_statePotentialParams, 0) << "]"
346 << std::endl;
347 oss << tabS << "Influence function type = " << d_influenceFnType
348 << std::endl;
349 oss << tabS << "Influence function params = ["
350 << util::io::printStr<double>(d_influenceFnParams, 0) << "]"
351 << std::endl;
352 oss << tabS
353 << "Irreversible bond breaking enabled = " << d_irreversibleBondBreak
354 << std::endl;
355 oss << tabS << "State contribution from broken bond enabled = "
356 << d_stateContributionFromBrokenBond << std::endl;
357 oss << tabS << "Check Sc factor = " << d_checkScFactor << std::endl;
358 oss << tabS << "Compute parameters from elastic properties = "
359 << d_computeParamsFromElastic << std::endl;
360 oss << d_matData.printStr(nt + 1, lvl);
361 oss << tabS << "Density = " << d_density << std::endl;
362 oss << tabS << "Horizon = " << d_horizon << std::endl;
363 oss << tabS << "Horizon to mesh ratio = " << d_horizonMeshRatio
364 << std::endl;
365 oss << tabS << std::endl;
366
367 return oss.str();
368 }
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.

References d_bondPotentialParams, d_bondPotentialType, d_checkScFactor, d_computeParamsFromElastic, d_density, d_horizon, d_horizonMeshRatio, d_influenceFnParams, d_influenceFnType, d_irreversibleBondBreak, d_isPlaneStrain, d_matData, d_materialType, d_stateContributionFromBrokenBond, d_statePotentialParams, d_statePotentialType, util::io::getTabS(), and inp::MatData::printStr().

Referenced by material::PdState::computeParameters(), print(), and inp::ParticleZone::printStr().

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

Field Documentation

◆ d_bondPotentialParams

std::vector<double> inp::MaterialDeck::d_bondPotentialParams

◆ d_bondPotentialType

size_t inp::MaterialDeck::d_bondPotentialType

Type of pairwise (bond-based) potential.

Definition at line 248 of file materialDeck.h.

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

◆ d_checkScFactor

double inp::MaterialDeck::d_checkScFactor

Factor to check if bond is broken.

Definition at line 276 of file materialDeck.h.

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

◆ d_computeParamsFromElastic

bool inp::MaterialDeck::d_computeParamsFromElastic

◆ d_density

double inp::MaterialDeck::d_density

Density of material.

Definition at line 285 of file materialDeck.h.

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

◆ d_horizon

double inp::MaterialDeck::d_horizon

Horizon for peridynamic interaction.

Definition at line 288 of file materialDeck.h.

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

◆ d_horizonMeshRatio

double inp::MaterialDeck::d_horizonMeshRatio

Horizon to mesh ratio.

Definition at line 291 of file materialDeck.h.

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

◆ d_influenceFnParams

std::vector<double> inp::MaterialDeck::d_influenceFnParams

◆ d_influenceFnType

size_t inp::MaterialDeck::d_influenceFnType

◆ d_irreversibleBondBreak

bool inp::MaterialDeck::d_irreversibleBondBreak

Flag for irreversible breaking of bonds.

True means bond breaking is irreversible.

Definition at line 270 of file materialDeck.h.

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

◆ d_isPlaneStrain

bool inp::MaterialDeck::d_isPlaneStrain

Indicates if the 2-d simulation is of plane-strain type (thick material) or plane-stress type (thin material)

Definition at line 242 of file materialDeck.h.

Referenced by material::PdElastic::PdElastic(), material::PdState::PdState(), material::PmbMaterial::PmbMaterial(), printStr(), material::RnpMaterial::RnpMaterial(), and inp::Input::setZoneMaterialDeck().

◆ d_matData

◆ d_materialType

std::string inp::MaterialDeck::d_materialType

Material type.

Definition at line 245 of file materialDeck.h.

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

◆ d_stateContributionFromBrokenBond

bool inp::MaterialDeck::d_stateContributionFromBrokenBond

Flag for contribution to hydrostatic force from the broken bond.

Definition at line 273 of file materialDeck.h.

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

◆ d_statePotentialParams

std::vector<double> inp::MaterialDeck::d_statePotentialParams

List of parameters for hydrostatic potential.

Definition at line 260 of file materialDeck.h.

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

◆ d_statePotentialType

size_t inp::MaterialDeck::d_statePotentialType

Type of hydrostatic (state-based) potential.

Definition at line 251 of file materialDeck.h.

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


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