OGS
MaterialLib::Solids::LinearElasticOrthotropic< DisplacementDim >::EvaluatedMaterialProperties Struct Reference

Detailed Description

template<int DisplacementDim>
struct MaterialLib::Solids::LinearElasticOrthotropic< DisplacementDim >::EvaluatedMaterialProperties

Definition at line 19 of file LinearElasticOrthotropic.h.

#include <LinearElasticOrthotropic.h>

Public Member Functions

constexpr double E (int const i) const
 Youngs moduli for 1-based indices.
constexpr double G (int const i, int const j) const
 Shear moduli for 1-based indices.
constexpr double nu (int const i, int const j) const
 Poisson's ratios for 1-based indices.

Public Attributes

std::array< double, 3 > youngs_moduli
std::array< double, 3 > shear_moduli
std::array< double, 3 > poissons_ratios

Member Function Documentation

◆ E()

template<int DisplacementDim>
double MaterialLib::Solids::LinearElasticOrthotropic< DisplacementDim >::EvaluatedMaterialProperties::E ( int const i) const
inlineconstexpr

Youngs moduli for 1-based indices.

Definition at line 22 of file LinearElasticOrthotropic.h.

References youngs_moduli.

Referenced by nu().

◆ G()

template<int DisplacementDim>
double MaterialLib::Solids::LinearElasticOrthotropic< DisplacementDim >::EvaluatedMaterialProperties::G ( int const i,
int const j ) const
inlineconstexpr

Shear moduli for 1-based indices.

Definition at line 29 of file LinearElasticOrthotropic.h.

30 {
31 assert(i == 1 || i == 2 || i == 3);
32 assert(j == 1 || j == 2 || j == 3);
33 if (i == 1 && j == 2)
34 {
35 return shear_moduli[0];
36 }
37 if (i == 2 && j == 3)
38 {
39 return shear_moduli[1];
40 }
41 if (i == 1 && j == 3)
42 {
43 return shear_moduli[2];
44 }
45
47 }

References shear_moduli.

◆ nu()

template<int DisplacementDim>
double MaterialLib::Solids::LinearElasticOrthotropic< DisplacementDim >::EvaluatedMaterialProperties::nu ( int const i,
int const j ) const
inlineconstexpr

Poisson's ratios for 1-based indices.

Definition at line 50 of file LinearElasticOrthotropic.h.

51 {
52 assert(i == 1 || i == 2 || i == 3);
53 assert(j == 1 || j == 2 || j == 3);
54 if (i == 1 && j == 2)
55 {
56 return poissons_ratios[0];
57 }
58 if (i == 2 && j == 3)
59 {
60 return poissons_ratios[1];
61 }
62 if (i == 1 && j == 3)
63 {
64 return poissons_ratios[2];
65 }
66
67 // The next set is scaled by Youngs modulus s.t.
68 // nu_ji = nu_ij * E_j/E_i.
69 if (i == 2 && j == 1)
70 {
71 return poissons_ratios[0] * E(i) / E(j);
72 }
73 if (i == 3 && j == 2)
74 {
75 return poissons_ratios[1] * E(i) / E(j);
76 }
77 if (i == 3 && j == 1)
78 {
79 return poissons_ratios[2] * E(i) / E(j);
80 }
81
83 }
constexpr double E(int const i) const
Youngs moduli for 1-based indices.

References E(), and poissons_ratios.

Member Data Documentation

◆ poissons_ratios

template<int DisplacementDim>
std::array<double, 3> MaterialLib::Solids::LinearElasticOrthotropic< DisplacementDim >::EvaluatedMaterialProperties::poissons_ratios

Definition at line 87 of file LinearElasticOrthotropic.h.

Referenced by nu().

◆ shear_moduli

template<int DisplacementDim>
std::array<double, 3> MaterialLib::Solids::LinearElasticOrthotropic< DisplacementDim >::EvaluatedMaterialProperties::shear_moduli

Definition at line 86 of file LinearElasticOrthotropic.h.

Referenced by G().

◆ youngs_moduli

template<int DisplacementDim>
std::array<double, 3> MaterialLib::Solids::LinearElasticOrthotropic< DisplacementDim >::EvaluatedMaterialProperties::youngs_moduli

Definition at line 85 of file LinearElasticOrthotropic.h.

Referenced by E().


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