36#ifndef graddamageelement_h
37#define graddamageelement_h
42#define _IFT_GradientDamageElement_penalty "penalty"
113 virtual const char *
giveClassName()
const {
return "GradientDamageElement"; }
virtual ~GradientDamageElement()
void computeDisplacementDegreesOfFreedom(FloatArray &answer, TimeStep *tStep)
void computeInternalForces_dB(FloatArray &answer, double localDamageDrivingVariable, FloatArray damage_grad, GaussPoint *gp, TimeStep *tStep)
void computeNonlocalDegreesOfFreedom(FloatArray &answer, TimeStep *tStep, ValueModeType vmt=VM_Total)
void computeStiffnessMatrix(FloatMatrix &, MatResponseMode, TimeStep *)
virtual const char * giveClassName() const
virtual void computeBdMatrixAt(GaussPoint *gp, FloatMatrix &answer)=0
void computeInternalForces_dN(double &answer, double localDamageDrivingVariable, double damage, GaussPoint *gp, TimeStep *tStep)
void computeDeformationGradientVector(FloatArray &answer, GaussPoint *gp, TimeStep *tStep)
void giveInternalForcesVector(FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord)
virtual void giveDofManDofIDMask_u(IntArray &answer) const =0
virtual void postInitialize()
virtual StructuralElement * giveStructuralElement()=0
void computeNonlocalDamageDrivingVariable(double &answer, GaussPoint *gp, TimeStep *tStep)
void computeStressVector_and_localDamageDrivingVariable(FloatArray &answer, double &localCumulatedPlasticStrain, GaussPoint *gp, TimeStep *tStep)
void computeStiffnessMatrix_ud(FloatMatrix &, MatResponseMode, TimeStep *)
void computeNonlocalDamageDrivingVariableGradient(FloatArray &answer, GaussPoint *gp, TimeStep *tStep)
virtual void giveDofManDofIDMask_d(IntArray &answer) const =0
void computeStiffnessMatrix_du(FloatMatrix &, MatResponseMode, TimeStep *)
void computeStiffnessMatrix_uu(FloatMatrix &, MatResponseMode, TimeStep *)
virtual void initializeFrom(InputRecord &ir)
virtual void giveLocationArray_d(IntArray &answer)=0
void computeStiffnessMatrix_dd(FloatMatrix &, MatResponseMode, TimeStep *)
void giveInternalForcesVector_d(FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord)
virtual void giveLocationArray_u(IntArray &answer)=0
virtual NLStructuralElement * giveNLStructuralElement()=0
void giveInternalForcesVector_u(FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord)
void computeStrainVector(FloatArray &answer, 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 computeNdMatrixAt(GaussPoint *gp, FloatArray &answer)=0