OOFEM 3.0
Loading...
Searching...
No Matches
oofem::MPlasticMaterialStatus Class Reference

#include <mplasticmaterial.h>

Inheritance diagram for oofem::MPlasticMaterialStatus:
Collaboration diagram for oofem::MPlasticMaterialStatus:

Public Types

enum  state_flag_values { PM_Elastic , PM_Yielding , PM_Unloading }

Public Member Functions

 MPlasticMaterialStatus (GaussPoint *g, int statusSize)
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 FloatArraygivePlasticStrainVector () const
 Returns the equilibrated strain vector.
const FloatArraygiveTempPlasticStrainVector () const
 Returns the actual (temp) strain vector.
const FloatArraygiveStrainSpaceHardeningVars () const
 Returns the equilibrated hardening variable vector.
const FloatArraygivetempStrainSpaceHardeningVarsVector () const
 Returns the actual (temp) hardening variable vector.
void letPlasticStrainVectorBe (FloatArray v)
void letTempPlasticStrainVectorBe (FloatArray v)
void letTempStrainSpaceHardeningVarsVectorBe (FloatArray v)
void letStrainSpaceHardeningVarsVectorBe (FloatArray v)
int giveStateFlag ()
int giveTempStateFlag ()
void letTempStateFlagBe (int v)
const IntArraygiveTempActiveConditionMap ()
void setTempActiveConditionMap (IntArray v)
const FloatArraygiveTempGamma ()
void setTempGamma (FloatArray v)
const char * giveClassName () const 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 FloatArraygiveStrainVector () const
 Returns the const pointer to receiver's strain vector.
const FloatArraygiveStressVector () const
 Returns the const pointer to receiver's stress vector.
const FloatArraygivePVector () const
 Returns the const pointer to receiver's first Piola-Kirchhoff stress vector.
const FloatArraygiveCVector () const
 Returns the const pointer to receiver's Cauchy stress vector.
const FloatArraygiveFVector () const
 Returns the const pointer to receiver's deformation gradient vector.
const FloatArraygiveTempStrainVector () const
 Returns the const pointer to receiver's temporary strain vector.
const FloatArraygiveTempStressVector () const
 Returns the const pointer to receiver's temporary stress vector.
const FloatArraygiveTempPVector () const
 Returns the const pointer to receiver's temporary first Piola-Kirchhoff stress vector.
const FloatArraygiveTempCVector () const
 Returns the const pointer to receiver's temporary Cauchy stress vector.
const FloatArraygiveTempFVector () 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 InterfacegiveInterface (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

FloatArray plasticStrainVector
 Plastic strain vector.
FloatArray tempPlasticStrainVector
FloatArray strainSpaceHardeningVarsVector
 Strain space hardening variables.
FloatArray tempStrainSpaceHardeningVarsVector
int state_flag = MPlasticMaterialStatus :: PM_Elastic
 Yield function status indicator.
int temp_state_flag = MPlasticMaterialStatus :: PM_Elastic
FloatArray gamma
 Consistency parameter values (needed for algorithmic stiffness).
FloatArray tempGamma
IntArray activeConditionMap
 Active set of yield functions (needed for algorithmic stiffness).
IntArray tempActiveConditionMap
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
GaussPointgp
 Associated integration point.
Protected Attributes inherited from oofem::MaterialStatusMapperInterface
std::unique_ptr< MaterialMappingAlgorithmmpMaterialMapper

Detailed Description

This class implements associated Material Status to MPlasticMaterial. It is attribute of matStatusDictionary at every GaussPoint, for which this material is active.

Idea used there is that we have variables describing:

  1. state at previous equilibrium state (variables without temp)
  2. state during searching new equilibrium (variables with temp) when we start search new state from previous equilibrium one we copy non-temp variables into temp ones. And after we reach new equilibrium (now described by temp variables) we copy temp-var into non-temp ones (see function updateYourself).

Definition at line 64 of file mplasticmaterial.h.

Member Enumeration Documentation

◆ state_flag_values

Enumerator
PM_Elastic 
PM_Yielding 
PM_Unloading 

Definition at line 67 of file mplasticmaterial.h.

Constructor & Destructor Documentation

◆ MPlasticMaterialStatus()

oofem::MPlasticMaterialStatus::MPlasticMaterialStatus ( GaussPoint * g,
int statusSize )

Member Function Documentation

◆ giveClassName()

const char * oofem::MPlasticMaterialStatus::giveClassName ( ) const
inlineoverridevirtual

Implements oofem::IntegrationPointStatus.

Definition at line 128 of file mplasticmaterial.h.

◆ givePlasticStrainVector()

const FloatArray & oofem::MPlasticMaterialStatus::givePlasticStrainVector ( ) const
inline

◆ giveStateFlag()

int oofem::MPlasticMaterialStatus::giveStateFlag ( )
inline

Definition at line 118 of file mplasticmaterial.h.

References state_flag.

Referenced by oofem::MPlasticMaterial::giveRealStressVector().

◆ giveStrainSpaceHardeningVars()

const FloatArray & oofem::MPlasticMaterialStatus::giveStrainSpaceHardeningVars ( ) const
inline

◆ giveTempActiveConditionMap()

const IntArray & oofem::MPlasticMaterialStatus::giveTempActiveConditionMap ( )
inline

◆ giveTempGamma()

const FloatArray & oofem::MPlasticMaterialStatus::giveTempGamma ( )
inline

Definition at line 124 of file mplasticmaterial.h.

References tempGamma.

Referenced by oofem::MPlasticMaterial::giveConsistentStiffnessMatrix().

◆ giveTempPlasticStrainVector()

const FloatArray & oofem::MPlasticMaterialStatus::giveTempPlasticStrainVector ( ) const
inline

Returns the actual (temp) strain vector.

Definition at line 101 of file mplasticmaterial.h.

References tempPlasticStrainVector.

◆ giveTempStateFlag()

int oofem::MPlasticMaterialStatus::giveTempStateFlag ( )
inline

◆ givetempStrainSpaceHardeningVarsVector()

const FloatArray & oofem::MPlasticMaterialStatus::givetempStrainSpaceHardeningVarsVector ( ) const
inline

Returns the actual (temp) hardening variable vector.

Definition at line 106 of file mplasticmaterial.h.

References tempStrainSpaceHardeningVarsVector.

◆ initTempStatus()

void oofem::MPlasticMaterialStatus::initTempStatus ( )
overridevirtual

Initializes the temporary internal variables, describing the current state according to previously reached equilibrium internal variables.

Reimplemented from oofem::MaterialStatus.

Definition at line 1389 of file mplasticmaterial.C.

References activeConditionMap, gamma, oofem::IntegrationPointStatus::gp, plasticStrainVector, strainSpaceHardeningVarsVector, tempActiveConditionMap, tempGamma, tempPlasticStrainVector, and tempStrainSpaceHardeningVarsVector.

◆ letPlasticStrainVectorBe()

void oofem::MPlasticMaterialStatus::letPlasticStrainVectorBe ( FloatArray v)
inline

Definition at line 109 of file mplasticmaterial.h.

References plasticStrainVector.

◆ letStrainSpaceHardeningVarsVectorBe()

void oofem::MPlasticMaterialStatus::letStrainSpaceHardeningVarsVectorBe ( FloatArray v)
inline

Definition at line 115 of file mplasticmaterial.h.

References strainSpaceHardeningVarsVector.

◆ letTempPlasticStrainVectorBe()

void oofem::MPlasticMaterialStatus::letTempPlasticStrainVectorBe ( FloatArray v)
inline

◆ letTempStateFlagBe()

void oofem::MPlasticMaterialStatus::letTempStateFlagBe ( int v)
inline

Definition at line 120 of file mplasticmaterial.h.

References temp_state_flag.

Referenced by oofem::MPlasticMaterial::giveRealStressVector().

◆ letTempStrainSpaceHardeningVarsVectorBe()

void oofem::MPlasticMaterialStatus::letTempStrainSpaceHardeningVarsVectorBe ( FloatArray v)
inline

◆ printOutputAt()

void oofem::MPlasticMaterialStatus::printOutputAt ( FILE * file,
TimeStep * tStep ) const
overridevirtual

Print receiver's output to given stream.

Reimplemented from oofem::MaterialStatus.

Definition at line 1361 of file mplasticmaterial.C.

References plasticStrainVector, state_flag, and strainSpaceHardeningVarsVector.

◆ restoreContext()

void oofem::MPlasticMaterialStatus::restoreContext ( DataStream & stream,
ContextMode mode )
overridevirtual

Restores the receiver state previously written in stream.

See also
saveContext
Parameters
streamInput stream.
modeDetermines amount of info available in stream (state, definition, ...).
Exceptions
throwsan ContextIOERR exception if error encountered.

Reimplemented from oofem::IntegrationPointStatus.

Definition at line 1459 of file mplasticmaterial.C.

References activeConditionMap, oofem::CIO_IOERR, oofem::CIO_OK, gamma, plasticStrainVector, oofem::DataStream::read(), state_flag, strainSpaceHardeningVarsVector, and THROW_CIOERR.

◆ saveContext()

void oofem::MPlasticMaterialStatus::saveContext ( DataStream & stream,
ContextMode mode )
overridevirtual

Stores receiver state to output stream.

Parameters
streamOutput stream.
modeDetermines amount of info required in stream (state, definition, ...).
Exceptions
throwsan ContextIOERR exception if error encountered.

Reimplemented from oofem::IntegrationPointStatus.

Definition at line 1431 of file mplasticmaterial.C.

References activeConditionMap, oofem::CIO_IOERR, oofem::CIO_OK, gamma, plasticStrainVector, state_flag, strainSpaceHardeningVarsVector, THROW_CIOERR, and oofem::DataStream::write().

◆ setTempActiveConditionMap()

void oofem::MPlasticMaterialStatus::setTempActiveConditionMap ( IntArray v)
inline

Definition at line 123 of file mplasticmaterial.h.

References tempActiveConditionMap.

Referenced by oofem::MPlasticMaterial::giveRealStressVector().

◆ setTempGamma()

void oofem::MPlasticMaterialStatus::setTempGamma ( FloatArray v)
inline

Definition at line 125 of file mplasticmaterial.h.

References tempGamma.

Referenced by oofem::MPlasticMaterial::giveRealStressVector().

◆ updateYourself()

void oofem::MPlasticMaterialStatus::updateYourself ( TimeStep * )
overridevirtual

Update equilibrium history variables according to temp-variables. Invoked, after new equilibrium state has been reached.

Reimplemented from oofem::MaterialStatus.

Definition at line 1412 of file mplasticmaterial.C.

References activeConditionMap, gamma, plasticStrainVector, state_flag, strainSpaceHardeningVarsVector, temp_state_flag, tempActiveConditionMap, tempGamma, tempPlasticStrainVector, and tempStrainSpaceHardeningVarsVector.

Member Data Documentation

◆ activeConditionMap

IntArray oofem::MPlasticMaterialStatus::activeConditionMap
protected

Active set of yield functions (needed for algorithmic stiffness).

Definition at line 85 of file mplasticmaterial.h.

Referenced by initTempStatus(), restoreContext(), saveContext(), and updateYourself().

◆ gamma

FloatArray oofem::MPlasticMaterialStatus::gamma
protected

Consistency parameter values (needed for algorithmic stiffness).

Definition at line 83 of file mplasticmaterial.h.

Referenced by initTempStatus(), restoreContext(), saveContext(), and updateYourself().

◆ plasticStrainVector

FloatArray oofem::MPlasticMaterialStatus::plasticStrainVector
protected

◆ state_flag

int oofem::MPlasticMaterialStatus::state_flag = MPlasticMaterialStatus :: PM_Elastic
protected

Yield function status indicator.

Definition at line 79 of file mplasticmaterial.h.

Referenced by giveStateFlag(), printOutputAt(), restoreContext(), saveContext(), and updateYourself().

◆ strainSpaceHardeningVarsVector

FloatArray oofem::MPlasticMaterialStatus::strainSpaceHardeningVarsVector
protected

◆ temp_state_flag

int oofem::MPlasticMaterialStatus::temp_state_flag = MPlasticMaterialStatus :: PM_Elastic
protected

Definition at line 80 of file mplasticmaterial.h.

Referenced by giveTempStateFlag(), letTempStateFlagBe(), and updateYourself().

◆ tempActiveConditionMap

IntArray oofem::MPlasticMaterialStatus::tempActiveConditionMap
protected

◆ tempGamma

FloatArray oofem::MPlasticMaterialStatus::tempGamma
protected

Definition at line 83 of file mplasticmaterial.h.

Referenced by giveTempGamma(), initTempStatus(), setTempGamma(), and updateYourself().

◆ tempPlasticStrainVector

FloatArray oofem::MPlasticMaterialStatus::tempPlasticStrainVector
protected

◆ tempStrainSpaceHardeningVarsVector

FloatArray oofem::MPlasticMaterialStatus::tempStrainSpaceHardeningVarsVector
protected

The documentation for this class was generated from the following files:

This page is part of the OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak Bořek Patzák
Project e-mail: oofem@fsv.cvut.cz
Generated at for OOFEM by doxygen 1.15.0 written by Dimitri van Heesch, © 1997-2011