Defines an Isotropic Elasticity Tensor. More...
#include <IsotropicElasticityTensor.h>
Public Member Functions | |
IsotropicElasticityTensor (const bool constant=true) | |
void | setLambda (const Real lambda) |
Set the first Lame Coefficient. More... | |
void | setMu (const Real mu) |
Set the second Lame Coefficient. More... | |
void | setYoungsModulus (const Real E) |
Set the Young's Modulus. More... | |
void | setPoissonsRatio (const Real nu) |
Set Poissons Ratio. More... | |
void | setBulkModulus (const Real k) |
Set the Bulk Modulus. More... | |
void | setShearModulus (const Real k) |
Set the shear modulus... More... | |
virtual | ~IsotropicElasticityTensor () |
void | calculate (unsigned int qp) |
Public function that will be called whenever the values for this matrix need to be filled in. More... | |
virtual ColumnMajorMatrix | calculateDerivative (unsigned int qp, unsigned int i) |
Protected Member Functions | |
virtual void | calculateEntries (unsigned int qp) |
Fill in the matrix. More... | |
void | calculateLameCoefficients () |
Calculates lambda and mu based on what has been set. More... | |
Real | isotropicEntry (const unsigned int i, const unsigned j, const unsigned k, const unsigned l) |
Computes a single entry of C_ijkl. More... | |
Protected Attributes | |
bool | _lambda_set |
bool | _mu_set |
bool | _E_set |
bool | _nu_set |
bool | _k_set |
Real | _lambda |
Real | _mu |
Real | _E |
Real | _nu |
Real | _k |
bool | _constant |
Whether or not the matrix is constant for all of time and space. More... | |
bool | _values_computed |
Whether or not the values have been computed once. More... | |
Defines an Isotropic Elasticity Tensor.
The input is any two of the following:
Youngs Modulus Poissons Ration First and Second Lame Coefficients (lambda and mu) Bulk Modulus
Internally this class uses the Lame Coefficients. Everything is is transformed to these coefficients.
Note that by default this tensor is constant... meaning that it never changes after the first time it is computed.
If you want to modify this behavior you can pass in false to the constructor.
Definition at line 33 of file IsotropicElasticityTensor.h.
IsotropicElasticityTensor::IsotropicElasticityTensor | ( | const bool | constant = true | ) |
Definition at line 12 of file IsotropicElasticityTensor.C.
|
inlinevirtual |
Definition at line 68 of file IsotropicElasticityTensor.h.
|
inherited |
Public function that will be called whenever the values for this matrix need to be filled in.
Definition at line 18 of file ElasticityTensor.C.
|
virtualinherited |
Definition at line 28 of file ElasticityTensor.C.
|
protectedvirtual |
Fill in the matrix.
Implements ElasticityTensor.
Reimplemented in IsotropicElasticityTensorRZ.
Definition at line 113 of file IsotropicElasticityTensor.C.
|
protected |
Calculates lambda and mu based on what has been set.
These are based on Michael Tonks's's notes
Definition at line 67 of file IsotropicElasticityTensor.C.
Referenced by calculateEntries(), and IsotropicElasticityTensorRZ::calculateLameCoefficients().
|
protected |
Computes a single entry of C_ijkl.
Note that the formula for this came from Michael Tonks on page 234 of his notes.
Definition at line 104 of file IsotropicElasticityTensor.C.
Referenced by calculateEntries().
void IsotropicElasticityTensor::setBulkModulus | ( | const Real | k | ) |
Set the Bulk Modulus.
Definition at line 54 of file IsotropicElasticityTensor.C.
void IsotropicElasticityTensor::setLambda | ( | const Real | lambda | ) |
Set the first Lame Coefficient.
Definition at line 26 of file IsotropicElasticityTensor.C.
void IsotropicElasticityTensor::setMu | ( | const Real | mu | ) |
Set the second Lame Coefficient.
Definition at line 33 of file IsotropicElasticityTensor.C.
Referenced by setShearModulus().
void IsotropicElasticityTensor::setPoissonsRatio | ( | const Real | nu | ) |
Set Poissons Ratio.
Definition at line 47 of file IsotropicElasticityTensor.C.
void IsotropicElasticityTensor::setShearModulus | ( | const Real | k | ) |
Set the shear modulus...
same thing as Mu
Definition at line 61 of file IsotropicElasticityTensor.C.
void IsotropicElasticityTensor::setYoungsModulus | ( | const Real | E | ) |
Set the Young's Modulus.
Definition at line 40 of file IsotropicElasticityTensor.C.
|
protectedinherited |
Whether or not the matrix is constant for all of time and space.
Definition at line 48 of file ElasticityTensor.h.
Referenced by ElasticityTensor::calculate().
|
protected |
Definition at line 73 of file IsotropicElasticityTensor.h.
Referenced by IsotropicElasticityTensorRZ::calculateEntries(), IsotropicElasticityTensorRZ::calculateLameCoefficients(), calculateLameCoefficients(), and setYoungsModulus().
|
protected |
Definition at line 71 of file IsotropicElasticityTensor.h.
Referenced by IsotropicElasticityTensorRZ::calculateLameCoefficients(), calculateLameCoefficients(), and setYoungsModulus().
|
protected |
Definition at line 73 of file IsotropicElasticityTensor.h.
Referenced by calculateLameCoefficients(), and setBulkModulus().
|
protected |
Definition at line 71 of file IsotropicElasticityTensor.h.
Referenced by calculateLameCoefficients(), and setBulkModulus().
|
protected |
Definition at line 73 of file IsotropicElasticityTensor.h.
Referenced by IsotropicElasticityTensorRZ::calculateLameCoefficients(), calculateLameCoefficients(), isotropicEntry(), and setLambda().
|
protected |
Definition at line 71 of file IsotropicElasticityTensor.h.
Referenced by IsotropicElasticityTensorRZ::calculateLameCoefficients(), calculateLameCoefficients(), and setLambda().
|
protected |
Definition at line 73 of file IsotropicElasticityTensor.h.
Referenced by IsotropicElasticityTensorRZ::calculateLameCoefficients(), calculateLameCoefficients(), isotropicEntry(), and setMu().
|
protected |
Definition at line 71 of file IsotropicElasticityTensor.h.
Referenced by IsotropicElasticityTensorRZ::calculateLameCoefficients(), calculateLameCoefficients(), and setMu().
|
protected |
Definition at line 73 of file IsotropicElasticityTensor.h.
Referenced by IsotropicElasticityTensorRZ::calculateEntries(), IsotropicElasticityTensorRZ::calculateLameCoefficients(), calculateLameCoefficients(), and setPoissonsRatio().
|
protected |
Definition at line 71 of file IsotropicElasticityTensor.h.
Referenced by IsotropicElasticityTensorRZ::calculateLameCoefficients(), calculateLameCoefficients(), and setPoissonsRatio().
|
protectedinherited |
Whether or not the values have been computed once.
Definition at line 53 of file ElasticityTensor.h.
Referenced by ElasticityTensor::calculate().