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

#include <anisodamagemodel.h>

Inheritance diagram for oofem::AnisotropicDamageMaterialStatus:
Collaboration diagram for oofem::AnisotropicDamageMaterialStatus:

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 FloatMatrixgiveDamage ()
 Returns the last equilibrated second order damage tensor.
const FloatMatrixgiveTempDamage ()
 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 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

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
GaussPointgp
 Associated integration point.
Protected Attributes inherited from oofem::MaterialStatusMapperInterface
std::unique_ptr< MaterialMappingAlgorithmmpMaterialMapper

Detailed Description

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.

Constructor & Destructor Documentation

◆ AnisotropicDamageMaterialStatus()

oofem::AnisotropicDamageMaterialStatus::AnisotropicDamageMaterialStatus ( GaussPoint * g)

Constructor.

Definition at line 2063 of file anisodamagemodel.C.

References damage, oofem::StructuralMaterialStatus::StructuralMaterialStatus(), and tempDamage.

Member Function Documentation

◆ computeWork()

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().

◆ giveClassName()

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

Implements oofem::IntegrationPointStatus.

Definition at line 158 of file anisodamagemodel.h.

◆ giveDamage()

const FloatMatrix & oofem::AnisotropicDamageMaterialStatus::giveDamage ( )
inline

◆ giveDissWork()

double oofem::AnisotropicDamageMaterialStatus::giveDissWork ( )
inline

Returns the density of dissipated work.

Definition at line 148 of file anisodamagemodel.h.

References dissWork.

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

◆ giveFlag()

int oofem::AnisotropicDamageMaterialStatus::giveFlag ( )
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().

◆ giveKappa()

double oofem::AnisotropicDamageMaterialStatus::giveKappa ( )
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().

◆ giveStoredFactor()

double oofem::AnisotropicDamageMaterialStatus::giveStoredFactor ( )
inline

Returns the last Stored Factor.

Definition at line 130 of file anisodamagemodel.h.

References storedFactor.

◆ giveStrainZ()

double oofem::AnisotropicDamageMaterialStatus::giveStrainZ ( )
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.

◆ giveStressWork()

double oofem::AnisotropicDamageMaterialStatus::giveStressWork ( )
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().

◆ giveTempDamage()

const FloatMatrix & oofem::AnisotropicDamageMaterialStatus::giveTempDamage ( )
inline

Returns the temp. second order damage tensor.

Definition at line 114 of file anisodamagemodel.h.

References tempDamage.

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

◆ giveTempDissWork()

double oofem::AnisotropicDamageMaterialStatus::giveTempDissWork ( )
inline

Returns the density of temp dissipated work.

Definition at line 150 of file anisodamagemodel.h.

References tempDissWork.

◆ giveTempFlag()

int oofem::AnisotropicDamageMaterialStatus::giveTempFlag ( )
inline

Returns the value of the temporary value of flag.

Definition at line 128 of file anisodamagemodel.h.

References tempFlag.

◆ giveTempKappa()

double oofem::AnisotropicDamageMaterialStatus::giveTempKappa ( )
inline

Returns the temp. scalar measure of the largest strain level.

Definition at line 108 of file anisodamagemodel.h.

References tempKappa.

◆ giveTempStoredFactor()

double oofem::AnisotropicDamageMaterialStatus::giveTempStoredFactor ( )
inline

Returns the last Temp Stored Factor.

Definition at line 134 of file anisodamagemodel.h.

References tempStoredFactor.

◆ giveTempStrainZ()

double oofem::AnisotropicDamageMaterialStatus::giveTempStrainZ ( )
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().

◆ giveTempStressWork()

double oofem::AnisotropicDamageMaterialStatus::giveTempStressWork ( )
inline

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

Definition at line 144 of file anisodamagemodel.h.

References tempStressWork.

◆ initTempStatus()

void oofem::AnisotropicDamageMaterialStatus::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 2113 of file anisodamagemodel.C.

References damage, dissWork, kappa, storedFactor, strainZ, stressWork, tempDamage, tempDissWork, tempKappa, tempStoredFactor, tempStrainZ, and tempStressWork.

◆ printOutputAt()

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

◆ restoreContext()

void oofem::AnisotropicDamageMaterialStatus::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 2190 of file anisodamagemodel.C.

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

◆ saveContext()

void oofem::AnisotropicDamageMaterialStatus::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 2144 of file anisodamagemodel.C.

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

◆ setStoredFactor()

void oofem::AnisotropicDamageMaterialStatus::setStoredFactor ( double newStoredFactor)
inline

Sets the Stored Factor to given value .

Definition at line 132 of file anisodamagemodel.h.

References storedFactor.

◆ setTempDamage()

void oofem::AnisotropicDamageMaterialStatus::setTempDamage ( const FloatMatrix & d)
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().

◆ setTempDissWork()

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

Sets the density of dissipated work to given value.

Definition at line 152 of file anisodamagemodel.h.

References tempDissWork.

◆ setTempFlag()

void oofem::AnisotropicDamageMaterialStatus::setTempFlag ( int newflag)
inline

Sets the value of the temporary value of flag.

Definition at line 126 of file anisodamagemodel.h.

References tempFlag.

◆ setTempKappa()

void oofem::AnisotropicDamageMaterialStatus::setTempKappa ( double newKappa)
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().

◆ setTempStoredFactor()

void oofem::AnisotropicDamageMaterialStatus::setTempStoredFactor ( double newTempStoredFactor)
inline

Sets the Temp Stored Factor to given value .

Definition at line 136 of file anisodamagemodel.h.

References tempStoredFactor.

◆ setTempStrainZ()

void oofem::AnisotropicDamageMaterialStatus::setTempStrainZ ( double newStrainZ)
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().

◆ setTempStressWork()

void oofem::AnisotropicDamageMaterialStatus::setTempStressWork ( double w)
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.

◆ updateYourself()

void oofem::AnisotropicDamageMaterialStatus::updateYourself ( TimeStep * )
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.

Member Data Documentation

◆ damage

FloatMatrix oofem::AnisotropicDamageMaterialStatus::damage
protected

Second order damage tensor.

Definition at line 75 of file anisodamagemodel.h.

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

◆ dissWork

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

Density of dissipated work.

Definition at line 94 of file anisodamagemodel.h.

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

◆ flag

int oofem::AnisotropicDamageMaterialStatus::flag = 0
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().

◆ kappa

double oofem::AnisotropicDamageMaterialStatus::kappa = 0.
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().

◆ storedFactor

double oofem::AnisotropicDamageMaterialStatus::storedFactor = 1.
protected

◆ strainZ

double oofem::AnisotropicDamageMaterialStatus::strainZ = 0.
protected

Out-of-plane value for 2dPlaneStress mode.

Definition at line 79 of file anisodamagemodel.h.

Referenced by giveStrainZ(), initTempStatus(), printOutputAt(), and updateYourself().

◆ stressWork

double oofem::AnisotropicDamageMaterialStatus::stressWork = 0.
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().

◆ tempDamage

FloatMatrix oofem::AnisotropicDamageMaterialStatus::tempDamage
protected

Non-equilibrated second order damage tensor.

Definition at line 77 of file anisodamagemodel.h.

Referenced by AnisotropicDamageMaterialStatus(), giveTempDamage(), initTempStatus(), printOutputAt(), setTempDamage(), and updateYourself().

◆ tempDissWork

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

Non-equilibrated density of dissipated work.

Definition at line 96 of file anisodamagemodel.h.

Referenced by giveTempDissWork(), initTempStatus(), setTempDissWork(), and updateYourself().

◆ tempFlag

int oofem::AnisotropicDamageMaterialStatus::tempFlag = 0
protected

Definition at line 84 of file anisodamagemodel.h.

Referenced by giveTempFlag(), setTempFlag(), and updateYourself().

◆ tempKappa

double oofem::AnisotropicDamageMaterialStatus::tempKappa = 0.
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().

◆ tempStoredFactor

double oofem::AnisotropicDamageMaterialStatus::tempStoredFactor = 1.
protected

◆ tempStrainZ

double oofem::AnisotropicDamageMaterialStatus::tempStrainZ = 0.
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().

◆ tempStressWork

double oofem::AnisotropicDamageMaterialStatus::tempStressWork = 0.
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().


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