Nonlinear is the base class for all large strain/rotation models. More...
#include <Nonlinear.h>
Public Member Functions | |
Nonlinear (SolidModel &solid_model, const std::string &name, const InputParameters ¶meters) | |
virtual | ~Nonlinear () |
const ColumnMajorMatrix & | incrementalRotation () const |
const std::vector< ColumnMajorMatrix > & | Fhat () const |
virtual void | computeDeformationGradient (unsigned int, ColumnMajorMatrix &) |
virtual unsigned int | getNumKnownCrackDirs () const |
void | fillMatrix (unsigned int qp, const VariableGradient &grad_x, const VariableGradient &grad_y, const VariableGradient &grad_z, ColumnMajorMatrix &A) |
Static Public Member Functions | |
static Real | detMatrix (const ColumnMajorMatrix &A) |
static void | invertMatrix (const ColumnMajorMatrix &A, ColumnMajorMatrix &Ainv) |
static void | rotateSymmetricTensor (const ColumnMajorMatrix &R, const RealTensorValue &T, RealTensorValue &result) |
static void | rotateSymmetricTensor (const ColumnMajorMatrix &R, const SymmTensor &T, SymmTensor &result) |
static void | unrotateSymmetricTensor (const ColumnMajorMatrix &R, const SymmTensor &T, SymmTensor &result) |
static void | polarDecompositionEigen (const ColumnMajorMatrix &Fhat, ColumnMajorMatrix &Rhat, SymmTensor &strain_increment) |
Protected Types | |
enum | DecompMethod { RashidApprox = 0, Eigen = 1 } |
Protected Member Functions | |
virtual void | init () |
virtual void | computeStrain (const unsigned qp, const SymmTensor &total_strain_old, SymmTensor &total_strain_new, SymmTensor &strain_increment) |
virtual Real | volumeRatioOld (unsigned) const |
virtual void | finalizeStress (std::vector< SymmTensor * > &t) |
Rotate stress to current configuration. More... | |
virtual void | computeIncrementalDeformationGradient (std::vector< ColumnMajorMatrix > &Fhat)=0 |
void | computeStrainIncrement (const ColumnMajorMatrix &Fhat, SymmTensor &strain_increment) |
void | computePolarDecomposition (const ColumnMajorMatrix &Fhat) |
void | computeStrainAndRotationIncrement (const ColumnMajorMatrix &Fhat, SymmTensor &strain_increment) |
Protected Attributes | |
DecompMethod | _decomp_method |
ColumnMajorMatrix | _incremental_rotation |
ColumnMajorMatrix | _Uhat |
std::vector< ColumnMajorMatrix > | _Fhat |
std::vector< ColumnMajorMatrix > | _Fbar |
ColumnMajorMatrix | _F |
SolidModel & | _solid_model |
Nonlinear is the base class for all large strain/rotation models.
Definition at line 24 of file Nonlinear.h.
|
protected |
Enumerator | |
---|---|
RashidApprox | |
Eigen |
Definition at line 36 of file Nonlinear.h.
SolidMechanics::Nonlinear::Nonlinear | ( | SolidModel & | solid_model, |
const std::string & | name, | ||
const InputParameters & | parameters | ||
) |
Definition at line 20 of file Nonlinear.C.
|
virtual |
Definition at line 51 of file Nonlinear.C.
|
inlinevirtualinherited |
Reimplemented in SolidMechanics::NonlinearPlaneStrain, SolidMechanics::Nonlinear3D, SolidMechanics::NonlinearRZ, and SolidMechanics::PlaneStrain.
Definition at line 50 of file Element.h.
Referenced by SolidModel::computeEshelby().
|
protectedpure virtual |
Implemented in SolidMechanics::NonlinearPlaneStrain, SolidMechanics::NonlinearRZ, and SolidMechanics::Nonlinear3D.
Referenced by init().
|
protected |
|
protectedvirtual |
|
protected |
|
protected |
|
staticinherited |
Definition at line 31 of file Element.C.
Referenced by SolidModel::computeEshelby(), SolidMechanics::Nonlinear3D::computeIncrementalDeformationGradient(), SolidMechanics::NonlinearRZ::computeIncrementalDeformationGradient(), SolidMechanics::NonlinearPlaneStrain::computeIncrementalDeformationGradient(), SolidMechanics::Element::invertMatrix(), SolidMechanics::Nonlinear3D::volumeRatioOld(), SolidMechanics::NonlinearRZ::volumeRatioOld(), and SolidMechanics::NonlinearPlaneStrain::volumeRatioOld().
|
inline |
Definition at line 33 of file Nonlinear.h.
Referenced by SolidMechanics::Nonlinear3D::computeIncrementalDeformationGradient(), SolidMechanics::NonlinearRZ::computeIncrementalDeformationGradient(), SolidMechanics::NonlinearPlaneStrain::computeIncrementalDeformationGradient(), computePolarDecomposition(), computeStrainAndRotationIncrement(), and computeStrainIncrement().
|
inherited |
Definition at line 228 of file Element.C.
Referenced by SolidMechanics::Nonlinear3D::computeIncrementalDeformationGradient().
|
protectedvirtual |
Rotate stress to current configuration.
Reimplemented from SolidMechanics::Element.
Definition at line 184 of file Nonlinear.C.
|
inlinevirtualinherited |
Reimplemented in SolidMechanics::PlaneStrain, SolidMechanics::SphericalR, and SolidMechanics::AxisymmetricRZ.
Definition at line 65 of file Element.h.
Referenced by SolidModel::getNumKnownCrackDirs().
|
inline |
Definition at line 31 of file Nonlinear.h.
|
protectedvirtual |
|
staticinherited |
Definition at line 52 of file Element.C.
Referenced by SolidModel::computeEshelby(), SolidMechanics::Nonlinear3D::computeIncrementalDeformationGradient(), SolidMechanics::NonlinearRZ::computeIncrementalDeformationGradient(), SolidMechanics::NonlinearPlaneStrain::computeIncrementalDeformationGradient(), and SolidMechanics::Element::polarDecompositionEigen().
|
staticinherited |
|
staticinherited |
|
staticinherited |
|
staticinherited |
|
inlineprotectedvirtual |
Reimplemented from SolidMechanics::Element.
Reimplemented in SolidMechanics::NonlinearPlaneStrain, SolidMechanics::NonlinearRZ, and SolidMechanics::Nonlinear3D.
Definition at line 58 of file Nonlinear.h.
|
protected |
Definition at line 42 of file Nonlinear.h.
Referenced by computeStrainAndRotationIncrement(), and Nonlinear().
|
protected |
Definition at line 49 of file Nonlinear.h.
|
protected |
|
protected |
Definition at line 47 of file Nonlinear.h.
Referenced by computeStrain(), Fhat(), and init().
|
protected |
Definition at line 44 of file Nonlinear.h.
Referenced by computePolarDecomposition(), computeStrainAndRotationIncrement(), finalizeStress(), and incrementalRotation().
|
protectedinherited |
Definition at line 74 of file Element.h.
Referenced by SolidMechanics::NonlinearRZ::computeDeformationGradient(), SolidMechanics::Nonlinear3D::computeIncrementalDeformationGradient(), SolidMechanics::NonlinearRZ::computeIncrementalDeformationGradient(), SolidMechanics::NonlinearPlaneStrain::computeIncrementalDeformationGradient(), SolidMechanics::PlaneStrain::computeStrain(), SolidMechanics::Linear::computeStrain(), SolidMechanics::AxisymmetricRZ::computeStrain(), SolidMechanics::SphericalR::computeStrain(), SolidMechanics::NonlinearRZ::fillMatrix(), and init().
|
protected |
Definition at line 45 of file Nonlinear.h.