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

#include <rcsd.h>

Inheritance diagram for oofem::RCSDMaterialStatus:
Collaboration diagram for oofem::RCSDMaterialStatus:

Public Types

enum  rcsdMode { rcMode , sdMode }

Public Member Functions

 RCSDMaterialStatus (GaussPoint *g)
void printOutputAt (FILE *file, TimeStep *tStep) const override
 Print receiver's output to given stream.
double giveTempMaxEquivStrain () const
void setTempMaxEquivStrain (double val)
double giveDamageStiffCoeff () const
void setDamageStiffCoeff (double val)
double giveTempDamageCoeff () const
void setTempDamageCoeff (double val)
const FloatMatrixgiveDs0Matrix ()
void setDs0Matrix (FloatMatrix &mtrx)
double giveDamageEpsfCoeff () const
void setDamageEpsfCoeff (double val)
double giveDamageEpspCoeff () const
void setDamageEpspCoeff (double val)
rcsdMode giveTempMode () const
void setTempMode (rcsdMode mode)
double giveMaxEquivStrain () const
double giveDamageCoeff () const
rcsdMode giveMode () const
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::RCM2MaterialStatus
 RCM2MaterialStatus (GaussPoint *g)
const FloatArraygetPrincipalStrainVector () const
const FloatArraygetPrincipalStressVector () const
const FloatArraygivePrevPrincStrainVector () const
const FloatArraygivePrevPrincStressVector () const
void letPrincipalStrainVectorBe (FloatArray pv)
void letPrincipalStressVectorBe (FloatArray pv)
const IntArraygiveCrackMap () const
void letCrackMapBe (IntArray map)
virtual int isCrackActive (int i) const
virtual int giveNumberOfActiveCracks () const
virtual int giveNumberOfTempActiveCracks () const
int giveTempAlreadyCrack () const
const FloatMatrixgiveTempCrackDirs ()
void letTempCrackDirsBe (FloatMatrix a)
double giveTempMaxCrackStrain (int icrack)
void setTempMaxCrackStrain (int icrack, double val)
const IntArraygiveTempCrackStatus ()
int giveTempCrackStatus (int icrack) const
void setTempCrackStatus (int icrack, int val)
const FloatArraygiveCrackStrainVector () const
double giveCrackStrain (int icrack) const
const FloatArraygiveOldCrackStrainVector ()
void letCrackStrainVectorBe (FloatArray a)
void letOldCrackStrainVectorBe (FloatArray a)
double giveCharLength (int icrack) const
void setCharLength (int icrack, double val)
const FloatMatrixgiveCrackDirs ()
const IntArraygiveCrackStatus ()
int giveAlreadyCrack () const
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 maxEquivStrain = 0.
double tempMaxEquivStrain = 0.
double damageCoeff = 1.
double tempDamageCoeff = 1.
FloatMatrix Ds0
double damageStiffCoeff = 0.
double depsf = 0.
double depsp = 0.
rcsdMode mode = rcMode
rcsdMode tempMode = rcMode
Protected Attributes inherited from oofem::RCM2MaterialStatus
IntArray crackStatuses
 One value from (pscm_NONE, pscm_OPEN, pscm_SOFTENING, pscm_RELOADING, pscm_UNLOADING, pscm_CLOSED.
IntArray tempCrackStatuses
FloatArray maxCrackStrains
 Max crack strain reached.
FloatArray tempMaxCrackStrains
FloatArray crackStrainVector
 Components of crack strain vector.
FloatArray oldCrackStrainVector
FloatMatrix crackDirs
 Storing direction of cracks in columwise format.
FloatMatrix tempCrackDirs
FloatArray charLengths
FloatArray principalStrain
FloatArray oldPrincipalStrain
FloatArray principalStress
FloatArray oldPrincipalStress
IntArray crackMap
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 RCSDMaterial

Definition at line 60 of file rcsd.h.

Member Enumeration Documentation

◆ rcsdMode

Enumerator
rcMode 
sdMode 

Definition at line 63 of file rcsd.h.

Constructor & Destructor Documentation

◆ RCSDMaterialStatus()

oofem::RCSDMaterialStatus::RCSDMaterialStatus ( GaussPoint * g)

Definition at line 464 of file rcsd.C.

References oofem::RCM2MaterialStatus::RCM2MaterialStatus().

Member Function Documentation

◆ giveClassName()

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

Reimplemented from oofem::RCM2MaterialStatus.

Definition at line 99 of file rcsd.h.

◆ giveDamageCoeff()

double oofem::RCSDMaterialStatus::giveDamageCoeff ( ) const
inline

Definition at line 95 of file rcsd.h.

References damageCoeff.

Referenced by oofem::RCSDMaterial::giveEffectiveMaterialStiffnessMatrix().

◆ giveDamageEpsfCoeff()

double oofem::RCSDMaterialStatus::giveDamageEpsfCoeff ( ) const
inline

Definition at line 85 of file rcsd.h.

References depsf.

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

◆ giveDamageEpspCoeff()

double oofem::RCSDMaterialStatus::giveDamageEpspCoeff ( ) const
inline

Definition at line 87 of file rcsd.h.

References depsp.

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

◆ giveDamageStiffCoeff()

double oofem::RCSDMaterialStatus::giveDamageStiffCoeff ( ) const
inline

Definition at line 79 of file rcsd.h.

References damageStiffCoeff.

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

◆ giveDs0Matrix()

const FloatMatrix * oofem::RCSDMaterialStatus::giveDs0Matrix ( )
inline

◆ giveMaxEquivStrain()

double oofem::RCSDMaterialStatus::giveMaxEquivStrain ( ) const
inline

Definition at line 94 of file rcsd.h.

References maxEquivStrain.

◆ giveMode()

rcsdMode oofem::RCSDMaterialStatus::giveMode ( ) const
inline

Definition at line 97 of file rcsd.h.

References mode.

◆ giveTempDamageCoeff()

double oofem::RCSDMaterialStatus::giveTempDamageCoeff ( ) const
inline

Definition at line 81 of file rcsd.h.

References tempDamageCoeff.

Referenced by printOutputAt().

◆ giveTempMaxEquivStrain()

double oofem::RCSDMaterialStatus::giveTempMaxEquivStrain ( ) const
inline

Definition at line 77 of file rcsd.h.

References tempMaxEquivStrain.

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

◆ giveTempMode()

rcsdMode oofem::RCSDMaterialStatus::giveTempMode ( ) const
inline

◆ initTempStatus()

void oofem::RCSDMaterialStatus::initTempStatus ( )
overridevirtual

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

Reimplemented from oofem::RCM2MaterialStatus.

Definition at line 516 of file rcsd.C.

References damageCoeff, maxEquivStrain, mode, tempDamageCoeff, tempMaxEquivStrain, and tempMode.

◆ printOutputAt()

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

◆ restoreContext()

void oofem::RCSDMaterialStatus::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::RCM2MaterialStatus.

Definition at line 571 of file rcsd.C.

References oofem::CIO_IOERR, oofem::CIO_OK, damageCoeff, Ds0, maxEquivStrain, mode, oofem::DataStream::read(), and THROW_CIOERR.

◆ saveContext()

void oofem::RCSDMaterialStatus::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::RCM2MaterialStatus.

Definition at line 547 of file rcsd.C.

References oofem::CIO_IOERR, oofem::CIO_OK, damageCoeff, Ds0, maxEquivStrain, mode, THROW_CIOERR, and oofem::DataStream::write().

◆ setDamageEpsfCoeff()

void oofem::RCSDMaterialStatus::setDamageEpsfCoeff ( double val)
inline

Definition at line 86 of file rcsd.h.

References depsf.

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

◆ setDamageEpspCoeff()

void oofem::RCSDMaterialStatus::setDamageEpspCoeff ( double val)
inline

Definition at line 88 of file rcsd.h.

References depsp.

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

◆ setDamageStiffCoeff()

void oofem::RCSDMaterialStatus::setDamageStiffCoeff ( double val)
inline

Definition at line 80 of file rcsd.h.

References damageStiffCoeff.

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

◆ setDs0Matrix()

void oofem::RCSDMaterialStatus::setDs0Matrix ( FloatMatrix & mtrx)
inline

Definition at line 84 of file rcsd.h.

References Ds0.

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

◆ setTempDamageCoeff()

void oofem::RCSDMaterialStatus::setTempDamageCoeff ( double val)
inline

Definition at line 82 of file rcsd.h.

References tempDamageCoeff.

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

◆ setTempMaxEquivStrain()

void oofem::RCSDMaterialStatus::setTempMaxEquivStrain ( double val)
inline

Definition at line 78 of file rcsd.h.

References tempMaxEquivStrain.

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

◆ setTempMode()

void oofem::RCSDMaterialStatus::setTempMode ( rcsdMode mode)
inline

Definition at line 91 of file rcsd.h.

References mode, and tempMode.

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

◆ updateYourself()

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

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

Reimplemented from oofem::RCM2MaterialStatus.

Definition at line 531 of file rcsd.C.

References damageCoeff, maxEquivStrain, mode, tempDamageCoeff, tempMaxEquivStrain, and tempMode.

Member Data Documentation

◆ damageCoeff

double oofem::RCSDMaterialStatus::damageCoeff = 1.
protected

Definition at line 67 of file rcsd.h.

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

◆ damageStiffCoeff

double oofem::RCSDMaterialStatus::damageStiffCoeff = 0.
protected

Definition at line 69 of file rcsd.h.

Referenced by giveDamageStiffCoeff(), and setDamageStiffCoeff().

◆ depsf

double oofem::RCSDMaterialStatus::depsf = 0.
protected

Definition at line 69 of file rcsd.h.

Referenced by giveDamageEpsfCoeff(), and setDamageEpsfCoeff().

◆ depsp

double oofem::RCSDMaterialStatus::depsp = 0.
protected

Definition at line 69 of file rcsd.h.

Referenced by giveDamageEpspCoeff(), and setDamageEpspCoeff().

◆ Ds0

FloatMatrix oofem::RCSDMaterialStatus::Ds0
protected

Definition at line 68 of file rcsd.h.

Referenced by giveDs0Matrix(), restoreContext(), saveContext(), and setDs0Matrix().

◆ maxEquivStrain

double oofem::RCSDMaterialStatus::maxEquivStrain = 0.
protected

◆ mode

rcsdMode oofem::RCSDMaterialStatus::mode = rcMode
protected

◆ tempDamageCoeff

double oofem::RCSDMaterialStatus::tempDamageCoeff = 1.
protected

Definition at line 67 of file rcsd.h.

Referenced by giveTempDamageCoeff(), initTempStatus(), setTempDamageCoeff(), and updateYourself().

◆ tempMaxEquivStrain

double oofem::RCSDMaterialStatus::tempMaxEquivStrain = 0.
protected

◆ tempMode

rcsdMode oofem::RCSDMaterialStatus::tempMode = rcMode
protected

Definition at line 70 of file rcsd.h.

Referenced by giveTempMode(), initTempStatus(), setTempMode(), 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