|
OOFEM 3.0
|
#include <druckerPragerPlasticitySM.h>
Public Types | |
| enum | state_flag_values { DP_Elastic , DP_Unloading , DP_Yielding , DP_Vertex } |
| Values of history variable state_flag. More... | |
Public Member Functions | |
| DruckerPragerPlasticitySMStatus (GaussPoint *gp) | |
| Constructor. | |
| void | initTempStatus () override |
| void | updateYourself (TimeStep *tStep) override |
| void | printOutputAt (FILE *file, TimeStep *tStep) const override |
| Print receiver's output to given stream. | |
| void | saveContext (DataStream &stream, ContextMode mode) override |
| void | restoreContext (DataStream &stream, ContextMode mode) override |
| const char * | giveClassName () const override |
| FloatArrayF< 6 > | givePlasticStrainVector () const |
| const FloatArrayF< 6 > & | givePlasticStrainDeviator () const |
| double | giveVolumetricPlasticStrain () const |
| double | giveKappa () const |
| int | giveStateFlag () const |
| FloatArrayF< 6 > | giveTempPlasticStrainVector () const |
| const FloatArrayF< 6 > & | giveTempPlasticStrainDeviator () const |
| double | giveTempVolumetricPlasticStrain () const |
| double | giveTempKappa () const |
| int | giveTempStateFlag () const |
| void | letTempPlasticStrainDeviatorBe (const FloatArrayF< 6 > &v) |
| void | letTempVolumetricPlasticStrainBe (double v) |
| void | letTempKappaBe (double v) |
| void | letTempStateFlagBe (int v) |
| 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 | volumetricPlasticStrain = 0. |
| Volumetric plastic strain. | |
| double | tempVolumetricPlasticStrain = 0. |
| FloatArrayF< 6 > | plasticStrainDeviator |
| Deviatoric of plastic strain. | |
| FloatArrayF< 6 > | tempPlasticStrainDeviator |
| double | kappa = 0. |
| Hardening variable. | |
| double | tempKappa = 0. |
| int | state_flag = DruckerPragerPlasticitySMStatus :: DP_Elastic |
| Indicates the state (i.e. elastic, yielding, vertex, unloading) of the Gauss point. | |
| int | temp_state_flag = DruckerPragerPlasticitySMStatus :: DP_Elastic |
| 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 the material status associated to DruckerPragerPlasticitySM. Tracks volumetric and deviatoric plastic strain and hardening.
Definition at line 65 of file druckerPragerPlasticitySM.h.
Values of history variable state_flag.
| Enumerator | |
|---|---|
| DP_Elastic | |
| DP_Unloading | |
| DP_Yielding | |
| DP_Vertex | |
Definition at line 69 of file druckerPragerPlasticitySM.h.
| oofem::DruckerPragerPlasticitySMStatus::DruckerPragerPlasticitySMStatus | ( | GaussPoint * | gp | ) |
Constructor.
Definition at line 52 of file druckerPragerPlasticitySM.C.
References oofem::IntegrationPointStatus::gp, oofem::StructuralMaterialStatus::strainVector, oofem::StructuralMaterialStatus::stressVector, oofem::StructuralMaterialStatus::StructuralMaterialStatus(), oofem::StructuralMaterialStatus::tempStrainVector, and oofem::StructuralMaterialStatus::tempStressVector.
|
inlineoverridevirtual |
Implements oofem::IntegrationPointStatus.
Definition at line 99 of file druckerPragerPlasticitySM.h.
|
inline |
Get the hardening variable from the material status.
Definition at line 127 of file druckerPragerPlasticitySM.h.
References kappa.
|
inline |
Get the plastic strain deviator from the material status.
Definition at line 117 of file druckerPragerPlasticitySM.h.
References plasticStrainDeviator.
|
inline |
Get the full plastic strain vector from the material status.
| answer | Plastic strain vector. |
Definition at line 105 of file druckerPragerPlasticitySM.h.
References plasticStrainDeviator, and volumetricPlasticStrain.
Referenced by printOutputAt().
|
inline |
Get the state flag from the material status.
Definition at line 132 of file druckerPragerPlasticitySM.h.
References state_flag.
Referenced by oofem::DruckerPragerPlasticitySM::predictRelativeComputationalCost().
|
inline |
Get the temp value of the hardening variable from the material status.
Definition at line 160 of file druckerPragerPlasticitySM.h.
References tempKappa.
Referenced by oofem::DruckerPragerPlasticitySM::giveVertexAlgorithmicStiffMatrix().
|
inline |
Get the temp value of the plastic strain deviator from the material status.
| answer | Temp value of plastic strain deviator. |
Definition at line 150 of file druckerPragerPlasticitySM.h.
References tempPlasticStrainDeviator.
|
inline |
Get the temp value of the full plastic strain vector from the material status.
| answer | Temp value of plastic strain vector. |
Definition at line 138 of file druckerPragerPlasticitySM.h.
References tempPlasticStrainDeviator, and tempVolumetricPlasticStrain.
|
inline |
Get the temp value of the state flag from the material status.
Definition at line 165 of file druckerPragerPlasticitySM.h.
References temp_state_flag.
|
inline |
Get the temp value of the volumetric strain deviator from the material status.
Definition at line 155 of file druckerPragerPlasticitySM.h.
References tempVolumetricPlasticStrain.
|
inline |
Get the volumetric plastic strain from the material status.
Definition at line 122 of file druckerPragerPlasticitySM.h.
References volumetricPlasticStrain.
|
overridevirtual |
Initializes the temporary internal variables, describing the current state according to previously reached equilibrium internal variables.
Reimplemented from oofem::MaterialStatus.
Definition at line 62 of file druckerPragerPlasticitySM.C.
References kappa, plasticStrainDeviator, state_flag, temp_state_flag, tempKappa, tempPlasticStrainDeviator, tempVolumetricPlasticStrain, and volumetricPlasticStrain.
|
inline |
Assign the temp value of the hardening variable.
| v | New temp value of the hardening variable. |
Definition at line 181 of file druckerPragerPlasticitySM.h.
References tempKappa.
|
inline |
Assign the temp value of deviatoric plastic strain.
| v | New temp value of deviatoric plastic strain. |
Definition at line 171 of file druckerPragerPlasticitySM.h.
References tempPlasticStrainDeviator.
|
inline |
Assign the temp value of the state flag.
| v | New temp value of the state flag (i.e. elastic, unloading, yielding, vertex case yielding). |
Definition at line 186 of file druckerPragerPlasticitySM.h.
References temp_state_flag.
|
inline |
Assign the temp value of volumetric plastic strain.
| v | New temp value of volumetric plastic strain. |
Definition at line 176 of file druckerPragerPlasticitySM.h.
References tempVolumetricPlasticStrain.
|
overridevirtual |
Print receiver's output to given stream.
Reimplemented from oofem::IntegrationPointStatus.
Definition at line 87 of file druckerPragerPlasticitySM.C.
References givePlasticStrainVector(), kappa, and state_flag.
|
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 150 of file druckerPragerPlasticitySM.C.
References oofem::CIO_IOERR, oofem::CIO_OK, kappa, plasticStrainDeviator, oofem::DataStream::read(), temp_state_flag, THROW_CIOERR, and volumetricPlasticStrain.
|
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 126 of file druckerPragerPlasticitySM.C.
References oofem::CIO_IOERR, oofem::CIO_OK, kappa, plasticStrainDeviator, temp_state_flag, THROW_CIOERR, volumetricPlasticStrain, and oofem::DataStream::write().
|
overridevirtual |
Update equilibrium history variables according to temp-variables. Invoked, after new equilibrium state has been reached.
Reimplemented from oofem::IntegrationPointStatus.
Definition at line 74 of file druckerPragerPlasticitySM.C.
References kappa, plasticStrainDeviator, state_flag, temp_state_flag, tempKappa, tempPlasticStrainDeviator, tempVolumetricPlasticStrain, and volumetricPlasticStrain.
|
protected |
Hardening variable.
Definition at line 81 of file druckerPragerPlasticitySM.h.
Referenced by giveKappa(), initTempStatus(), printOutputAt(), restoreContext(), saveContext(), and updateYourself().
|
protected |
Deviatoric of plastic strain.
Definition at line 77 of file druckerPragerPlasticitySM.h.
Referenced by givePlasticStrainDeviator(), givePlasticStrainVector(), initTempStatus(), restoreContext(), saveContext(), and updateYourself().
|
protected |
Indicates the state (i.e. elastic, yielding, vertex, unloading) of the Gauss point.
Definition at line 85 of file druckerPragerPlasticitySM.h.
Referenced by giveStateFlag(), initTempStatus(), printOutputAt(), and updateYourself().
|
protected |
Definition at line 86 of file druckerPragerPlasticitySM.h.
Referenced by giveTempStateFlag(), initTempStatus(), letTempStateFlagBe(), restoreContext(), saveContext(), and updateYourself().
|
protected |
Definition at line 82 of file druckerPragerPlasticitySM.h.
Referenced by giveTempKappa(), initTempStatus(), letTempKappaBe(), and updateYourself().
|
protected |
Definition at line 78 of file druckerPragerPlasticitySM.h.
Referenced by giveTempPlasticStrainDeviator(), giveTempPlasticStrainVector(), initTempStatus(), letTempPlasticStrainDeviatorBe(), and updateYourself().
|
protected |
Definition at line 74 of file druckerPragerPlasticitySM.h.
Referenced by giveTempPlasticStrainVector(), giveTempVolumetricPlasticStrain(), initTempStatus(), letTempVolumetricPlasticStrainBe(), and updateYourself().
|
protected |
Volumetric plastic strain.
Definition at line 73 of file druckerPragerPlasticitySM.h.
Referenced by givePlasticStrainVector(), giveVolumetricPlasticStrain(), initTempStatus(), restoreContext(), saveContext(), and updateYourself().