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

#include <structuralinterfacematerialstatus.h>

Inheritance diagram for oofem::StructuralInterfaceMaterialStatus:
Collaboration diagram for oofem::StructuralInterfaceMaterialStatus:

Public Member Functions

 StructuralInterfaceMaterialStatus (GaussPoint *g)
 Constructor. Creates new StructuralInterfaceMaterialStatus with number n, belonging to domain d and 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 FloatArrayF< 3 > & giveJump () const
 Returns the const pointer to receiver's jump.
const FloatArrayF< 3 > & giveTraction () const
 Returns the const pointer to receiver's traction vector.
const FloatArrayF< 3 > & giveFirstPKTraction () const
 Returns the const pointer to receiver's first Piola-Kirchhoff traction vector.
const FloatMatrixF< 3, 3 > & giveF () const
 Returns the const pointer to receiver's deformation gradient vector.
const FloatArrayF< 3 > & giveTempJump () const
 Returns the const pointer to receiver's temporary jump.
const FloatArrayF< 3 > & giveTempTraction () const
 Returns the const pointer to receiver's temporary traction vector.
const FloatArrayF< 3 > & giveTempFirstPKTraction () const
 Returns the const pointer to receiver's temporary first Piola-Kirchhoff traction vector.
const FloatMatrixF< 3, 3 > & giveTempF () const
 Returns the const pointer to receiver's temporary deformation gradient vector.
const FloatArrayF< 3 > & giveNormal () const
 Returns const reference to normal vector.
const FloatArrayF< 2 > & giveProjectedTraction () const
 Returns the projected traction.
void letJumpBe (const FloatArrayF< 3 > v)
 Assigns jump to given vector v.
void letTractionBe (const FloatArrayF< 3 > v)
 Assigns traction to given vector v.
void letFirstPKTractionBe (const FloatArrayF< 3 > v)
 Assigns firstPKTraction to given vector v.
void letFBe (const FloatMatrixF< 3, 3 > v)
 Assigns FVector to given vector v.
void letTempTractionBe (const FloatArrayF< 3 > v)
 Assigns tempTraction to given vector v.
void letTempJumpBe (const FloatArrayF< 3 > v)
 Assigns tempJump to given vector v.
void letTempFirstPKTractionBe (const FloatArrayF< 3 > v)
 Assigns tempFirstPKTraction to given vector v.
void letTempFBe (const FloatMatrixF< 3, 3 > &v)
 Assigns tempFVector to given vector v.
void letNormalBe (const FloatArrayF< 3 > &iN)
 Assigns normal vector.
void letProjectedTractionBe (const FloatArrayF< 2 > &iProjectedTraction)
 Assigns projeted traction.
const char * giveClassName () const override
 @TODO Projected tractions are never set. What is it supposed to be good for?
void copyStateVariables (const MaterialStatus &iStatus) override
 Functions for MaterialStatusMapperInterface.
void addStateVariables (const MaterialStatus &iStatus) override
bool giveNewlyInserted () const
void setNewlyInserted (bool iNewlyInserted)
virtual double giveDamage () const
virtual double giveTempDamage () const
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

FloatArrayF< 3 > jump
 Equilibrated jump (discontinuity).
FloatArrayF< 3 > traction
 Equilibrated (engineering) traction vector.
FloatArrayF< 3 > tempTraction
 Temporary (engineering) traction vector.
FloatArrayF< 3 > tempJump
 Temporary jump (discontinuity).
FloatArrayF< 3 > firstPKTraction
 Equilibrated first Piola-Kirchhoff traction vector T.
FloatArrayF< 3 > tempFirstPKTraction
 Temporary first Piola-Kirchhoff traction vector (to find balanced state).
FloatMatrixF< 3, 3 > F
 Equilibrated deformation gradient in reduced form.
FloatMatrixF< 3, 3 > tempF
 Temporary deformation gradient in reduced form (to find balanced state).
FloatArrayF< 3 > mNormalDir
 Interface normal direction.
bool mNewlyInserted = true
FloatArrayF< 2 > projectedTraction
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 a structural interface material status information. It is attribute of gaussPoint. This is only an abstract class, for every instance of this material class there should be a specialized derived class, which handles are history variables.

This is a base class for all material statuses corresponding to materials derived from StructuralInterfaceMaterial class. It defines the traction, jump (discontinuity), deformation gradient and their temporary counterparts. Functions for accessing these components are defined.

Definition at line 58 of file structuralinterfacematerialstatus.h.

Constructor & Destructor Documentation

◆ StructuralInterfaceMaterialStatus()

Member Function Documentation

◆ addStateVariables()

void oofem::StructuralInterfaceMaterialStatus::addStateVariables ( const MaterialStatus & iStatus)
overridevirtual

◆ copyStateVariables()

◆ giveClassName()

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

@TODO Projected tractions are never set. What is it supposed to be good for?

Implements oofem::IntegrationPointStatus.

Definition at line 140 of file structuralinterfacematerialstatus.h.

◆ giveDamage()

◆ giveF()

const FloatMatrixF< 3, 3 > & oofem::StructuralInterfaceMaterialStatus::giveF ( ) const
inline

Returns the const pointer to receiver's deformation gradient vector.

Definition at line 105 of file structuralinterfacematerialstatus.h.

References F.

Referenced by copyStateVariables(), and oofem::StructuralInterfaceMaterial::giveIPValue().

◆ giveFirstPKTraction()

const FloatArrayF< 3 > & oofem::StructuralInterfaceMaterialStatus::giveFirstPKTraction ( ) const
inline

Returns the const pointer to receiver's first Piola-Kirchhoff traction vector.

Definition at line 103 of file structuralinterfacematerialstatus.h.

References firstPKTraction.

Referenced by copyStateVariables(), oofem::StructuralInterfaceMaterial::giveIPValue(), oofem::GnuplotExportModule::outputXFEM(), and oofem::Shell7BaseXFEM::recoverShearStress().

◆ giveJump()

const FloatArrayF< 3 > & oofem::StructuralInterfaceMaterialStatus::giveJump ( ) const
inline

◆ giveNewlyInserted()

bool oofem::StructuralInterfaceMaterialStatus::giveNewlyInserted ( ) const
inline

Definition at line 146 of file structuralinterfacematerialstatus.h.

References mNewlyInserted.

◆ giveNormal()

const FloatArrayF< 3 > & oofem::StructuralInterfaceMaterialStatus::giveNormal ( ) const
inline

◆ giveProjectedTraction()

const FloatArrayF< 2 > & oofem::StructuralInterfaceMaterialStatus::giveProjectedTraction ( ) const
inline

Returns the projected traction.

Definition at line 117 of file structuralinterfacematerialstatus.h.

References projectedTraction.

Referenced by oofem::GnuplotExportModule::outputInterfaceEl().

◆ giveTempDamage()

◆ giveTempF()

const FloatMatrixF< 3, 3 > & oofem::StructuralInterfaceMaterialStatus::giveTempF ( ) const
inline

◆ giveTempFirstPKTraction()

const FloatArrayF< 3 > & oofem::StructuralInterfaceMaterialStatus::giveTempFirstPKTraction ( ) const
inline

Returns the const pointer to receiver's temporary first Piola-Kirchhoff traction vector.

Definition at line 111 of file structuralinterfacematerialstatus.h.

References tempFirstPKTraction.

Referenced by oofem::IntElLine1PF::computeFreeEnergy(), copyStateVariables(), oofem::Shell7BaseXFEM::giveRecoveredTransverseInterfaceStress(), and oofem::Shell7BaseXFEM::recoverShearStress().

◆ giveTempJump()

const FloatArrayF< 3 > & oofem::StructuralInterfaceMaterialStatus::giveTempJump ( ) const
inline

Returns the const pointer to receiver's temporary jump.

Definition at line 107 of file structuralinterfacematerialstatus.h.

References tempJump.

Referenced by oofem::IntElLine1PF::computeFreeEnergy(), oofem::IntElLine1PF::computeGMatrix(), copyStateVariables(), oofem::StructuralInterfaceMaterial::give1dStiffnessMatrix_dTdj_Num(), oofem::StructuralInterfaceMaterial::give1dStiffnessMatrix_Eng_Num(), oofem::StructuralInterfaceMaterial::give2dStiffnessMatrix_dTdj_Num(), oofem::IntMatIsoDamage::give2dStiffnessMatrix_Eng(), oofem::StructuralInterfaceMaterial::give2dStiffnessMatrix_Eng_Num(), oofem::IntMatBilinearCZElastic::give3dStiffnessMatrix_dTdj(), oofem::IntMatBilinearCZFagerstrom::give3dStiffnessMatrix_dTdj(), oofem::IntMatBilinearCZJansson::give3dStiffnessMatrix_dTdj(), oofem::StructuralInterfaceMaterial::give3dStiffnessMatrix_dTdj_Num(), oofem::CohesiveInterfaceMaterial::give3dStiffnessMatrix_Eng(), oofem::ExpCZMaterial::give3dStiffnessMatrix_Eng(), oofem::IntMatCoulombContact::give3dStiffnessMatrix_Eng(), oofem::IntMatIsoDamage::give3dStiffnessMatrix_Eng(), oofem::IntMatPhaseField::give3dStiffnessMatrix_Eng(), oofem::IsoInterfaceDamageMaterial::give3dStiffnessMatrix_Eng(), oofem::IsoInterfaceDamageMaterial_2::give3dStiffnessMatrix_Eng(), oofem::SimpleInterfaceMaterial::give3dStiffnessMatrix_Eng(), oofem::StructuralInterfaceMaterial::give3dStiffnessMatrix_Eng_Num(), oofem::IntMatBilinearCZFagerstrom::giveFirstPKTraction_3d(), oofem::IntMatBilinearCZFagerstromRate::giveFirstPKTraction_3d(), oofem::IntMatBilinearCZJansson::giveFirstPKTraction_3d(), and oofem::IntMatPhaseField::giveTangents().

◆ giveTempTraction()

const FloatArrayF< 3 > & oofem::StructuralInterfaceMaterialStatus::giveTempTraction ( ) const
inline

Returns the const pointer to receiver's temporary traction vector.

Definition at line 109 of file structuralinterfacematerialstatus.h.

References tempTraction.

Referenced by copyStateVariables(), and oofem::SimpleInterfaceMaterial::give3dStiffnessMatrix_Eng().

◆ giveTraction()

◆ initTempStatus()

void oofem::StructuralInterfaceMaterialStatus::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 81 of file structuralinterfacematerialstatus.C.

References F, firstPKTraction, jump, tempF, tempFirstPKTraction, tempJump, tempTraction, and traction.

Referenced by oofem::IntMatCoulombContactStatus::initTempStatus().

◆ letFBe()

void oofem::StructuralInterfaceMaterialStatus::letFBe ( const FloatMatrixF< 3, 3 > v)
inline

Assigns FVector to given vector v.

Definition at line 125 of file structuralinterfacematerialstatus.h.

References F.

◆ letFirstPKTractionBe()

void oofem::StructuralInterfaceMaterialStatus::letFirstPKTractionBe ( const FloatArrayF< 3 > v)
inline

Assigns firstPKTraction to given vector v.

Definition at line 123 of file structuralinterfacematerialstatus.h.

References firstPKTraction.

◆ letJumpBe()

void oofem::StructuralInterfaceMaterialStatus::letJumpBe ( const FloatArrayF< 3 > v)
inline

Assigns jump to given vector v.

Definition at line 119 of file structuralinterfacematerialstatus.h.

References jump.

◆ letNormalBe()

void oofem::StructuralInterfaceMaterialStatus::letNormalBe ( const FloatArrayF< 3 > & iN)
inline

◆ letProjectedTractionBe()

void oofem::StructuralInterfaceMaterialStatus::letProjectedTractionBe ( const FloatArrayF< 2 > & iProjectedTraction)
inline

Assigns projeted traction.

Definition at line 137 of file structuralinterfacematerialstatus.h.

References projectedTraction.

◆ letTempFBe()

void oofem::StructuralInterfaceMaterialStatus::letTempFBe ( const FloatMatrixF< 3, 3 > & v)
inline

◆ letTempFirstPKTractionBe()

◆ letTempJumpBe()

◆ letTempTractionBe()

◆ letTractionBe()

void oofem::StructuralInterfaceMaterialStatus::letTractionBe ( const FloatArrayF< 3 > v)
inline

Assigns traction to given vector v.

Definition at line 121 of file structuralinterfacematerialstatus.h.

References traction.

◆ printOutputAt()

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

Print receiver's output to given stream.

Reimplemented from oofem::MaterialStatus.

Definition at line 53 of file structuralinterfacematerialstatus.C.

References jump, and traction.

Referenced by oofem::IntMatCoulombContactStatus::printOutputAt().

◆ restoreContext()

void oofem::StructuralInterfaceMaterialStatus::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 111 of file structuralinterfacematerialstatus.C.

References oofem::CIO_OK, and THROW_CIOERR.

Referenced by oofem::IntMatCoulombContactStatus::restoreContext().

◆ saveContext()

void oofem::StructuralInterfaceMaterialStatus::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 93 of file structuralinterfacematerialstatus.C.

References oofem::CIO_OK, and THROW_CIOERR.

Referenced by oofem::IntMatCoulombContactStatus::saveContext().

◆ setNewlyInserted()

void oofem::StructuralInterfaceMaterialStatus::setNewlyInserted ( bool iNewlyInserted)
inline

◆ updateYourself()

void oofem::StructuralInterfaceMaterialStatus::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 70 of file structuralinterfacematerialstatus.C.

References F, firstPKTraction, jump, tempF, tempFirstPKTraction, tempJump, tempTraction, and traction.

Referenced by oofem::IntMatCoulombContactStatus::updateYourself().

Member Data Documentation

◆ F

FloatMatrixF<3,3> oofem::StructuralInterfaceMaterialStatus::F
protected

Equilibrated deformation gradient in reduced form.

Definition at line 75 of file structuralinterfacematerialstatus.h.

Referenced by copyStateVariables(), giveF(), initTempStatus(), letFBe(), StructuralInterfaceMaterialStatus(), and updateYourself().

◆ firstPKTraction

FloatArrayF<3> oofem::StructuralInterfaceMaterialStatus::firstPKTraction
protected

Equilibrated first Piola-Kirchhoff traction vector T.

Definition at line 71 of file structuralinterfacematerialstatus.h.

Referenced by copyStateVariables(), giveFirstPKTraction(), initTempStatus(), letFirstPKTractionBe(), and updateYourself().

◆ jump

FloatArrayF<3> oofem::StructuralInterfaceMaterialStatus::jump
protected

◆ mNewlyInserted

bool oofem::StructuralInterfaceMaterialStatus::mNewlyInserted = true
protected

Definition at line 82 of file structuralinterfacematerialstatus.h.

Referenced by giveNewlyInserted(), and setNewlyInserted().

◆ mNormalDir

FloatArrayF<3> oofem::StructuralInterfaceMaterialStatus::mNormalDir
protected

Interface normal direction.

Definition at line 80 of file structuralinterfacematerialstatus.h.

Referenced by copyStateVariables(), giveNormal(), and letNormalBe().

◆ projectedTraction

FloatArrayF<2> oofem::StructuralInterfaceMaterialStatus::projectedTraction
protected

◆ tempF

FloatMatrixF<3,3> oofem::StructuralInterfaceMaterialStatus::tempF
protected

Temporary deformation gradient in reduced form (to find balanced state).

Definition at line 77 of file structuralinterfacematerialstatus.h.

Referenced by copyStateVariables(), giveTempF(), initTempStatus(), letTempFBe(), StructuralInterfaceMaterialStatus(), and updateYourself().

◆ tempFirstPKTraction

FloatArrayF<3> oofem::StructuralInterfaceMaterialStatus::tempFirstPKTraction
protected

Temporary first Piola-Kirchhoff traction vector (to find balanced state).

Definition at line 73 of file structuralinterfacematerialstatus.h.

Referenced by copyStateVariables(), giveTempFirstPKTraction(), initTempStatus(), letTempFirstPKTractionBe(), and updateYourself().

◆ tempJump

FloatArrayF<3> oofem::StructuralInterfaceMaterialStatus::tempJump
protected

Temporary jump (discontinuity).

Definition at line 68 of file structuralinterfacematerialstatus.h.

Referenced by copyStateVariables(), giveTempJump(), initTempStatus(), letTempJumpBe(), and updateYourself().

◆ tempTraction

FloatArrayF<3> oofem::StructuralInterfaceMaterialStatus::tempTraction
protected

Temporary (engineering) traction vector.

Definition at line 66 of file structuralinterfacematerialstatus.h.

Referenced by copyStateVariables(), giveTempTraction(), initTempStatus(), letTempTractionBe(), and updateYourself().

◆ traction

FloatArrayF<3> oofem::StructuralInterfaceMaterialStatus::traction
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