35 #ifndef graddpmaterialextensioninterface_h 36 #define graddpmaterialextensioninterface_h 43 #define _IFT_GradDpMaterialExtensionInterface_averagingtype "averagingType" 44 #define _IFT_GradDpMaterialExtensionInterface_cl "cl" 45 #define _IFT_GradDpMaterialExtensionInterface_beta "beta" 46 #define _IFT_GradDpMaterialExtensionInterface_zeta "zeta" 142 virtual double giveNonlocalCumulatedStrain() = 0;
143 virtual void setNonlocalCumulatedStrain(
double nonlocalCumulatedStrain) = 0;
virtual void givePDGradMatrix_ku(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)=0
Left lower block.
double beta
Parameter which multiplied with the interaction radius cl0 gives its minimum allowed value...
virtual ~GradDpMaterialExtensionInterface()
Destructor.
double cl0
Initial(user defined) characteristic length of the nonlocal model (its interpretation depends on the ...
virtual void givePDGradMatrix_LD(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)=0
Stress-based averaging.
double cl
Characteristic length of the nonlocal model (its interpretation depends on the type of weight functio...
double nonlocalCumulatedStrain
MatResponseMode
Describes the character of characteristic material matrix.
virtual void givePDGradMatrix_uk(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)=0
Right upper block.
virtual void givePDGradMatrix_uu(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)=0
Left upper block.
GradDpMaterialExtensionInterface(Domain *d)
Constructor.
double zeta
Parameter used when Distance-based nonlocal variation is applied When it is multiplied with the inter...
int averType
Parameter which defines the averaging type When averType is equal to zereo classical approach is used...
virtual IRResultType initializeFrom(InputRecord *ir)
virtual void giveFirstPKStressVectorGrad(FloatArray &answer1, double &answer2, GaussPoint *gp, const FloatArray &totalStrain, double nonlocalDamageDrivningVariable, TimeStep *tStep)
Material interface for gradient material models.
virtual void givePDGradMatrix_kk(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)=0
Right lower block.
void giveDistanceBasedCharacteristicLength(const FloatArray &gpCoords)
Provides the distance based interaction radius This function is called when averType is set to 1...
virtual void giveRealStressVectorGrad(FloatArray &answer1, double &answer2, GaussPoint *gp, const FloatArray &totalStrain, double nonlocalDamageDrivningVariable, TimeStep *tStep)
gradient - based giveRealStressVector
Class representing vector of real numbers.
Implementation of matrix containing floating point numbers.
IRResultType
Type defining the return values of InputRecord reading operations.
virtual void giveCauchyStressVectorGrad(FloatArray &answer1, double &answer2, GaussPoint *gp, const FloatArray &totalStrain, double nonlocalDamageDrivningVariable, TimeStep *tStep)
the oofem namespace is to define a context or scope in which all oofem names are defined.
Class representing integration point in finite element program.
Class representing solution step.