Defines an Isotropic Elasticity Tensor. More...
#include <SymmIsotropicElasticityTensor.h>
Public Member Functions | |
SymmIsotropicElasticityTensor (const bool constant=true) | |
virtual | ~SymmIsotropicElasticityTensor () |
void | unsetConstants () |
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... | |
Real | mu () const |
Return Mu. More... | |
Real | shearModulus () const |
Return the shear modulus... More... | |
Real | youngsModulus () const |
Return the youngs modulus. More... | |
virtual Real | stiffness (const unsigned i, const unsigned j, const RealGradient &test, const RealGradient &phi) const |
virtual void | multiply (const SymmTensor &x, SymmTensor &b) const |
virtual void | adjustForCracking (const RealVectorValue &crack_flags) |
virtual void | adjustForCrackingWithShearRetention (const RealVectorValue &crack_flags) |
void | constant (bool c) |
void | copyValues (SymmElasticityTensor &rhs) const |
void | calculate (unsigned int qp) |
Public function that will be called whenever the values for this matrix need to be filled in. More... | |
SymmTensor | operator* (const SymmTensor &x) const |
SymmElasticityTensor | operator* (Real x) const |
virtual Real | stiffness (const unsigned int i, const unsigned int j, const RealGradient &test, const RealGradient &phi) const |
SymmElasticityTensor | operator+ (const SymmElasticityTensor &rhs) const |
void | operator+= (const SymmElasticityTensor &rhs) |
void | operator-= (const SymmElasticityTensor &rhs) |
void | operator*= (Real rhs) |
void | operator/= (Real rhs) |
void | zero () |
void | convertFrom9x9 (const ColumnMajorMatrix &cmm) |
void | convertFrom6x6 (const ColumnMajorMatrix &cmm) |
ColumnMajorMatrix | columnMajorMatrix9x9 () const |
ColumnMajorMatrix | columnMajorMatrix6x6 () const |
void | form9x9Rotation (const ColumnMajorMatrix &R_3x3, ColumnMajorMatrix &R_9x9) const |
void | rotateFromGlobalToLocal (const ColumnMajorMatrix &R) |
void | rotateFromLocalToGlobal (const ColumnMajorMatrix &R) |
virtual SymmElasticityTensor | calculateDerivative (unsigned int qp, unsigned int i) |
void | fillFromInputVector (std::vector< Real > input, bool all) |
Real | sum_3x3 () const |
RealGradient | sum_3x1 () const |
Real | valueAtIndex (int i) const |
Protected Member Functions | |
virtual void | calculateEntries (unsigned int qp) |
Fill in the matrix. More... | |
void | setEntries (Real C11, Real C12, Real C44) |
void | calculateLameCoefficients () |
Calculates lambda and mu based on what has been set. 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... | |
Real | _val [21] |
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 SymmIsotropicElasticityTensor.h.
SymmIsotropicElasticityTensor::SymmIsotropicElasticityTensor | ( | const bool | constant = true | ) |
Definition at line 12 of file SymmIsotropicElasticityTensor.C.
|
inlinevirtual |
Definition at line 38 of file SymmIsotropicElasticityTensor.h.
|
virtual |
Reimplemented from SymmElasticityTensor.
Definition at line 251 of file SymmIsotropicElasticityTensor.C.
Referenced by adjustForCrackingWithShearRetention().
|
virtual |
Reimplemented from SymmElasticityTensor.
Definition at line 290 of file SymmIsotropicElasticityTensor.C.
|
inherited |
Public function that will be called whenever the values for this matrix need to be filled in.
Definition at line 41 of file SymmElasticityTensor.C.
Referenced by SolidModel::computeElasticityTensor(), LinearIsotropicMaterial::computeProperties(), and SolidModel::createElasticityTensor().
|
virtualinherited |
Definition at line 328 of file SymmElasticityTensor.C.
|
protectedvirtual |
Fill in the matrix.
Reimplemented from SymmElasticityTensor.
Definition at line 131 of file SymmIsotropicElasticityTensor.C.
|
protected |
Calculates lambda and mu based on what has been set.
These are based on Michael Tonks's's notes
Definition at line 94 of file SymmIsotropicElasticityTensor.C.
Referenced by calculateEntries().
|
inherited |
Definition at line 230 of file SymmElasticityTensor.C.
Referenced by SymmAnisotropicElasticityTensor::form_transformed_material_dt_matrix().
|
inherited |
Definition at line 245 of file SymmElasticityTensor.C.
Referenced by SymmAnisotropicElasticityTensor::form_transformed_material_dmat_matrix(), SymmElasticityTensor::rotateFromGlobalToLocal(), and SymmElasticityTensor::rotateFromLocalToGlobal().
|
inlineinherited |
Definition at line 66 of file SymmElasticityTensor.h.
|
inherited |
Definition at line 194 of file SymmElasticityTensor.C.
|
inherited |
Definition at line 158 of file SymmElasticityTensor.C.
Referenced by SymmAnisotropicElasticityTensor::form_transformed_material_dt_matrix(), SymmElasticityTensor::rotateFromGlobalToLocal(), and SymmElasticityTensor::rotateFromLocalToGlobal().
|
inlineinherited |
Definition at line 70 of file SymmElasticityTensor.h.
Referenced by SymmAnisotropicElasticityTensor::form_transformed_material_dmat_matrix().
|
inherited |
Definition at line 384 of file SymmElasticityTensor.C.
Referenced by LinearGeneralAnisotropicMaterial::LinearGeneralAnisotropicMaterial(), and MacroElastic::updateElasticityTensor().
|
inherited |
Definition at line 341 of file SymmElasticityTensor.C.
Referenced by SolidModel::crackingStrainDirections().
Real SymmIsotropicElasticityTensor::mu | ( | ) | const |
Return Mu.
Definition at line 84 of file SymmIsotropicElasticityTensor.C.
Referenced by setMu(), and shearModulus().
|
virtual |
Reimplemented from SymmElasticityTensor.
Definition at line 224 of file SymmIsotropicElasticityTensor.C.
|
inherited |
Definition at line 79 of file SymmElasticityTensor.C.
|
inherited |
Definition at line 333 of file SymmElasticityTensor.C.
|
inlineinherited |
Definition at line 118 of file SymmElasticityTensor.h.
|
inlineinherited |
Definition at line 93 of file SymmElasticityTensor.h.
|
inlineinherited |
Definition at line 102 of file SymmElasticityTensor.h.
|
inlineinherited |
Definition at line 110 of file SymmElasticityTensor.h.
|
inlineinherited |
Definition at line 126 of file SymmElasticityTensor.h.
|
inherited |
Definition at line 366 of file SymmElasticityTensor.C.
|
inherited |
Definition at line 360 of file SymmElasticityTensor.C.
Referenced by SolidModel::crackingStrainDirections().
void SymmIsotropicElasticityTensor::setBulkModulus | ( | const Real | k | ) |
Set the Bulk Modulus.
Definition at line 56 of file SymmIsotropicElasticityTensor.C.
|
protected |
void SymmIsotropicElasticityTensor::setLambda | ( | const Real | lambda | ) |
Set the first Lame Coefficient.
Definition at line 28 of file SymmIsotropicElasticityTensor.C.
void SymmIsotropicElasticityTensor::setMu | ( | const Real | mu | ) |
Set the second Lame Coefficient.
Definition at line 35 of file SymmIsotropicElasticityTensor.C.
Referenced by setShearModulus().
void SymmIsotropicElasticityTensor::setPoissonsRatio | ( | const Real | nu | ) |
Set Poissons Ratio.
Definition at line 49 of file SymmIsotropicElasticityTensor.C.
Referenced by SolidModel::createElasticityTensor(), LinearIsotropicMaterial::LinearIsotropicMaterial(), and SolidModel::updateElasticityTensor().
void SymmIsotropicElasticityTensor::setShearModulus | ( | const Real | k | ) |
Set the shear modulus...
same thing as Mu
Definition at line 63 of file SymmIsotropicElasticityTensor.C.
void SymmIsotropicElasticityTensor::setYoungsModulus | ( | const Real | E | ) |
Set the Young's Modulus.
Definition at line 42 of file SymmIsotropicElasticityTensor.C.
Referenced by SolidModel::createElasticityTensor(), LinearIsotropicMaterial::LinearIsotropicMaterial(), and SolidModel::updateElasticityTensor().
Real SymmIsotropicElasticityTensor::shearModulus | ( | ) | const |
Return the shear modulus...
same thing as Mu
Definition at line 69 of file SymmIsotropicElasticityTensor.C.
Referenced by ReturnMappingModel::computeStress(), PowerLawCreepModel::computeStressInitialize(), IsotropicTempDepHardening::computeStressInitialize(), IsotropicPlasticity::computeStressInitialize(), CLSHPlasticModel::computeStressInitialize(), and IsotropicPowerLawHardening::computeStressInitialize().
|
virtual |
Definition at line 156 of file SymmIsotropicElasticityTensor.C.
|
virtualinherited |
Definition at line 87 of file SymmElasticityTensor.C.
|
inherited |
Definition at line 422 of file SymmElasticityTensor.C.
|
inherited |
|
inline |
Definition at line 40 of file SymmIsotropicElasticityTensor.h.
Referenced by SolidModel::updateElasticityTensor().
|
inherited |
Definition at line 409 of file SymmElasticityTensor.C.
Referenced by RateDepSmearCrackModel::computeStress().
Real SymmIsotropicElasticityTensor::youngsModulus | ( | ) | const |
Return the youngs modulus.
Definition at line 75 of file SymmIsotropicElasticityTensor.C.
Referenced by IsotropicPowerLawHardening::computeStressInitialize().
|
inlineinherited |
Definition at line 134 of file SymmElasticityTensor.h.
Referenced by SymmAnisotropicElasticityTensor::calculateEntries().
|
protectedinherited |
Whether or not the matrix is constant for all of time and space.
Definition at line 173 of file SymmElasticityTensor.h.
Referenced by SymmElasticityTensor::calculate(), SymmElasticityTensor::constant(), dataLoad(), and dataStore().
|
protected |
Definition at line 100 of file SymmIsotropicElasticityTensor.h.
Referenced by calculateLameCoefficients(), setYoungsModulus(), and youngsModulus().
|
protected |
Definition at line 98 of file SymmIsotropicElasticityTensor.h.
Referenced by calculateLameCoefficients(), setYoungsModulus(), unsetConstants(), and youngsModulus().
|
protected |
Definition at line 100 of file SymmIsotropicElasticityTensor.h.
Referenced by calculateLameCoefficients(), and setBulkModulus().
|
protected |
Definition at line 98 of file SymmIsotropicElasticityTensor.h.
Referenced by calculateLameCoefficients(), setBulkModulus(), and unsetConstants().
|
protected |
Definition at line 100 of file SymmIsotropicElasticityTensor.h.
Referenced by adjustForCracking(), calculateEntries(), calculateLameCoefficients(), and setLambda().
|
protected |
Definition at line 98 of file SymmIsotropicElasticityTensor.h.
Referenced by calculateLameCoefficients(), setLambda(), and unsetConstants().
|
protected |
Definition at line 100 of file SymmIsotropicElasticityTensor.h.
Referenced by adjustForCracking(), calculateEntries(), calculateLameCoefficients(), mu(), and setMu().
|
protected |
Definition at line 98 of file SymmIsotropicElasticityTensor.h.
Referenced by calculateLameCoefficients(), mu(), setMu(), and unsetConstants().
|
protected |
Definition at line 100 of file SymmIsotropicElasticityTensor.h.
Referenced by calculateLameCoefficients(), and setPoissonsRatio().
|
protected |
Definition at line 98 of file SymmIsotropicElasticityTensor.h.
Referenced by calculateLameCoefficients(), setPoissonsRatio(), and unsetConstants().
|
protectedinherited |
Definition at line 188 of file SymmElasticityTensor.h.
Referenced by adjustForCracking(), adjustForCrackingWithShearRetention(), SymmAnisotropicElasticityTensor::calculateEntries(), SymmElasticityTensor::columnMajorMatrix6x6(), SymmElasticityTensor::columnMajorMatrix9x9(), SymmElasticityTensor::convertFrom6x6(), SymmElasticityTensor::convertFrom9x9(), SymmElasticityTensor::copyValues(), dataLoad(), dataStore(), SymmElasticityTensor::fillFromInputVector(), SymmAnisotropicElasticityTensor::initialize_anisotropic_material_dt_matrix(), SymmElasticityTensor::multiply(), multiply(), SymmElasticityTensor::operator*=(), SymmElasticityTensor::operator+=(), SymmElasticityTensor::operator-=(), SymmElasticityTensor::operator/=(), operator<<(), SymmAnisotropicElasticityTensor::rotate(), setEntries(), SymmAnisotropicElasticityTensor::setMaterialConstantc11(), SymmAnisotropicElasticityTensor::setMaterialConstantc12(), SymmAnisotropicElasticityTensor::setMaterialConstantc44(), stiffness(), SymmElasticityTensor::stiffness(), SymmElasticityTensor::sum_3x1(), SymmElasticityTensor::sum_3x3(), SymmAnisotropicElasticityTensor::SymmAnisotropicElasticityTensor(), SymmElasticityTensor::SymmElasticityTensor(), SymmElasticityTensor::valueAtIndex(), and SymmElasticityTensor::zero().
|
protectedinherited |
Whether or not the values have been computed once.
Definition at line 178 of file SymmElasticityTensor.h.
Referenced by SymmElasticityTensor::calculate(), dataLoad(), and dataStore().