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

#include <rankinemat.h>

Inheritance diagram for oofem::RankineMatStatus:
Collaboration diagram for oofem::RankineMatStatus:

Public Member Functions

 RankineMatStatus (GaussPoint *g)
const FloatArraygivePlasticStrain () const
double giveDamage () const
double giveTempDamage () const
double giveCumulativePlasticStrain () const
double giveTempCumulativePlasticStrain () const
double giveDKappa (int i) const
double giveTangentShearStiffness ()
const FloatArraygiveEffectiveStress () const
const FloatArraygiveTempEffectiveStress () const
void letTempPlasticStrainBe (FloatArray values)
void letEffectiveStressBe (FloatArray values)
void letTempEffectiveStressBe (FloatArray values)
void setTempCumulativePlasticStrain (double value)
void setDKappa (double val1, double val2)
void setTempDamage (double value)
void setTangentShearStiffness (double value)
const FloatArraygivePlasDef ()
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
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_PlaneStress (GaussPoint *gp, double gf)
void computeWork_1d (GaussPoint *gp, double gf)
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 plasticStrain
 Plastic strain (initial).
FloatArray tempPlasticStrain
 Plastic strain (final).
FloatArray effStress
 Effective stress (initial).
FloatArray tempEffStress
 Effective stress (final).
double kappa = 0.
 Cumulative plastic strain (initial).
double tempKappa = 0.
 Cumulative plastic strain (final).
double dKappa1 = 0.
double dKappa2 = 0.
double damage = 0.
 Damage (initial).
double tempDamage = 0.
 Damage (final).
double tanG = 0.
 Tangent shear stiffness (needed for tangent matrix).
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
GaussPointgp
 Associated integration point.
Protected Attributes inherited from oofem::MaterialStatusMapperInterface
std::unique_ptr< MaterialMappingAlgorithmmpMaterialMapper

Detailed Description

Definition at line 190 of file rankinemat.h.

Constructor & Destructor Documentation

◆ RankineMatStatus()

Member Function Documentation

◆ computeWork_1d()

◆ computeWork_PlaneStress()

void oofem::RankineMatStatus::computeWork_PlaneStress ( GaussPoint * gp,
double gf )

Computes the increment of total stress work and of dissipated work (gf is the dissipation density per unit volume at complete failure, it is needed only to determine which extremely small dissipation can be set to zero to get clean results, but parameter gf can be set to zero if not available).

Definition at line 820 of file rankinemat.C.

References oofem::FloatArray::beDifferenceOf(), oofem::IntegrationPointStatus::gp, oofem::StructuralMaterialStatus::strainVector, oofem::StructuralMaterialStatus::stressVector, stressWork, tempDissWork, tempPlasticStrain, oofem::StructuralMaterialStatus::tempStrainVector, oofem::StructuralMaterialStatus::tempStressVector, and tempStressWork.

Referenced by oofem::RankineMatGrad::giveRealStressVectorGradientDamage().

◆ giveClassName()

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

Implements oofem::IntegrationPointStatus.

Definition at line 315 of file rankinemat.h.

◆ giveCumulativePlasticStrain()

◆ giveDamage()

◆ giveDissWork()

double oofem::RankineMatStatus::giveDissWork ( )
inline

Returns the density of dissipated work.

Definition at line 299 of file rankinemat.h.

References dissWork.

Referenced by oofem::RankineMat::giveIPValue().

◆ giveDKappa()

◆ giveEffectiveStress()

const FloatArray & oofem::RankineMatStatus::giveEffectiveStress ( ) const
inline

Definition at line 261 of file rankinemat.h.

References effStress.

◆ givePlasDef()

const FloatArray & oofem::RankineMatStatus::givePlasDef ( )
inline

Definition at line 281 of file rankinemat.h.

References plasticStrain.

Referenced by oofem::RankineMat::giveIPValue().

◆ givePlasticStrain()

const FloatArray & oofem::RankineMatStatus::givePlasticStrain ( ) const
inline

Definition at line 241 of file rankinemat.h.

References plasticStrain.

Referenced by oofem::RankineMat::performPlasticityReturn().

◆ giveStressWork()

double oofem::RankineMatStatus::giveStressWork ( )
inline

Returns the density of total work of stress on strain increments.

Definition at line 293 of file rankinemat.h.

References stressWork.

Referenced by oofem::RankineMat::giveIPValue().

◆ giveTangentShearStiffness()

double oofem::RankineMatStatus::giveTangentShearStiffness ( )
inline

Definition at line 258 of file rankinemat.h.

References tanG.

◆ giveTempCumulativePlasticStrain()

◆ giveTempDamage()

◆ giveTempDissWork()

double oofem::RankineMatStatus::giveTempDissWork ( )
inline

Returns the density of temp dissipated work.

Definition at line 301 of file rankinemat.h.

References tempDissWork.

◆ giveTempEffectiveStress()

◆ giveTempStressWork()

double oofem::RankineMatStatus::giveTempStressWork ( )
inline

Returns the temp density of total work of stress on strain increments.

Definition at line 295 of file rankinemat.h.

References tempStressWork.

◆ initTempStatus()

void oofem::RankineMatStatus::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 723 of file rankinemat.C.

References damage, dissWork, oofem::IntegrationPointStatus::gp, kappa, plasticStrain, stressWork, tempDamage, tempDissWork, tempKappa, tempPlasticStrain, and tempStressWork.

◆ letEffectiveStressBe()

void oofem::RankineMatStatus::letEffectiveStressBe ( FloatArray values)
inline

Definition at line 266 of file rankinemat.h.

References effStress.

◆ letTempEffectiveStressBe()

void oofem::RankineMatStatus::letTempEffectiveStressBe ( FloatArray values)
inline

◆ letTempPlasticStrainBe()

void oofem::RankineMatStatus::letTempPlasticStrainBe ( FloatArray values)
inline

Definition at line 264 of file rankinemat.h.

References tempPlasticStrain.

Referenced by oofem::RankineMat::performPlasticityReturn().

◆ printOutputAt()

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

Print receiver's output to given stream.

Reimplemented from oofem::MaterialStatus.

Definition at line 693 of file rankinemat.C.

References dissWork, kappa, plasticStrain, stressWork, and tempDamage.

◆ restoreContext()

void oofem::RankineMatStatus::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 789 of file rankinemat.C.

References oofem::CIO_IOERR, oofem::CIO_OK, damage, dissWork, kappa, plasticStrain, oofem::DataStream::read(), stressWork, and THROW_CIOERR.

◆ saveContext()

void oofem::RankineMatStatus::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 759 of file rankinemat.C.

References oofem::CIO_IOERR, oofem::CIO_OK, damage, dissWork, kappa, plasticStrain, stressWork, THROW_CIOERR, and oofem::DataStream::write().

◆ setDKappa()

void oofem::RankineMatStatus::setDKappa ( double val1,
double val2 )
inline

Definition at line 272 of file rankinemat.h.

References dKappa1, and dKappa2.

Referenced by oofem::RankineMat::performPlasticityReturn().

◆ setTangentShearStiffness()

void oofem::RankineMatStatus::setTangentShearStiffness ( double value)
inline

Definition at line 279 of file rankinemat.h.

References tanG.

Referenced by oofem::RankineMat::performPlasticityReturn().

◆ setTempCumulativePlasticStrain()

void oofem::RankineMatStatus::setTempCumulativePlasticStrain ( double value)
inline

Definition at line 270 of file rankinemat.h.

References tempKappa.

Referenced by oofem::RankineMat::performPlasticityReturn().

◆ setTempDamage()

void oofem::RankineMatStatus::setTempDamage ( double value)
inline

Definition at line 277 of file rankinemat.h.

References tempDamage.

Referenced by oofem::RankineMatGrad::giveRealStressVectorGradientDamage().

◆ setTempDissWork()

void oofem::RankineMatStatus::setTempDissWork ( double w)
inline

Sets the density of dissipated work to given value.

Definition at line 303 of file rankinemat.h.

References tempDissWork.

◆ setTempStressWork()

void oofem::RankineMatStatus::setTempStressWork ( double w)
inline

Sets the density of total work of stress on strain increments to given value.

Definition at line 297 of file rankinemat.h.

References tempStressWork.

◆ updateYourself()

void oofem::RankineMatStatus::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 744 of file rankinemat.C.

References damage, dissWork, kappa, plasticStrain, stressWork, tempDamage, tempDissWork, tempKappa, tempPlasticStrain, and tempStressWork.

Member Data Documentation

◆ damage

◆ dissWork

double oofem::RankineMatStatus::dissWork = 0.
protected

◆ dKappa1

double oofem::RankineMatStatus::dKappa1 = 0.
protected

Increments of cumulative plastic strain associated with the first and secomnd principal stress (used in the case of vertex return, needed for stiffness)

Definition at line 216 of file rankinemat.h.

Referenced by giveDKappa(), RankineMatStatus(), and setDKappa().

◆ dKappa2

double oofem::RankineMatStatus::dKappa2 = 0.
protected

Definition at line 216 of file rankinemat.h.

Referenced by giveDKappa(), RankineMatStatus(), and setDKappa().

◆ effStress

FloatArray oofem::RankineMatStatus::effStress
protected

Effective stress (initial).

Definition at line 200 of file rankinemat.h.

Referenced by giveEffectiveStress(), and letEffectiveStressBe().

◆ kappa

◆ plasticStrain

FloatArray oofem::RankineMatStatus::plasticStrain
protected

◆ stressWork

double oofem::RankineMatStatus::stressWork = 0.
protected

◆ tanG

double oofem::RankineMatStatus::tanG = 0.
protected

Tangent shear stiffness (needed for tangent matrix).

Definition at line 225 of file rankinemat.h.

Referenced by giveTangentShearStiffness(), RankineMatStatus(), and setTangentShearStiffness().

◆ tempDamage

double oofem::RankineMatStatus::tempDamage = 0.
protected

◆ tempDissWork

double oofem::RankineMatStatus::tempDissWork = 0.
protected

Non-equilibrated density of dissipated work.

Definition at line 235 of file rankinemat.h.

Referenced by computeWork_1d(), computeWork_PlaneStress(), giveTempDissWork(), initTempStatus(), RankineMatStatus(), setTempDissWork(), and updateYourself().

◆ tempEffStress

FloatArray oofem::RankineMatStatus::tempEffStress
protected

Effective stress (final).

Definition at line 203 of file rankinemat.h.

Referenced by giveTempEffectiveStress(), and letTempEffectiveStressBe().

◆ tempKappa

double oofem::RankineMatStatus::tempKappa = 0.
protected

◆ tempPlasticStrain

FloatArray oofem::RankineMatStatus::tempPlasticStrain
protected

◆ tempStressWork

double oofem::RankineMatStatus::tempStressWork = 0.
protected

Non-equilibrated density of total work done by stresses on strain increments.

Definition at line 231 of file rankinemat.h.

Referenced by computeWork_1d(), computeWork_PlaneStress(), giveTempStressWork(), initTempStatus(), RankineMatStatus(), setTempStressWork(), and updateYourself().


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