11#ifndef MATERIAL_UTIL_H
12#define MATERIAL_UTIL_H
35 inline double toNu(
double lambda,
double mu) {
return lambda * 0.5 / (lambda + mu); }
43 inline double toNuEG(
double E,
double G) {
return E * 0.5 / G - 1.; }
51 inline double toE(
double K,
double nu) {
return K * (3. * (1. - 2. * nu)); }
59 inline double toK(
double E,
double nu) {
return E / (3. * (1. - 2. * nu)); }
69 return E * nu / ((1. + nu) * (1. - 2. * nu));
79 inline double toLambdaK(
double K,
double nu) {
return 3. * K * nu / (1. + nu); }
87 inline double toGE(
double E,
double nu) {
return E / (2. * (1. + nu)); }
95 inline double toGK(
double K,
double nu) {
96 return 3. * K * (1. - 2. * nu) / (2. * (1. + nu));
107 return lambda * (1. + nu) * (1. - 2. * nu) / nu;
123 inline double toGc(
double KIc,
double nu,
double E) {
return KIc * KIc / E; }
138 inline double toKIc(
double Gc,
double nu,
double E) {
return std::sqrt(Gc * E); }
A class to store model data.
void computeHydrostaticStrain(data::ModelData *model, bool compute_in_parallel=false)
double toLambdaE(double E, double nu)
Compute Lame first parameter lambda from Young's modulus E 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,...
double toKIc(double Gc, double nu, double E)
Compute critical stress-intensity factor KIc from critical energy release rate Gc,...
double toNuEG(double E, double G)
Compute Poisson's ratio from Young's and Shear modulus.
void computeStateMx(data::ModelData *model, bool compute_in_parallel=false)
Computes the moment term in state-based peridynamic formulation.
double toGE(double E, double nu)
Compute shear modulus 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 toGK(double K, double nu)
Compute shear modulus from Bulk modulus K and Poisson's ratio nu.
double toE(double K, double nu)
Compute Young's modulus E from Bulk modulus K and Poisson's ratio nu.
void updateBondFractureData(data::ModelData *model, bool compute_in_parallel=false)
double toNu(double lambda, double mu)
Compute Poisson's ratio from Lame parameters.
void computeStateThetax(data::ModelData *model, bool compute_in_parallel=false)
double toELambda(double lambda, double nu)
Compute Young's modulus E from Lame first parameter lambda 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.