|
OOFEM 3.0
|
#include <anisodamagemodel.h>
Public Member Functions | |
| AnisotropicDamageMaterialStatus (GaussPoint *g) | |
| Constructor. | |
| void | printOutputAt (FILE *file, TimeStep *tStep) const override |
| Print receiver's output to given stream. | |
| double | giveKappa () |
| Returns the last equilibrated scalar measure of the largest strain level. | |
| double | giveTempKappa () |
| Returns the temp. scalar measure of the largest strain level. | |
| void | setTempKappa (double newKappa) |
| Sets the temp scalar measure of the largest strain level to given value. | |
| const FloatMatrix & | giveDamage () |
| Returns the last equilibrated second order damage tensor. | |
| const FloatMatrix & | giveTempDamage () |
| Returns the temp. second order damage tensor. | |
| void | setTempDamage (const FloatMatrix &d) |
| Assigns temp. damage tensor to given tensor d. | |
| double | giveStrainZ () |
| Returns the last equilibrated scalar measure of the out-of-plane strain to given value (for 2dPlaneStress mode). | |
| double | giveTempStrainZ () |
| Returns the temp scalar measure of the out-of-plane strain to given value (for 2dPlaneStress mode). | |
| void | setTempStrainZ (double newStrainZ) |
| Sets the temp scalar measure of the out-of-plane strain to given value (for 2dPlaneStress mode). | |
| int | giveFlag () |
| Returns the value of the flag. | |
| void | setTempFlag (int newflag) |
| Sets the value of the temporary value of flag. | |
| int | giveTempFlag () |
| Returns the value of the temporary value of flag. | |
| double | giveStoredFactor () |
| Returns the last Stored Factor. | |
| void | setStoredFactor (double newStoredFactor) |
| Sets the Stored Factor to given value . | |
| double | giveTempStoredFactor () |
| Returns the last Temp Stored Factor. | |
| void | setTempStoredFactor (double newTempStoredFactor) |
| Sets the Temp Stored Factor to given value . | |
| double | giveStressWork () |
| Returns the density of total work of stress on strain increments. | |
| double | giveTempStressWork () |
| Returns the temp density of total work of stress on strain increments. | |
| void | setTempStressWork (double w) |
| Sets the density of total work of stress on strain increments to given value. | |
| double | giveDissWork () |
| Returns the density of dissipated work. | |
| double | giveTempDissWork () |
| Returns the density of temp dissipated work. | |
| void | setTempDissWork (double w) |
| Sets the density of dissipated work to given value. | |
| void | computeWork (GaussPoint *gp) |
| Computes the increment of total stress work and of dissipated work. | |
| const char * | giveClassName () const override |
| void | initTempStatus () override |
| void | updateYourself (TimeStep *tStep) override |
| void | saveContext (DataStream &stream, ContextMode mode) override |
| void | restoreContext (DataStream &stream, ContextMode mode) override |
| Public Member Functions inherited from oofem::StructuralMaterialStatus | |
| StructuralMaterialStatus (GaussPoint *g) | |
| Constructor. Creates new StructuralMaterialStatus with IntegrationPoint g. | |
| void | printOutputAt (FILE *file, TimeStep *tStep) const override |
| Print receiver's output to given stream. | |
| void | initTempStatus () override |
| void | updateYourself (TimeStep *tStep) override |
| void | saveContext (DataStream &stream, ContextMode mode) override |
| void | restoreContext (DataStream &stream, ContextMode mode) override |
| const FloatArray & | giveStrainVector () const |
| Returns the const pointer to receiver's strain vector. | |
| const FloatArray & | giveStressVector () const |
| Returns the const pointer to receiver's stress vector. | |
| const FloatArray & | givePVector () const |
| Returns the const pointer to receiver's first Piola-Kirchhoff stress vector. | |
| const FloatArray & | giveCVector () const |
| Returns the const pointer to receiver's Cauchy stress vector. | |
| const FloatArray & | giveFVector () const |
| Returns the const pointer to receiver's deformation gradient vector. | |
| const FloatArray & | giveTempStrainVector () const |
| Returns the const pointer to receiver's temporary strain vector. | |
| const FloatArray & | giveTempStressVector () const |
| Returns the const pointer to receiver's temporary stress vector. | |
| const FloatArray & | giveTempPVector () const |
| Returns the const pointer to receiver's temporary first Piola-Kirchhoff stress vector. | |
| const FloatArray & | giveTempCVector () const |
| Returns the const pointer to receiver's temporary Cauchy stress vector. | |
| const FloatArray & | giveTempFVector () const |
| Returns the const pointer to receiver's temporary deformation gradient vector. | |
| void | letStrainVectorBe (const FloatArray &v) |
| Assigns strain vector to given vector v. | |
| void | letStressVectorBe (const FloatArray &v) |
| Assigns stressVector to given vector v. | |
| void | letPVectorBe (const FloatArray &v) |
| Assigns PVector to given vector v. | |
| void | letCVectorBe (const FloatArray &v) |
| Assigns CVector to given vector v. | |
| void | letFVectorBe (const FloatArray &v) |
| Assigns FVector to given vector v. | |
| void | letTempStressVectorBe (const FloatArray &v) |
| Assigns tempStressVector to given vector v. | |
| void | letTempStrainVectorBe (const FloatArray &v) |
| Assigns tempStrainVector to given vector v. | |
| void | letTempPVectorBe (const FloatArray &v) |
| Assigns tempPVector to given vector v. | |
| void | letTempCVectorBe (const FloatArray &v) |
| Assigns tempPVector to given vector v. | |
| void | letTempFVectorBe (const FloatArray &v) |
| Assigns tempFVector to given vector v. | |
| const char * | giveClassName () const override |
| void | copyStateVariables (const MaterialStatus &iStatus) override |
| Functions for MaterialStatusMapperInterface. | |
| void | addStateVariables (const MaterialStatus &iStatus) override |
| Public Member Functions inherited from oofem::MaterialStatus | |
| MaterialStatus (GaussPoint *g) | |
| virtual bool | giveMaterialProperty (int propID, double &value) |
| virtual void | setMaterialProperty (int propID, double value) |
| Public Member Functions inherited from oofem::IntegrationPointStatus | |
| IntegrationPointStatus (GaussPoint *g) | |
| virtual | ~IntegrationPointStatus ()=default |
| Destructor. | |
| virtual void | setStatusVariable (int varID, double value) |
| virtual Interface * | giveInterface (InterfaceType t) |
| Public Member Functions inherited from oofem::MaterialStatusMapperInterface | |
| MaterialStatusMapperInterface () | |
| virtual | ~MaterialStatusMapperInterface () |
| virtual int | MSMI_map (const GaussPoint &iGP, const Domain &iOldDom, Set &sourceSet, const TimeStep &iTStep, MaterialStatus &oStatus) |
| virtual int | MSMI_map_cz (const GaussPoint &iGP, const Domain &iOldDom, Set &sourceSet, const TimeStep &iTStep, MaterialStatus &oStatus) |
| virtual int | MSMI_update (const GaussPoint &iGP, const TimeStep &iTStep) |
| virtual int | MSMI_finish (const TimeStep &iTStep) |
Protected Attributes | |
| double | kappa = 0. |
| Scalar measure of the largest strain level ever reached in material. | |
| double | tempKappa = 0. |
| Non-equilibrated scalar measure of the largest strain level. | |
| FloatMatrix | damage |
| Second order damage tensor. | |
| FloatMatrix | tempDamage |
| Non-equilibrated second order damage tensor. | |
| double | strainZ = 0. |
| Out-of-plane value for 2dPlaneStress mode. | |
| double | tempStrainZ = 0. |
| Non-equilibrated out-of-plane value for 2dPlaneStress mode. | |
| int | flag = 0 |
| This flag turns into 1 and remains 1 when the trace of the damage tensor is >1 in compression (tr(strainTensor)<0). | |
| int | tempFlag = 0 |
| double | storedFactor = 1. |
| double | tempStoredFactor = 1. |
| double | stressWork = 0. |
| Density of total work done by stresses on strain increments. | |
| double | tempStressWork = 0. |
| Non-equilibrated density of total work done by stresses on strain increments. | |
| double | dissWork = 0. |
| Density of dissipated work. | |
| double | tempDissWork = 0. |
| Non-equilibrated density of dissipated work. | |
| Protected Attributes inherited from oofem::StructuralMaterialStatus | |
| FloatArray | strainVector |
| Equilibrated strain vector in reduced form. | |
| FloatArray | stressVector |
| Equilibrated stress vector in reduced form. | |
| FloatArray | tempStressVector |
| Temporary stress vector in reduced form (increments are used mainly in nonlinear analysis). | |
| FloatArray | tempStrainVector |
| Temporary strain vector in reduced form (to find balanced state). | |
| FloatArray | PVector |
| Equilibrated first Piola-Kirchhoff stress vector. | |
| FloatArray | tempPVector |
| Temporary first Piola-Kirchhoff stress vector (to find balanced state). | |
| FloatArray | CVector |
| Equilibrated Cauchy stress vector. | |
| FloatArray | tempCVector |
| Temporary Cauchy stress vector (to find balanced state). | |
| FloatArray | FVector |
| Equilibrated deformation gradient in reduced form. | |
| FloatArray | tempFVector |
| Temporary deformation gradient in reduced form (to find balanced state). | |
| Protected Attributes inherited from oofem::IntegrationPointStatus | |
| GaussPoint * | gp |
| Associated integration point. | |
| Protected Attributes inherited from oofem::MaterialStatusMapperInterface | |
| std::unique_ptr< MaterialMappingAlgorithm > | mpMaterialMapper |
This class implements associated Material Status to AnisotropicDamageMaterial. Stores a damage tensor and hardening variable (and possible extra information).
Definition at line 67 of file anisodamagemodel.h.
| oofem::AnisotropicDamageMaterialStatus::AnisotropicDamageMaterialStatus | ( | GaussPoint * | g | ) |
Constructor.
Definition at line 2063 of file anisodamagemodel.C.
References damage, oofem::StructuralMaterialStatus::StructuralMaterialStatus(), and tempDamage.
| void oofem::AnisotropicDamageMaterialStatus::computeWork | ( | GaussPoint * | gp | ) |
Computes the increment of total stress work and of dissipated work.
Definition at line 2237 of file anisodamagemodel.C.
References oofem::IntegrationPointStatus::gp.
Referenced by oofem::AnisotropicDamageMaterial::giveRealStressVector(), and oofem::AnisotropicDamageMaterial::giveRealStressVector_PlaneStress().
|
inlineoverridevirtual |
Implements oofem::IntegrationPointStatus.
Definition at line 158 of file anisodamagemodel.h.
|
inline |
Returns the last equilibrated second order damage tensor.
Definition at line 112 of file anisodamagemodel.h.
References damage.
Referenced by oofem::AnisotropicDamageMaterial::computeDamageTensor(), oofem::AnisotropicDamageMaterial::giveIPValue(), oofem::AnisotropicDamageMaterial::giveRealStressVector(), and oofem::AnisotropicDamageMaterial::giveRealStressVector_PlaneStress().
|
inline |
Returns the density of dissipated work.
Definition at line 148 of file anisodamagemodel.h.
References dissWork.
Referenced by oofem::AnisotropicDamageMaterial::giveIPValue().
|
inline |
Returns the value of the flag.
Definition at line 124 of file anisodamagemodel.h.
References flag.
Referenced by oofem::AnisotropicDamageMaterial::computeCorrectionFactor(), and oofem::AnisotropicDamageMaterial::computeTraceD().
|
inline |
Returns the last equilibrated scalar measure of the largest strain level.
Definition at line 106 of file anisodamagemodel.h.
References kappa.
Referenced by oofem::AnisotropicDamageMaterial::giveIPValue(), and oofem::AnisotropicDamageMaterial::giveRealStressVector_PlaneStress().
|
inline |
Returns the last Stored Factor.
Definition at line 130 of file anisodamagemodel.h.
References storedFactor.
|
inline |
Returns the last equilibrated scalar measure of the out-of-plane strain to given value (for 2dPlaneStress mode).
Definition at line 118 of file anisodamagemodel.h.
References strainZ.
|
inline |
Returns the density of total work of stress on strain increments.
Definition at line 142 of file anisodamagemodel.h.
References stressWork.
Referenced by oofem::AnisotropicDamageMaterial::giveIPValue().
|
inline |
Returns the temp. second order damage tensor.
Definition at line 114 of file anisodamagemodel.h.
References tempDamage.
Referenced by oofem::AnisotropicDamageMaterial::giveIPValue().
|
inline |
Returns the density of temp dissipated work.
Definition at line 150 of file anisodamagemodel.h.
References tempDissWork.
|
inline |
Returns the value of the temporary value of flag.
Definition at line 128 of file anisodamagemodel.h.
References tempFlag.
|
inline |
Returns the temp. scalar measure of the largest strain level.
Definition at line 108 of file anisodamagemodel.h.
References tempKappa.
|
inline |
Returns the last Temp Stored Factor.
Definition at line 134 of file anisodamagemodel.h.
References tempStoredFactor.
|
inline |
Returns the temp scalar measure of the out-of-plane strain to given value (for 2dPlaneStress mode).
Definition at line 120 of file anisodamagemodel.h.
References tempStrainZ.
Referenced by oofem::AnisotropicDamageMaterial::computeDamageTensor().
|
inline |
Returns the temp density of total work of stress on strain increments.
Definition at line 144 of file anisodamagemodel.h.
References tempStressWork.
|
overridevirtual |
Initializes the temporary internal variables, describing the current state according to previously reached equilibrium internal variables.
Reimplemented from oofem::MaterialStatus.
Definition at line 2113 of file anisodamagemodel.C.
References damage, dissWork, kappa, storedFactor, strainZ, stressWork, tempDamage, tempDissWork, tempKappa, tempStoredFactor, tempStrainZ, and tempStressWork.
|
overridevirtual |
Print receiver's output to given stream.
Reimplemented from oofem::IntegrationPointStatus.
Definition at line 2068 of file anisodamagemodel.C.
References oofem::FloatArray::at(), dissWork, oofem::IntegrationPointStatus::gp, kappa, oofem::StructuralMaterialStatus::strainVector, strainZ, oofem::StructuralMaterialStatus::stressVector, stressWork, and tempDamage.
|
overridevirtual |
Restores the receiver state previously written in stream.
| stream | Input stream. |
| mode | Determines amount of info available in stream (state, definition, ...). |
| throws | an ContextIOERR exception if error encountered. |
Reimplemented from oofem::IntegrationPointStatus.
Definition at line 2190 of file anisodamagemodel.C.
References oofem::CIO_IOERR, oofem::CIO_OK, damage, dissWork, kappa, oofem::DataStream::read(), stressWork, and THROW_CIOERR.
|
overridevirtual |
Stores receiver state to output stream.
| stream | Output stream. |
| mode | Determines amount of info required in stream (state, definition, ...). |
| throws | an ContextIOERR exception if error encountered. |
Reimplemented from oofem::IntegrationPointStatus.
Definition at line 2144 of file anisodamagemodel.C.
References oofem::CIO_IOERR, oofem::CIO_OK, damage, dissWork, kappa, stressWork, THROW_CIOERR, and oofem::DataStream::write().
|
inline |
Sets the Stored Factor to given value .
Definition at line 132 of file anisodamagemodel.h.
References storedFactor.
|
inline |
Assigns temp. damage tensor to given tensor d.
Definition at line 116 of file anisodamagemodel.h.
References tempDamage.
Referenced by oofem::AnisotropicDamageMaterial::giveRealStressVector(), and oofem::AnisotropicDamageMaterial::giveRealStressVector_PlaneStress().
|
inline |
Sets the density of dissipated work to given value.
Definition at line 152 of file anisodamagemodel.h.
References tempDissWork.
|
inline |
Sets the value of the temporary value of flag.
Definition at line 126 of file anisodamagemodel.h.
References tempFlag.
|
inline |
Sets the temp scalar measure of the largest strain level to given value.
Definition at line 110 of file anisodamagemodel.h.
References tempKappa.
Referenced by oofem::AnisotropicDamageMaterial::giveRealStressVector(), and oofem::AnisotropicDamageMaterial::giveRealStressVector_PlaneStress().
|
inline |
Sets the Temp Stored Factor to given value .
Definition at line 136 of file anisodamagemodel.h.
References tempStoredFactor.
|
inline |
Sets the temp scalar measure of the out-of-plane strain to given value (for 2dPlaneStress mode).
Definition at line 122 of file anisodamagemodel.h.
References tempStrainZ.
Referenced by oofem::AnisotropicDamageMaterial::giveRealStressVector_PlaneStress().
|
inline |
Sets the density of total work of stress on strain increments to given value.
Definition at line 146 of file anisodamagemodel.h.
References tempStressWork.
|
overridevirtual |
Update equilibrium history variables according to temp-variables. Invoked, after new equilibrium state has been reached.
Reimplemented from oofem::IntegrationPointStatus.
Definition at line 2128 of file anisodamagemodel.C.
References damage, dissWork, flag, kappa, storedFactor, strainZ, stressWork, tempDamage, tempDissWork, tempFlag, tempKappa, tempStoredFactor, tempStrainZ, and tempStressWork.
|
protected |
Second order damage tensor.
Definition at line 75 of file anisodamagemodel.h.
Referenced by AnisotropicDamageMaterialStatus(), giveDamage(), initTempStatus(), restoreContext(), saveContext(), and updateYourself().
|
protected |
Density of dissipated work.
Definition at line 94 of file anisodamagemodel.h.
Referenced by giveDissWork(), initTempStatus(), printOutputAt(), restoreContext(), saveContext(), and updateYourself().
|
protected |
This flag turns into 1 and remains 1 when the trace of the damage tensor is >1 in compression (tr(strainTensor)<0).
Definition at line 83 of file anisodamagemodel.h.
Referenced by giveFlag(), and updateYourself().
|
protected |
Scalar measure of the largest strain level ever reached in material.
Definition at line 71 of file anisodamagemodel.h.
Referenced by giveKappa(), initTempStatus(), printOutputAt(), restoreContext(), saveContext(), and updateYourself().
|
protected |
Definition at line 85 of file anisodamagemodel.h.
Referenced by giveStoredFactor(), initTempStatus(), setStoredFactor(), and updateYourself().
|
protected |
Out-of-plane value for 2dPlaneStress mode.
Definition at line 79 of file anisodamagemodel.h.
Referenced by giveStrainZ(), initTempStatus(), printOutputAt(), and updateYourself().
|
protected |
Density of total work done by stresses on strain increments.
Definition at line 90 of file anisodamagemodel.h.
Referenced by giveStressWork(), initTempStatus(), printOutputAt(), restoreContext(), saveContext(), and updateYourself().
|
protected |
Non-equilibrated second order damage tensor.
Definition at line 77 of file anisodamagemodel.h.
Referenced by AnisotropicDamageMaterialStatus(), giveTempDamage(), initTempStatus(), printOutputAt(), setTempDamage(), and updateYourself().
|
protected |
Non-equilibrated density of dissipated work.
Definition at line 96 of file anisodamagemodel.h.
Referenced by giveTempDissWork(), initTempStatus(), setTempDissWork(), and updateYourself().
|
protected |
Definition at line 84 of file anisodamagemodel.h.
Referenced by giveTempFlag(), setTempFlag(), and updateYourself().
|
protected |
Non-equilibrated scalar measure of the largest strain level.
Definition at line 73 of file anisodamagemodel.h.
Referenced by giveTempKappa(), initTempStatus(), setTempKappa(), and updateYourself().
|
protected |
Definition at line 86 of file anisodamagemodel.h.
Referenced by giveTempStoredFactor(), initTempStatus(), setTempStoredFactor(), and updateYourself().
|
protected |
Non-equilibrated out-of-plane value for 2dPlaneStress mode.
Definition at line 81 of file anisodamagemodel.h.
Referenced by giveTempStrainZ(), initTempStatus(), setTempStrainZ(), and updateYourself().
|
protected |
Non-equilibrated density of total work done by stresses on strain increments.
Definition at line 92 of file anisodamagemodel.h.
Referenced by giveTempStressWork(), initTempStatus(), setTempStressWork(), and updateYourself().