www.mooseframework.org
SymmIsotropicElasticityTensor.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 #ifndef SYMMISOTROPICELASTICITYTENSOR_H
8 #define SYMMISOTROPICELASTICITYTENSOR_H
9 
10 #include "SymmElasticityTensor.h"
11 
32 {
33 public:
34  SymmIsotropicElasticityTensor(const bool constant = true);
35 
37 
38  void unsetConstants() { _lambda_set = _mu_set = _E_set = _nu_set = _k_set = false; }
39 
43  void setLambda(const Real lambda);
44 
48  void setMu(const Real mu);
49 
53  void setYoungsModulus(const Real E);
54 
58  void setPoissonsRatio(const Real nu);
59 
63  void setBulkModulus(const Real k);
64 
68  void setShearModulus(const Real k);
69 
73  Real mu() const;
74 
78  Real shearModulus() const;
79 
83  Real youngsModulus() const;
84 
85  virtual Real stiffness(const unsigned i,
86  const unsigned j,
87  const RealGradient & test,
88  const RealGradient & phi) const;
89 
90  virtual void multiply(const SymmTensor & x, SymmTensor & b) const;
91 
92  virtual void adjustForCracking(const RealVectorValue & crack_flags);
93  virtual void adjustForCrackingWithShearRetention(const RealVectorValue & crack_flags);
94 
95 protected:
97 
98  Real _lambda, _mu, _E, _nu, _k;
99 
103  virtual void calculateEntries(unsigned int qp);
104  void setEntries(Real C11, Real C12, Real C44);
105 
112 };
113 
114 #endif // ISOTROPICELASTICITYTENSOR_H
This class defines a basic set of capabilities any elasticity tensor should have. ...
Real youngsModulus() const
Return the youngs modulus.
void setBulkModulus(const Real k)
Set the Bulk Modulus.
virtual void multiply(const SymmTensor &x, SymmTensor &b) const
void setShearModulus(const Real k)
Set the shear modulus...
void setEntries(Real C11, Real C12, Real C44)
virtual void calculateEntries(unsigned int qp)
Fill in the matrix.
void setLambda(const Real lambda)
Set the first Lame Coefficient.
SymmIsotropicElasticityTensor(const bool constant=true)
void calculateLameCoefficients()
Calculates lambda and mu based on what has been set.
virtual Real stiffness(const unsigned i, const unsigned j, const RealGradient &test, const RealGradient &phi) const
Real shearModulus() const
Return the shear modulus...
void setYoungsModulus(const Real E)
Set the Young's Modulus.
virtual void adjustForCracking(const RealVectorValue &crack_flags)
virtual void adjustForCrackingWithShearRetention(const RealVectorValue &crack_flags)
Defines an Isotropic Elasticity Tensor.
void setMu(const Real mu)
Set the second Lame Coefficient.
void setPoissonsRatio(const Real nu)
Set Poissons Ratio.