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

#include <graddpelement.h>

Inheritance diagram for oofem::GradDpElement:
Collaboration diagram for oofem::GradDpElement:

Public Member Functions

 GradDpElement ()
virtual ~GradDpElement ()

Protected Member Functions

virtual StructuralElementgiveStructuralElement ()=0
virtual NLStructuralElementgiveNLStructuralElement ()=0
virtual void computeNkappaMatrixAt (GaussPoint *gp, FloatArray &answer)=0
virtual void computeBkappaMatrixAt (GaussPoint *gp, FloatMatrix &answer)=0
void setDisplacementLocationArray ()
void setNonlocalLocationArray ()
void computeStiffnessMatrix (FloatMatrix &, MatResponseMode, TimeStep *)
void computeStiffnessMatrix_uu (FloatMatrix &, MatResponseMode, TimeStep *)
void computeStiffnessMatrix_uk (FloatMatrix &, MatResponseMode, TimeStep *)
void computeStiffnessMatrix_kk (FloatMatrix &, MatResponseMode, TimeStep *)
void computeStiffnessMatrix_ku (FloatMatrix &, MatResponseMode, TimeStep *)
void computeDisplacementDegreesOfFreedom (FloatArray &answer, TimeStep *tStep)
void computeNonlocalDegreesOfFreedom (FloatArray &answer, TimeStep *tStep)
void computeNonlocalGradient (FloatArray &answer, GaussPoint *gp, TimeStep *tStep)
void computeLocalStrainVector (FloatArray &answer, GaussPoint *gp, TimeStep *tStep)
void computeDeformationGradientVector (FloatArray &answer, GaussPoint *gp, TimeStep *tStep)
void computeNonlocalCumulatedStrain (double &answer, GaussPoint *gp, TimeStep *tStep)
void giveInternalForcesVector (FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord)
void giveLocalInternalForcesVector (FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord)
void giveNonlocalInternalForcesVector (FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord)
void computeStressVectorAndLocalCumulatedStrain (FloatArray &answer, double localCumulatedPlasticStrain, GaussPoint *gp, TimeStep *tStep)
void computeDistanceToBoundary ()

Protected Attributes

int nPrimNodes
int nPrimVars
int nSecNodes
int nSecVars
IntArray locU
IntArray locK
int totalSize
int nlSize
int locSize

Detailed Description

Abstract class for gradient formulation of coupled damage-plasticity model(GradDp). Yield function is formulated in the effective stress space and damage is driven by the nonlocal(over-nonlocal) cumulated plastic strain. The new nonlocal degrees of freedom (with the meaning of the nonlocal cumulated plastic strain) are introduced with lower order of approximation functions than the displacement field to avoid spurious stress oscillations

Definition at line 48 of file graddpelement.h.

Constructor & Destructor Documentation

◆ GradDpElement()

oofem::GradDpElement::GradDpElement ( )

Definition at line 58 of file graddpelement.C.

◆ ~GradDpElement()

virtual oofem::GradDpElement::~GradDpElement ( )
inlinevirtual

Definition at line 57 of file graddpelement.h.

Member Function Documentation

◆ computeBkappaMatrixAt()

virtual void oofem::GradDpElement::computeBkappaMatrixAt ( GaussPoint * gp,
FloatMatrix & answer )
protectedpure virtual

◆ computeDeformationGradientVector()

◆ computeDisplacementDegreesOfFreedom()

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

◆ computeDistanceToBoundary()

void oofem::GradDpElement::computeDistanceToBoundary ( )
protected

◆ computeLocalStrainVector()

void oofem::GradDpElement::computeLocalStrainVector ( FloatArray & answer,
GaussPoint * gp,
TimeStep * tStep )
protected

◆ computeNkappaMatrixAt()

virtual void oofem::GradDpElement::computeNkappaMatrixAt ( GaussPoint * gp,
FloatArray & answer )
protectedpure virtual

◆ computeNonlocalCumulatedStrain()

void oofem::GradDpElement::computeNonlocalCumulatedStrain ( double & answer,
GaussPoint * gp,
TimeStep * tStep )
protected

◆ computeNonlocalDegreesOfFreedom()

void oofem::GradDpElement::computeNonlocalDegreesOfFreedom ( FloatArray & answer,
TimeStep * tStep )
protected

◆ computeNonlocalGradient()

void oofem::GradDpElement::computeNonlocalGradient ( FloatArray & answer,
GaussPoint * gp,
TimeStep * tStep )
protected

◆ computeStiffnessMatrix()

◆ computeStiffnessMatrix_kk()

◆ computeStiffnessMatrix_ku()

◆ computeStiffnessMatrix_uk()

◆ computeStiffnessMatrix_uu()

◆ computeStressVectorAndLocalCumulatedStrain()

◆ giveInternalForcesVector()

void oofem::GradDpElement::giveInternalForcesVector ( FloatArray & answer,
TimeStep * tStep,
int useUpdatedGpRecord )
protected
Todo
This code relies on locU and locK already exists. Design seems highly unsafe. Instead locU and locK shoulld be statically determined (cf. with the Taylor-Hood elements) / Mikael

Definition at line 328 of file graddpelement.C.

References oofem::FloatArray::assemble(), giveLocalInternalForcesVector(), giveNonlocalInternalForcesVector(), locK, locSize, locU, nlSize, oofem::FloatArray::resize(), totalSize, and oofem::FloatArray::zero().

◆ giveLocalInternalForcesVector()

◆ giveNLStructuralElement()

◆ giveNonlocalInternalForcesVector()

◆ giveStructuralElement()

virtual StructuralElement * oofem::GradDpElement::giveStructuralElement ( )
protectedpure virtual

◆ setDisplacementLocationArray()

void oofem::GradDpElement::setDisplacementLocationArray ( )
protected

◆ setNonlocalLocationArray()

void oofem::GradDpElement::setNonlocalLocationArray ( )
protected

Definition at line 76 of file graddpelement.C.

References locK, nlSize, and nPrimVars.

Referenced by computeStiffnessMatrix(), and giveNonlocalInternalForcesVector().

Member Data Documentation

◆ locK

IntArray oofem::GradDpElement::locK
protected

◆ locSize

int oofem::GradDpElement::locSize
protected

Definition at line 53 of file graddpelement.h.

Referenced by giveInternalForcesVector(), and setDisplacementLocationArray().

◆ locU

IntArray oofem::GradDpElement::locU
protected

◆ nlSize

int oofem::GradDpElement::nlSize
protected

Definition at line 53 of file graddpelement.h.

Referenced by giveInternalForcesVector(), and setNonlocalLocationArray().

◆ nPrimNodes

int oofem::GradDpElement::nPrimNodes
protected

Definition at line 51 of file graddpelement.h.

◆ nPrimVars

int oofem::GradDpElement::nPrimVars
protected

Definition at line 51 of file graddpelement.h.

Referenced by setDisplacementLocationArray(), and setNonlocalLocationArray().

◆ nSecNodes

int oofem::GradDpElement::nSecNodes
protected

◆ nSecVars

int oofem::GradDpElement::nSecVars
protected

◆ totalSize

int oofem::GradDpElement::totalSize
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