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

#include <mdm.h>

Inheritance diagram for oofem::MDMStatus:
Collaboration diagram for oofem::MDMStatus:

Public Member Functions

 MDMStatus (GaussPoint *g, int nsd, int nmplanes)
void setTempDamageTensorEigenVals (FloatArray src)
void setTempDamageTensorEigenVec (FloatMatrix src)
const FloatArraygiveTempDamageTensorEigenVals ()
const FloatArraygiveDamageTensorEigenVals ()
const FloatMatrixgiveTempDamageTensorEigenVec ()
const FloatMatrixgiveDamageTensorEigenVec ()
double giveMicroplaneTempDamage (int m)
double giveMicroplaneDamage (int m)
void setMicroplaneTempDamage (int m, double val)
const FloatArraygiveMicroplaneDamageValues ()
void setMicroplaneTempDamageValues (FloatArray src)
const FloatMatrixgiveTempDamageTensor ()
const FloatMatrixgiveDamageTensor ()
void setTempDamageTensor (FloatMatrix src)
void setLocalDamageTensorForAverage (FloatMatrix src)
const FloatMatrixgiveLocalDamageTensorForAverage ()
const FloatMatrixgiveLocalDamageTensorForAveragePtr ()
const char * giveClassName () const override
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
InterfacegiveInterface (InterfaceType it) 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)
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 Member Functions inherited from oofem::StructuralNonlocalMaterialStatusExtensionInterface
 StructuralNonlocalMaterialStatusExtensionInterface ()
 ~StructuralNonlocalMaterialStatusExtensionInterface ()
Public Member Functions inherited from oofem::NonlocalMaterialStatusExtensionInterface
 NonlocalMaterialStatusExtensionInterface ()
virtual ~NonlocalMaterialStatusExtensionInterface ()
 Destructor.
std ::vector< localIntegrationRecord > * giveIntegrationDomainList ()
double giveIntegrationScale ()
 Returns associated integration scale.
void setIntegrationScale (double val)
 Sets associated integration scale.
double giveVolumeAround ()
 Returns associated volume.
void setVolumeAround (double val)
 Sets associated integration scale.
void clear ()
 clears the integration list of receiver
Public Member Functions inherited from oofem::Interface
 Interface ()
 Constructor.
virtual ~Interface ()

Protected Attributes

FloatArray Psi
 Damage values on individual microplanes.
FloatArray PsiTemp
FloatMatrix DamageTensor
 Macroscopic damage tensor.
FloatMatrix DamageTensorTemp
FloatMatrix localDamageTensor
FloatArray tempDamageTensorEigenValues
 Principal damage directions.
FloatArray damageTensorEigenValues
FloatMatrix tempDamageTensorEigenVectors
FloatMatrix damageTensorEigenVectors
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
Protected Attributes inherited from oofem::NonlocalMaterialStatusExtensionInterface
std ::vector< localIntegrationRecordintegrationDomainList
 List containing localIntegrationRecord values.
double integrationScale
 Nonlocal volume around the corresponding integration point.
double volumeAround
 Local volume around the corresponding integration point.

Detailed Description

Material status class MDMStatus associated to MDM matarial

Definition at line 97 of file mdm.h.

Constructor & Destructor Documentation

◆ MDMStatus()

Member Function Documentation

◆ giveClassName()

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

Implements oofem::IntegrationPointStatus.

Definition at line 131 of file mdm.h.

◆ giveDamageTensor()

const FloatMatrix & oofem::MDMStatus::giveDamageTensor ( )
inline

Definition at line 125 of file mdm.h.

References DamageTensor.

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

◆ giveDamageTensorEigenVals()

const FloatArray & oofem::MDMStatus::giveDamageTensorEigenVals ( )
inline

Definition at line 114 of file mdm.h.

References damageTensorEigenValues.

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

◆ giveDamageTensorEigenVec()

const FloatMatrix & oofem::MDMStatus::giveDamageTensorEigenVec ( )
inline

Definition at line 116 of file mdm.h.

References damageTensorEigenVectors.

◆ giveInterface()

Interface * oofem::MDMStatus::giveInterface ( InterfaceType it)
overridevirtual

Interface requesting service. In the case of nonlocal constitutive models, the use of multiple inheritance is assumed. Typically, the class representing nonlocal constitutive model status is derived both from class representing local status and from class NonlocalMaterialStatusExtension or from one of its derived classes (which declare services and variables corresponding to specific analysis type).

Returns
In both cases, this function returns pointer to this object, obtained by returning adress of component or using pointer conversion from receiver to base class NonlocalMaterialStatusExtension. If no nonlocal extension exists, NULL pointer is returned.

Reimplemented from oofem::IntegrationPointStatus.

Definition at line 1477 of file mdm.C.

References oofem::NonlocalMaterialStatusExtensionInterfaceType.

◆ giveLocalDamageTensorForAverage()

const FloatMatrix & oofem::MDMStatus::giveLocalDamageTensorForAverage ( )
inline

Definition at line 128 of file mdm.h.

References localDamageTensor.

Referenced by oofem::MDM::computeDamageTensor().

◆ giveLocalDamageTensorForAveragePtr()

const FloatMatrix * oofem::MDMStatus::giveLocalDamageTensorForAveragePtr ( )
inline

Definition at line 129 of file mdm.h.

References localDamageTensor.

Referenced by oofem::MDM::packUnknowns().

◆ giveMicroplaneDamage()

double oofem::MDMStatus::giveMicroplaneDamage ( int m)
inline

Definition at line 119 of file mdm.h.

References Psi.

Referenced by oofem::MDM::computeLocalDamageTensor().

◆ giveMicroplaneDamageValues()

const FloatArray & oofem::MDMStatus::giveMicroplaneDamageValues ( )
inline

Definition at line 121 of file mdm.h.

References Psi.

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

◆ giveMicroplaneTempDamage()

double oofem::MDMStatus::giveMicroplaneTempDamage ( int m)
inline

Definition at line 118 of file mdm.h.

References PsiTemp.

◆ giveTempDamageTensor()

const FloatMatrix & oofem::MDMStatus::giveTempDamageTensor ( )
inline

Definition at line 124 of file mdm.h.

References DamageTensorTemp.

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

◆ giveTempDamageTensorEigenVals()

const FloatArray & oofem::MDMStatus::giveTempDamageTensorEigenVals ( )
inline

Definition at line 113 of file mdm.h.

References tempDamageTensorEigenValues.

Referenced by oofem::MDM::applyDamageToStiffness(), and oofem::MDM::giveIPValue().

◆ giveTempDamageTensorEigenVec()

const FloatMatrix & oofem::MDMStatus::giveTempDamageTensorEigenVec ( )
inline

Definition at line 115 of file mdm.h.

References tempDamageTensorEigenVectors.

◆ initTempStatus()

void oofem::MDMStatus::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 1435 of file mdm.C.

References DamageTensor, damageTensorEigenValues, damageTensorEigenVectors, DamageTensorTemp, Psi, PsiTemp, tempDamageTensorEigenValues, and tempDamageTensorEigenVectors.

◆ printOutputAt()

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

Print receiver's output to given stream.

Reimplemented from oofem::MaterialStatus.

Definition at line 1446 of file mdm.C.

References damageTensorEigenValues, damageTensorEigenVectors, and Psi.

◆ restoreContext()

void oofem::MDMStatus::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 1401 of file mdm.C.

References oofem::CIO_OK, DamageTensor, damageTensorEigenValues, damageTensorEigenVectors, Psi, and THROW_CIOERR.

◆ saveContext()

void oofem::MDMStatus::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 1377 of file mdm.C.

References oofem::CIO_OK, DamageTensor, damageTensorEigenValues, damageTensorEigenVectors, Psi, and THROW_CIOERR.

◆ setLocalDamageTensorForAverage()

void oofem::MDMStatus::setLocalDamageTensorForAverage ( FloatMatrix src)
inline

Definition at line 127 of file mdm.h.

References localDamageTensor.

Referenced by oofem::MDM::unpackAndUpdateUnknowns().

◆ setMicroplaneTempDamage()

void oofem::MDMStatus::setMicroplaneTempDamage ( int m,
double val )
inline

Definition at line 120 of file mdm.h.

References PsiTemp.

Referenced by oofem::MDM::computeLocalDamageTensor().

◆ setMicroplaneTempDamageValues()

void oofem::MDMStatus::setMicroplaneTempDamageValues ( FloatArray src)
inline

Definition at line 122 of file mdm.h.

References PsiTemp.

Referenced by oofem::MDM::MMI_map().

◆ setTempDamageTensor()

void oofem::MDMStatus::setTempDamageTensor ( FloatMatrix src)
inline

Definition at line 126 of file mdm.h.

References DamageTensorTemp.

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

◆ setTempDamageTensorEigenVals()

void oofem::MDMStatus::setTempDamageTensorEigenVals ( FloatArray src)
inline

Definition at line 111 of file mdm.h.

References tempDamageTensorEigenValues.

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

◆ setTempDamageTensorEigenVec()

void oofem::MDMStatus::setTempDamageTensorEigenVec ( FloatMatrix src)
inline

Definition at line 112 of file mdm.h.

References tempDamageTensorEigenVectors.

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

◆ updateYourself()

void oofem::MDMStatus::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 1424 of file mdm.C.

References DamageTensor, damageTensorEigenValues, damageTensorEigenVectors, DamageTensorTemp, Psi, PsiTemp, tempDamageTensorEigenValues, and tempDamageTensorEigenVectors.

Referenced by oofem::MDM::MMI_map().

Member Data Documentation

◆ DamageTensor

FloatMatrix oofem::MDMStatus::DamageTensor
protected

Macroscopic damage tensor.

Definition at line 103 of file mdm.h.

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

◆ damageTensorEigenValues

FloatArray oofem::MDMStatus::damageTensorEigenValues
protected

◆ damageTensorEigenVectors

FloatMatrix oofem::MDMStatus::damageTensorEigenVectors
protected

◆ DamageTensorTemp

FloatMatrix oofem::MDMStatus::DamageTensorTemp
protected

◆ localDamageTensor

FloatMatrix oofem::MDMStatus::localDamageTensor
protected

◆ Psi

FloatArray oofem::MDMStatus::Psi
protected

Damage values on individual microplanes.

Definition at line 101 of file mdm.h.

Referenced by giveMicroplaneDamage(), giveMicroplaneDamageValues(), initTempStatus(), MDMStatus(), printOutputAt(), restoreContext(), saveContext(), and updateYourself().

◆ PsiTemp

FloatArray oofem::MDMStatus::PsiTemp
protected

◆ tempDamageTensorEigenValues

FloatArray oofem::MDMStatus::tempDamageTensorEigenValues
protected

Principal damage directions.

Definition at line 105 of file mdm.h.

Referenced by giveTempDamageTensorEigenVals(), initTempStatus(), MDMStatus(), setTempDamageTensorEigenVals(), and updateYourself().

◆ tempDamageTensorEigenVectors

FloatMatrix oofem::MDMStatus::tempDamageTensorEigenVectors
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