OOFEM 3.0
Loading...
Searching...
No Matches
oofem::GradientDamageElement Class Referenceabstract

#include <graddamageelement.h>

Inheritance diagram for oofem::GradientDamageElement:
Collaboration diagram for oofem::GradientDamageElement:

Public Member Functions

 GradientDamageElement ()
virtual ~GradientDamageElement ()
virtual void initializeFrom (InputRecord &ir)

Protected Member Functions

virtual StructuralElementgiveStructuralElement ()=0
virtual NLStructuralElementgiveNLStructuralElement ()=0
virtual void computeNdMatrixAt (GaussPoint *gp, FloatArray &answer)=0
virtual void computeBdMatrixAt (GaussPoint *gp, FloatMatrix &answer)=0
virtual void giveDofManDofIDMask_u (IntArray &answer) const =0
virtual void giveDofManDofIDMask_d (IntArray &answer) const =0
void computeStiffnessMatrix (FloatMatrix &, MatResponseMode, TimeStep *)
void computeStiffnessMatrix_uu (FloatMatrix &, MatResponseMode, TimeStep *)
void computeStiffnessMatrix_ud (FloatMatrix &, MatResponseMode, TimeStep *)
void computeStiffnessMatrix_dd (FloatMatrix &, MatResponseMode, TimeStep *)
void computeStiffnessMatrix_du (FloatMatrix &, MatResponseMode, TimeStep *)
void computeDisplacementDegreesOfFreedom (FloatArray &answer, TimeStep *tStep)
void computeStrainVector (FloatArray &answer, GaussPoint *gp, TimeStep *tStep)
void computeDeformationGradientVector (FloatArray &answer, GaussPoint *gp, TimeStep *tStep)
void computeNonlocalDegreesOfFreedom (FloatArray &answer, TimeStep *tStep, ValueModeType vmt=VM_Total)
void computeNonlocalDamageDrivingVariable (double &answer, GaussPoint *gp, TimeStep *tStep)
void computeNonlocalDamageDrivingVariableGradient (FloatArray &answer, GaussPoint *gp, TimeStep *tStep)
void giveInternalForcesVector (FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord)
void giveInternalForcesVector_u (FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord)
void giveInternalForcesVector_d (FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord)
void computeInternalForces_dN (double &answer, double localDamageDrivingVariable, double damage, GaussPoint *gp, TimeStep *tStep)
void computeInternalForces_dB (FloatArray &answer, double localDamageDrivingVariable, FloatArray damage_grad, GaussPoint *gp, TimeStep *tStep)
void computeStressVector_and_localDamageDrivingVariable (FloatArray &answer, double &localCumulatedPlasticStrain, GaussPoint *gp, TimeStep *tStep)
void giveLocationArrayOfDofIDs (IntArray &locationArray_u, IntArray &locationArray_d, const UnknownNumberingScheme &s, const IntArray &dofIdArray_u, const IntArray &dofIdArray_m)
virtual void giveLocationArray_u (IntArray &answer)=0
virtual void giveLocationArray_d (IntArray &answer)=0
virtual const char * giveClassName () const
virtual void postInitialize ()

Protected Attributes

int nPrimNodes
int nPrimVars
int nSecNodes
int nSecVars
int totalSize
int nlSize
int locSize
IntArray locationArray_u
IntArray locationArray_d
double penalty

Detailed Description

Abstract class for gradient damage models It can be also simply combined with damage-plastic models with yield function formulated in the effective stress space and damage driven by the nonlocal(over-nonlocal) cumulated plastic strain. The new nonlocal degrees of freedom (they can, for example, have meaning of the nonlocal equivalent strain) are introduced. Usually, they are approximated using lower order approximation functions than the displacement field to avoid spurious stress oscillations.

Author
Martin Horak

Definition at line 56 of file graddamageelement.h.

Constructor & Destructor Documentation

◆ GradientDamageElement()

◆ ~GradientDamageElement()

virtual oofem::GradientDamageElement::~GradientDamageElement ( )
inlinevirtual

Definition at line 67 of file graddamageelement.h.

Member Function Documentation

◆ computeBdMatrixAt()

◆ computeDeformationGradientVector()

◆ computeDisplacementDegreesOfFreedom()

void oofem::GradientDamageElement::computeDisplacementDegreesOfFreedom ( FloatArray & answer,
TimeStep * tStep )
protected

◆ computeInternalForces_dB()

◆ computeInternalForces_dN()

◆ computeNdMatrixAt()

◆ computeNonlocalDamageDrivingVariable()

void oofem::GradientDamageElement::computeNonlocalDamageDrivingVariable ( double & answer,
GaussPoint * gp,
TimeStep * tStep )
protected

◆ computeNonlocalDamageDrivingVariableGradient()

void oofem::GradientDamageElement::computeNonlocalDamageDrivingVariableGradient ( FloatArray & answer,
GaussPoint * gp,
TimeStep * tStep )
protected

◆ computeNonlocalDegreesOfFreedom()

void oofem::GradientDamageElement::computeNonlocalDegreesOfFreedom ( FloatArray & answer,
TimeStep * tStep,
ValueModeType vmt = VM_Total )
protected

◆ computeStiffnessMatrix()

void oofem::GradientDamageElement::computeStiffnessMatrix ( FloatMatrix & answer,
MatResponseMode rMode,
TimeStep * tStep )
protected

◆ computeStiffnessMatrix_dd()

◆ computeStiffnessMatrix_du()

◆ computeStiffnessMatrix_ud()

◆ computeStiffnessMatrix_uu()

◆ computeStrainVector()

void oofem::GradientDamageElement::computeStrainVector ( FloatArray & answer,
GaussPoint * gp,
TimeStep * tStep )
protected

◆ computeStressVector_and_localDamageDrivingVariable()

◆ giveClassName()

◆ giveDofManDofIDMask_d()

◆ giveDofManDofIDMask_u()

◆ giveInternalForcesVector()

void oofem::GradientDamageElement::giveInternalForcesVector ( FloatArray & answer,
TimeStep * tStep,
int useUpdatedGpRecord )
protected

◆ giveInternalForcesVector_d()

◆ giveInternalForcesVector_u()

◆ giveLocationArray_d()

◆ giveLocationArray_u()

◆ giveLocationArrayOfDofIDs()

void oofem::GradientDamageElement::giveLocationArrayOfDofIDs ( IntArray & locationArray_u,
IntArray & locationArray_d,
const UnknownNumberingScheme & s,
const IntArray & dofIdArray_u,
const IntArray & dofIdArray_m )
protected

◆ giveNLStructuralElement()

◆ giveStructuralElement()

◆ initializeFrom()

void oofem::GradientDamageElement::initializeFrom ( InputRecord & ir)
virtual

◆ postInitialize()

Member Data Documentation

◆ locationArray_d

IntArray oofem::GradientDamageElement::locationArray_d
protected

◆ locationArray_u

IntArray oofem::GradientDamageElement::locationArray_u
protected

◆ locSize

◆ nlSize

◆ nPrimNodes

◆ nPrimVars

◆ nSecNodes

◆ nSecVars

◆ penalty

double oofem::GradientDamageElement::penalty
protected

◆ totalSize


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