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

#include <compodamagemat.h>

Inheritance diagram for oofem::CompoDamageMatStatus:
Collaboration diagram for oofem::CompoDamageMatStatus:

Public Member Functions

 CompoDamageMatStatus (GaussPoint *g)
 Constructor.
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 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)

Public Attributes

FloatArray tempKappa
 Highest strain ever reached at IP. Can be unequilibrated from last iterations [6 tension, 6 compression].
FloatArray kappa
 Highest strain ever reached in all previous equilibrated steps [6 tension, 6 compression].
FloatArray tempOmega
 Highest damage ever reached at IP. Can be unequilibrated from last iterations [6 for tension and compression].
IntArray hasSnapBack
 Checks whether snapback occurred at IP.
FloatArray omega
 Highest damage ever reached in all previous equilibrated steps at IP [6 for tension and compression].
int Iteration = 0
 Iteration in the time step.
FloatArray initDamageStress
 Stress at which damage starts. For uniaxial loading is equal to given maximum stress in the input. The stress is linearly interpolated between increments at IP [6 tension, 6 compression].
FloatArray strainAtMaxStress
 Strain when damage is initiated at IP. In literature denoted eps_0 [6 tension, 6 compression].
FloatArray maxStrainAtZeroStress
 Maximum strain when stress becomes zero due to complete damage (omega = 1) at IP. Determined from fracture energy and characteristic length. Derived for mode I only on the uniaxial loading case. In literature denoted often eps_f [6 tension, 6 compression].
FloatArray tempStressMLCS
 Only for printing purposes in CompoDamageMatStatus.
FloatArray elemCharLength
 Characteristic element length at IP in three perpendicular planes aligned with material orientation.

Additional Inherited Members

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

Class for maintaining Gauss point values for CompoDamageMat model. Prefix temp* refers to unequilibrated values, e.g. tempOmega is a temporal damage array

Author
Vit Smilauer

Definition at line 67 of file compodamagemat.h.

Constructor & Destructor Documentation

◆ CompoDamageMatStatus()

Member Function Documentation

◆ giveClassName()

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

Implements oofem::IntegrationPointStatus.

Definition at line 115 of file compodamagemat.h.

◆ initTempStatus()

void oofem::CompoDamageMatStatus::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 623 of file compodamagemat.C.

◆ printOutputAt()

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

Print receiver's output to given stream.

Reimplemented from oofem::IntegrationPointStatus.

Definition at line 580 of file compodamagemat.C.

References oofem::IntegrationPointStatus::gp, kappa, omega, OOFEM_ERROR, and tempStressMLCS.

◆ restoreContext()

void oofem::CompoDamageMatStatus::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 644 of file compodamagemat.C.

◆ saveContext()

void oofem::CompoDamageMatStatus::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 639 of file compodamagemat.C.

◆ updateYourself()

void oofem::CompoDamageMatStatus::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 629 of file compodamagemat.C.

References Iteration, kappa, omega, tempKappa, and tempOmega.

Member Data Documentation

◆ elemCharLength

FloatArray oofem::CompoDamageMatStatus::elemCharLength

Characteristic element length at IP in three perpendicular planes aligned with material orientation.

Definition at line 110 of file compodamagemat.h.

Referenced by oofem::CompoDamageMat::checkSnapBack(), CompoDamageMatStatus(), oofem::CompoDamageMat::giveCharLength(), oofem::CompoDamageMat::giveCharLengthForModes(), and oofem::CompoDamageMat::giveRealStressVector().

◆ hasSnapBack

IntArray oofem::CompoDamageMatStatus::hasSnapBack

Checks whether snapback occurred at IP.

Definition at line 91 of file compodamagemat.h.

Referenced by CompoDamageMatStatus(), and oofem::CompoDamageMat::giveRealStressVector().

◆ initDamageStress

FloatArray oofem::CompoDamageMatStatus::initDamageStress

Stress at which damage starts. For uniaxial loading is equal to given maximum stress in the input. The stress is linearly interpolated between increments at IP [6 tension, 6 compression].

Definition at line 100 of file compodamagemat.h.

Referenced by CompoDamageMatStatus(), and oofem::CompoDamageMat::giveRealStressVector().

◆ Iteration

int oofem::CompoDamageMatStatus::Iteration = 0

Iteration in the time step.

Definition at line 97 of file compodamagemat.h.

Referenced by oofem::CompoDamageMat::giveRealStressVector(), and updateYourself().

◆ kappa

FloatArray oofem::CompoDamageMatStatus::kappa

Highest strain ever reached in all previous equilibrated steps [6 tension, 6 compression].

Definition at line 85 of file compodamagemat.h.

Referenced by CompoDamageMatStatus(), oofem::CompoDamageMat::giveRealStressVector(), printOutputAt(), and updateYourself().

◆ maxStrainAtZeroStress

FloatArray oofem::CompoDamageMatStatus::maxStrainAtZeroStress

Maximum strain when stress becomes zero due to complete damage (omega = 1) at IP. Determined from fracture energy and characteristic length. Derived for mode I only on the uniaxial loading case. In literature denoted often eps_f [6 tension, 6 compression].

Definition at line 104 of file compodamagemat.h.

Referenced by CompoDamageMatStatus(), and oofem::CompoDamageMat::giveRealStressVector().

◆ omega

FloatArray oofem::CompoDamageMatStatus::omega

Highest damage ever reached in all previous equilibrated steps at IP [6 for tension and compression].

Definition at line 94 of file compodamagemat.h.

Referenced by CompoDamageMatStatus(), oofem::CompoDamageMat::giveIPValue(), oofem::CompoDamageMat::giveRealStressVector(), printOutputAt(), and updateYourself().

◆ strainAtMaxStress

FloatArray oofem::CompoDamageMatStatus::strainAtMaxStress

Strain when damage is initiated at IP. In literature denoted eps_0 [6 tension, 6 compression].

Definition at line 102 of file compodamagemat.h.

Referenced by CompoDamageMatStatus(), and oofem::CompoDamageMat::giveRealStressVector().

◆ tempKappa

FloatArray oofem::CompoDamageMatStatus::tempKappa

Highest strain ever reached at IP. Can be unequilibrated from last iterations [6 tension, 6 compression].

Definition at line 82 of file compodamagemat.h.

Referenced by CompoDamageMatStatus(), oofem::CompoDamageMat::giveRealStressVector(), and updateYourself().

◆ tempOmega

FloatArray oofem::CompoDamageMatStatus::tempOmega

Highest damage ever reached at IP. Can be unequilibrated from last iterations [6 for tension and compression].

Definition at line 88 of file compodamagemat.h.

Referenced by CompoDamageMatStatus(), oofem::CompoDamageMat::giveRealStressVector(), oofem::CompoDamageMat::giveUnrotated3dMaterialStiffnessMatrix(), and updateYourself().

◆ tempStressMLCS

FloatArray oofem::CompoDamageMatStatus::tempStressMLCS

Only for printing purposes in CompoDamageMatStatus.

Definition at line 107 of file compodamagemat.h.

Referenced by CompoDamageMatStatus(), oofem::CompoDamageMat::giveRealStressVector(), and printOutputAt().


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