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

Structure for elastic properties and fracture properties. More...

#include <materialDeck.h>

Collaboration diagram for inp::MatData:

Public Member Functions

 MatData ()
 Constructor.
 
 MatData (const MatData &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.
 
Conversion methods
double toNu (double lambda, double mu)
 Compute Poisson's ratio from Lame parameters.
 
double toNuEG (double E, double G)
 Compute Poisson's ratio from Young's and Shear modulus.
 
double toE (double K, double nu)
 Compute Young's modulus E from Bulk modulus K and Poisson's ratio nu.
 
double toK (double E, double nu)
 Compute Bulk modulus K from Young's modulus K and Poisson's ratio nu.
 
double toLambdaE (double E, double nu)
 Compute Lame first parameter lambda from Young's modulus E and Poisson's ratio nu.
 
double toLambdaK (double K, double nu)
 Compute Lame first parameter lambda from Bulk modulus K and Poisson's ratio nu.
 
double toGE (double E, double nu)
 Compute shear modulus from Young's modulus E and Poisson's ratio nu.
 
double toGK (double K, double nu)
 Compute shear modulus from Bulk modulus K and Poisson's ratio nu.
 
double toELambda (double lambda, double nu)
 Compute Young's modulus E from Lame first parameter lambda and Poisson's ratio nu.
 
double toGc (double KIc, double nu, double E)
 Compute critical energy release rate Gc from critical stress-intensity factor KIc, Poisson's ratio nu, and Young's modulus E.
 
double toKIc (double Gc, double nu, double E)
 Compute critical stress-intensity factor KIc from critical energy release rate Gc, Poisson's ratio \( nu\), and Young's modulus E.
 

Data Fields

Elastic material properties
double d_E
 Young's elastic modulus.
 
double d_G
 Shear modulus or Lame second parameter.
 
double d_K
 Bulk modulus.
 
double d_nu
 Poisson's ratio.
 
double d_lambda
 Lame first parameter.
 
double d_mu
 Lame second parameter.
 
Fracture properties
double d_KIc
 Critical stress intensity factor.
 
double d_Gc
 Critical energy release rate.
 

Detailed Description

Structure for elastic properties and fracture properties.

Definition at line 22 of file materialDeck.h.

Constructor & Destructor Documentation

◆ MatData() [1/2]

inp::MatData::MatData ( )
inline

Constructor.

Definition at line 65 of file materialDeck.h.

66 : d_E(-1.), d_G(-1.), d_K(-1.), d_nu(-1.), d_lambda(-1.), d_mu(-1.),
67 d_KIc(-1.), d_Gc(-1.){};
double d_mu
Lame second parameter.
double d_KIc
Critical stress intensity factor.
double d_K
Bulk modulus.
double d_lambda
Lame first parameter.
double d_nu
Poisson's ratio.
double d_G
Shear modulus or Lame second parameter.
double d_E
Young's elastic modulus.
double d_Gc
Critical energy release rate.

◆ MatData() [2/2]

inp::MatData::MatData ( const MatData md)
inline

Copy constructor.

Parameters
mdAnother MatData object

Definition at line 74 of file materialDeck.h.

75 : d_E(md.d_E), d_G(md.d_G), d_K(md.d_K), d_nu(md.d_nu),
76 d_lambda(md.d_lambda), d_mu(md.d_mu), d_KIc(md.d_KIc), d_Gc(md.d_Gc){};

Member Function Documentation

◆ print()

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

109{ 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::MatData::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 85 of file materialDeck.h.

85 {
86
87 auto tabS = util::io::getTabS(nt);
88 std::ostringstream oss;
89 oss << tabS << "------- MatData --------" << std::endl << std::endl;
90 oss << tabS << "Young's modulus = " << d_E << std::endl;
91 oss << tabS << "Shear modulus = " << d_G << std::endl;
92 oss << tabS << "Bulk modulus = " << d_K << std::endl;
93 oss << tabS << "Poisson ratio = " << d_nu << std::endl;
94 oss << tabS << "Lame parameter Lambda = " << d_lambda << std::endl;
95 oss << tabS << "Lame parameter Mu = " << d_mu << std::endl;
96 oss << tabS << "Critical stress intensity factor = " << d_KIc << std::endl;
97 oss << tabS << "Critical energy release rate = " << d_Gc << std::endl;
98 oss << tabS << std::endl;
99
100 return oss.str();
101 }
std::string getTabS(int nt)
Returns tab spaces of given size.
Definition io.h:40

References d_E, d_G, d_Gc, d_K, d_KIc, d_lambda, d_mu, d_nu, and util::io::getTabS().

Referenced by print(), and inp::MaterialDeck::printStr().

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

◆ toE()

double inp::MatData::toE ( double  K,
double  nu 
)
inline

Compute Young's modulus E from Bulk modulus K and Poisson's ratio nu.

Parameters
KBulk modulus
nuPoisson's ratio
Returns
E Young's modulus

Definition at line 138 of file materialDeck.h.

138{ return K * (3. * (1. - 2. * nu)); }

Referenced by material::RnpMaterial::computeParameters(), material::PmbMaterial::computeParameters(), material::PdElastic::computeParameters(), and material::PdState::computeParameters().

Here is the caller graph for this function:

◆ toELambda()

double inp::MatData::toELambda ( double  lambda,
double  nu 
)
inline

Compute Young's modulus E from Lame first parameter lambda and Poisson's ratio nu.

Parameters
lambdaLame first parameter
nuPoisson's ratio
Returns
E Young's modulus

Definition at line 193 of file materialDeck.h.

193 {
194 return lambda * (1. + nu) * (1. - 2. * nu) / nu;
195 }

◆ toGc()

double inp::MatData::toGc ( double  KIc,
double  nu,
double  E 
)
inline

Compute critical energy release rate Gc from critical stress-intensity factor KIc, Poisson's ratio nu, and Young's modulus E.

Below conversion from KIc to Gc assumes plane-stress condition. For plane-stress condition, we need to modify the Young's modulus \( E\) to \( \frac{E}{1 - \nu^2} \) where \( \nu\) is the Poisson's ratio.

Parameters
KIcCritical stress-intensity factor
nuPoisson's ratio
EYoung's modulus
Returns
Gc Critical energy release rate

Definition at line 210 of file materialDeck.h.

210{ return KIc * KIc / E; }

Referenced by material::RnpMaterial::computeParameters(), material::PmbMaterial::computeParameters(), and material::PdState::computeParameters().

Here is the caller graph for this function:

◆ toGE()

double inp::MatData::toGE ( double  E,
double  nu 
)
inline

Compute shear modulus from Young's modulus E and Poisson's ratio nu.

Parameters
EYoung's modulus
nuPoisson's ratio
Returns
G Shear modulus

Definition at line 174 of file materialDeck.h.

174{ return E / (2. * (1. + nu)); }

Referenced by material::RnpMaterial::computeParameters(), material::PmbMaterial::computeParameters(), material::PdElastic::computeParameters(), and material::PdState::computeParameters().

Here is the caller graph for this function:

◆ toGK()

double inp::MatData::toGK ( double  K,
double  nu 
)
inline

Compute shear modulus from Bulk modulus K and Poisson's ratio nu.

Parameters
KBulk modulus
nuPoisson's ratio
Returns
G Shear modulus

Definition at line 182 of file materialDeck.h.

182 {
183 return 3. * K * (1. - 2. * nu) / (2. * (1. + nu));
184 }

◆ toK()

double inp::MatData::toK ( double  E,
double  nu 
)
inline

Compute Bulk modulus K from Young's modulus K and Poisson's ratio nu.

Parameters
EYoung's modulus
nuPoisson's ratio
Returns
K Bulk modulus

Definition at line 146 of file materialDeck.h.

146{ return E / (3. * (1. - 2. * nu)); }

Referenced by material::RnpMaterial::computeParameters(), material::PmbMaterial::computeParameters(), material::PdElastic::computeParameters(), and material::PdState::computeParameters().

Here is the caller graph for this function:

◆ toKIc()

double inp::MatData::toKIc ( double  Gc,
double  nu,
double  E 
)
inline

Compute critical stress-intensity factor KIc from critical energy release rate Gc, Poisson's ratio \( nu\), and Young's modulus E.

Below conversion from Gc to KIc assumes plane-stress condition. For plane-stress condition, we need to modify the Young's modulus \( E\) to \( \frac{E}{1 - \nu^2} \) where \( \nu\) is the Poisson's ratio.

Parameters
GcCritical energy release rate
nuPoisson's ratio
EYoung's modulus
Returns
KIc Critical stress-intensity factor

Definition at line 225 of file materialDeck.h.

225{ return std::sqrt(Gc * E); }

Referenced by material::RnpMaterial::computeParameters(), material::PmbMaterial::computeParameters(), and material::PdState::computeParameters().

Here is the caller graph for this function:

◆ toLambdaE()

double inp::MatData::toLambdaE ( double  E,
double  nu 
)
inline

Compute Lame first parameter lambda from Young's modulus E and Poisson's ratio nu.

Parameters
EYoung's modulus
nuPoisson's ratio
Returns
lambda Lame first parameter

Definition at line 155 of file materialDeck.h.

155 {
156 return E * nu / ((1. + nu) * (1. - 2. * nu));
157 }

Referenced by material::RnpMaterial::computeParameters(), material::PmbMaterial::computeParameters(), material::PdElastic::computeParameters(), and material::PdState::computeParameters().

Here is the caller graph for this function:

◆ toLambdaK()

double inp::MatData::toLambdaK ( double  K,
double  nu 
)
inline

Compute Lame first parameter lambda from Bulk modulus K and Poisson's ratio nu.

Parameters
KBulk modulus
nuPoisson's ratio
Returns
lambda Lame first parameter

Definition at line 166 of file materialDeck.h.

166{ return 3. * K * nu / (1. + nu); }

◆ toNu()

double inp::MatData::toNu ( double  lambda,
double  mu 
)
inline

Compute Poisson's ratio from Lame parameters.

Parameters
lambdaLame first parameter
muLame second parameter
Returns
nu Poisson's ratio

Definition at line 122 of file materialDeck.h.

122{ return lambda * 0.5 / (lambda + mu); }

◆ toNuEG()

double inp::MatData::toNuEG ( double  E,
double  G 
)
inline

Compute Poisson's ratio from Young's and Shear modulus.

Parameters
EYoungs modulus
GShear modulus
Returns
nu Poisson's ratio

Definition at line 130 of file materialDeck.h.

130{ return E * 0.5 / G - 1.; }

Field Documentation

◆ d_E

◆ d_G

◆ d_Gc

◆ d_K

◆ d_KIc

◆ d_lambda

◆ d_mu

◆ d_nu


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