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

#include <frcfcm.h>

Inheritance diagram for oofem::FRCFCMStatus:
Collaboration diagram for oofem::FRCFCMStatus:

Public Member Functions

 FRCFCMStatus (GaussPoint *g)
double giveDamage () const
 Returns the last equilibrated damage level.
double giveTempDamage () const
 Returns the temporary damage level.
void setTempDamage (double newDamage)
 Sets the temp damage level to given value.
void printOutputAt (FILE *file, TimeStep *tStep) const override
 Print receiver's output to given stream.
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::ConcreteFCMStatus
 ConcreteFCMStatus (GaussPoint *g)
InterfacegiveInterface (InterfaceType it) override
Public Member Functions inherited from oofem::FCMMaterialStatus
 FCMMaterialStatus (GaussPoint *g)
virtual int giveNumberOfCracks () const
 returns number of cracks from the previous time step (equilibrated value)
virtual int giveNumberOfTempCracks () const
 returns temporary number of cracks
const FloatArraygiveMaxCrackStrainVector ()
 returns vector with maximum cracking strains (max 3 components)
double giveMaxCrackStrain (int icrack)
 returns maximum crack strain for the i-th crack (equilibrated value)
void setMaxCrackStrain (int icrack, double val)
 sets value of the maximum crack strain for the i-th crack (equilibrated value)
double giveTempMaxCrackStrain (int icrack)
 returns maximum crack strain for the i-th crack (temporary value)
void setTempMaxCrackStrain (int icrack, double val)
 sets value of the maximum crack strain for the i-th crack (temporary value)
const IntArraygiveTempCrackStatus ()
 returns vector of temporary crack statuses
int giveTempCrackStatus (int icrack) const
 returns temporary value of status associated with i-th crack direction
void setTempCrackStatus (int icrack, int val)
 sets temporary value of status for of the i-th crack
int giveCrackStatus (int icrack) const
 return equilibrated value of status associated with i-th crack direction
const FloatArraygiveCrackStrainVector () const
 return equilibrated crack strain vector (max 6 components)
const FloatArraygiveTempCrackStrainVector ()
 return temporary crack strain vector (max 6 components)
double giveCrackStrain (int icrack) const
 returns i-th component of the crack strain vector (equilibrated)
double giveTempCrackStrain (int icrack) const
 returns i-th component of the crack strain vector (temporary)
void setTempCrackStrainVector (FloatArray a)
 sets temporary vector of cracking strains (max 6 components)
void setTempNormalCrackStrainVector (FloatArray a)
 sets temporary vector of cracking strains (normal components)
void setTempCrackStrain (int icrack, double val)
 sets temporary value of i-th cracking strain (max 6 components)
void setCrackStrainVector (FloatArray a)
 sets equilibrated vector of cracking strains (max 6 components)
void setG2LStressVectorTransformationMtrx (FloatMatrix t)
 sets transformation matrix for stress transformation from global to local coordinate system
void setG2LStrainVectorTransformationMtrx (FloatMatrix s)
 sets transformation matrix for strain transformation from global to local coordinate system
void setL2GStressVectorTransformationMtrx (FloatMatrix t)
 sets transformation matrix for stress transformation from local to global coordinate system
void setL2GStrainVectorTransformationMtrx (FloatMatrix s)
 sets transformation matrix for stress transformation from global to local coordinate system
const FloatMatrixgiveG2LStressVectorTransformationMtrx ()
 returns transformation matrix for stress transformation from global to local coordinate system
const FloatMatrixgiveG2LStrainVectorTransformationMtrx ()
 sets transformation matrix for strain transformation from global to local coordinate system
const FloatMatrixgiveL2GStressVectorTransformationMtrx ()
 sets transformation matrix for stress transformation from local to global coordinate system
const FloatMatrixgiveL2GStrainVectorTransformationMtrx ()
 sets transformation matrix for stress transformation from global to local coordinate system
double giveCharLength (int icrack) const
 returns characteristic length associated with i-th crack direction
void setCharLength (int icrack, double val)
 sets characteristic length for i-th crack
const FloatMatrixgiveCrackDirs ()
 returns crack directions
const IntArraygiveCrackStatus ()
 returns crack statuses
void setCrackDirs (FloatMatrix a)
 sets matrix with crack directions (normal vectors)
virtual int giveMaxNumberOfCracks (GaussPoint *gp)
 returns maximum number of cracks associated with current mode
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::RandomMaterialStatusExtensionInterface
 RandomMaterialStatusExtensionInterface ()
virtual ~RandomMaterialStatusExtensionInterface ()
 Destructor.
bool _giveProperty (int key, double &value)
void _setProperty (int key, double value)
Public Member Functions inherited from oofem::Interface
 Interface ()
 Constructor.
virtual ~Interface ()

Protected Attributes

double damage = 0.
 Damage level of material.
double tempDamage = 0.
 Non-equilibrated damage level of material.
Protected Attributes inherited from oofem::FCMMaterialStatus
IntArray crackStatuses
 crack statuses (none, just initialized, softening, unload-reload, closed)
IntArray tempCrackStatuses
FloatArray maxCrackStrains
 Max. crack strain reached in the entire previous history.
FloatArray tempMaxCrackStrains
FloatArray crackStrainVector
 Components of crack strain vector (normal as well as shear).
FloatArray tempCrackStrainVector
FloatMatrix crackDirs
 Storing direction of cracks (crack normals) in columwise format.
FloatArray charLengths
 Characteristic lengths computed from the crack orientation and element geometry.
FloatMatrix transMatrix_G2Lstress
 transformation matrix converting stress from global to local coordinate system
FloatMatrix transMatrix_G2Lstrain
 transformation matrix converting strain from global to local coordinate system
FloatMatrix transMatrix_L2Gstress
 transformation matrix converting stress from local to global coordinate system
FloatMatrix transMatrix_L2Gstrain
 transformation matrix converting strain from local to global coordinate system
int nMaxCracks = 0
 number of maximum possible cracks (optional parameter)
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::RandomMaterialStatusExtensionInterface
Dictionary randProperties
 Dictionary containing material model values.

Detailed Description

This class manages the status of FRCFCM

Definition at line 74 of file frcfcm.h.

Constructor & Destructor Documentation

◆ FRCFCMStatus()

oofem::FRCFCMStatus::FRCFCMStatus ( GaussPoint * g)

Member Function Documentation

◆ giveClassName()

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

Reimplemented from oofem::ConcreteFCMStatus.

Definition at line 94 of file frcfcm.h.

◆ giveDamage()

double oofem::FRCFCMStatus::giveDamage ( ) const
inline

Returns the last equilibrated damage level.

Definition at line 86 of file frcfcm.h.

References damage.

Referenced by oofem::FRCFCM::computeTempDamage(), oofem::FRCFCM::estimateD2ModulusForCrack(), and oofem::FRCFCM::giveIPValue().

◆ giveTempDamage()

double oofem::FRCFCMStatus::giveTempDamage ( ) const
inline

Returns the temporary damage level.

Definition at line 88 of file frcfcm.h.

References tempDamage.

◆ initTempStatus()

void oofem::FRCFCMStatus::initTempStatus ( )
overridevirtual

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

Reimplemented from oofem::ConcreteFCMStatus.

Definition at line 1232 of file frcfcm.C.

References damage, and tempDamage.

◆ printOutputAt()

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

Print receiver's output to given stream.

Reimplemented from oofem::ConcreteFCMStatus.

Definition at line 1215 of file frcfcm.C.

References damage.

◆ restoreContext()

void oofem::FRCFCMStatus::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::ConcreteFCMStatus.

Definition at line 1270 of file frcfcm.C.

References oofem::CIO_IOERR, damage, oofem::DataStream::read(), and THROW_CIOERR.

◆ saveContext()

void oofem::FRCFCMStatus::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::ConcreteFCMStatus.

Definition at line 1260 of file frcfcm.C.

References oofem::CIO_IOERR, damage, THROW_CIOERR, and oofem::DataStream::write().

◆ setTempDamage()

void oofem::FRCFCMStatus::setTempDamage ( double newDamage)
inline

Sets the temp damage level to given value.

Definition at line 90 of file frcfcm.h.

References tempDamage.

Referenced by oofem::FRCFCM::computeTempDamage().

◆ updateYourself()

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

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

Reimplemented from oofem::ConcreteFCMStatus.

Definition at line 1245 of file frcfcm.C.

References damage, and tempDamage.

Member Data Documentation

◆ damage

double oofem::FRCFCMStatus::damage = 0.
protected

Damage level of material.

Definition at line 78 of file frcfcm.h.

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

◆ tempDamage

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

Non-equilibrated damage level of material.

Definition at line 80 of file frcfcm.h.

Referenced by giveTempDamage(), initTempStatus(), setTempDamage(), 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