35#ifndef RankineMatGrad_h
45#define _IFT_RankineMatGrad_Name "rankmatgrad"
46#define _IFT_RankineMatGrad_L "l"
47#define _IFT_RankineMatGrad_m "m"
48#define _IFT_RankineMatGrad_negligibleDamage "negligible_damage"
49#define _IFT_RankineMatGrad_formulationType "formtype"
76 const char *
giveClassName()
const override {
return "RankineMatGradStatus"; }
165 std::unique_ptr<MaterialStatus>
CreateStatus(
GaussPoint *gp)
const override {
return std::make_unique<RankineMatGradStatus>(gp); }
168#define RankineMatGrad_h
GradientDamageMaterialExtensionInterface(Domain *d)
double nonlocalDamageDrivingVariable
GradientDamageMaterialStatusExtensionInterface()
RankineMatGradStatus(GaussPoint *g)
virtual double giveNonlocalCumulatedStrain()
void initTempStatus() override
void setKappa_hat(double kap)
const char * giveClassName() const override
void setKappa_nl(double kap)
virtual void setNonlocalCumulatedStrain(double nonlocalCumulatedStrain)
void updateYourself(TimeStep *tStep) override
void printOutputAt(FILE *file, TimeStep *tStep) const override
Print receiver's output to given stream.
void computeLocalDamageDrivingVariable(double &answer, GaussPoint *gp, TimeStep *tStep) override
double computeEikonalInternalLength_b(GaussPoint *gp)
void giveNonlocalInternalForces_N_factor(double &answer, double nlddv, GaussPoint *gp, TimeStep *tStep) override
double computeEikonalInternalLength_bPrime(GaussPoint *gp)
void giveInternalLength(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
double computeEikonalInternalLength_aPrime(GaussPoint *gp)
void initializeFrom(InputRecord &ir) override
const char * giveInputRecordName() const override
double giveNonlocalCumPlasticStrain(GaussPoint *gp)
void giveGradientDamageStiffnessMatrix_dd_BN(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) override
void giveNonlocalInternalForces_B_factor(FloatArray &answer, const FloatArray &nlddv, GaussPoint *gp, TimeStep *tStep) override
bool hasMaterialModeCapability(MaterialMode mode) const override
int giveDimension(GaussPoint *gp)
void givePlaneStressKappaMatrix(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
void giveGradientDamageStiffnessMatrix_du(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) override
Left lower block.
RankineMatGrad(int n, Domain *d)
void giveGradientDamageStiffnessMatrix_du_NB(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
void giveGradientDamageStiffnessMatrix_du_BB(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
LinearElasticMaterial * giveLinearElasticMaterial()
double computeCumPlastStrain(GaussPoint *gp, TimeStep *tStep) const override
void giveGradientDamageStiffnessMatrix_dd_BB(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) override
GradientDamageFormulationType gradientDamageFormulationType
void givePlaneStressGprime(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)
Interface * giveInterface(InterfaceType t) override
int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override
GradientDamageFormulationType
void giveGradientDamageStiffnessMatrix_uu(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) override
Left upper block.
void giveGradientDamageStiffnessMatrix_dd_NN(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) override
Right lower block.
void performPlasticityReturn(GaussPoint *gp, const FloatArray &totalStrain)
const char * giveClassName() const override
void giveGradientDamageStiffnessMatrix_ud(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep) override
Right upper block.
std::unique_ptr< MaterialStatus > CreateStatus(GaussPoint *gp) const override
void giveRealStressVectorGradientDamage(FloatArray &answer1, double &answer2, GaussPoint *gp, const FloatArray &totalStrain, double nonlocalCumulatedStrain, TimeStep *tStep) override
gradient - based giveRealStressVector
void giveStiffnessMatrix(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep) const override
double computeInternalLength(GaussPoint *gp)
double computeEikonalInternalLength_a(GaussPoint *gp)
FloatMatrixF< 3, 3 > givePlaneStressStiffMtrx(MatResponseMode, GaussPoint *gp, TimeStep *tStep) const override
RankineMatStatus(GaussPoint *g)
LinearElasticMaterial * linearElasticMaterial
Reference to the basic elastic material.
RankineMat(int n, Domain *d)
@ GradientDamageMaterialExtensionInterfaceType
#define _IFT_RankineMatGrad_Name