35#ifndef druckerpragercatmat_h
36#define druckerpragercatmat_h
42#define _IFT_DruckerPragerCutMat_Name "druckerpragercutmat"
43#define _IFT_DruckerPragerCutMat_alpha "alpha"
44#define _IFT_DruckerPragerCutMat_alphapsi "alphapsi"
45#define _IFT_DruckerPragerCutMat_h "h"
46#define _IFT_DruckerPragerCutMat_sigT "sigt"
47#define _IFT_DruckerPragerCutMat_omegaCrit "omega_crit"
48#define _IFT_DruckerPragerCutMat_a "a"
49#define _IFT_DruckerPragerCutMat_yieldTol "yieldtol"
50#define _IFT_DruckerPragerCutMat_newtonIter "newtoniter"
51#define _IFT_DruckerPragerCutMat_tau0 "tau0"
115 const char *
giveClassName()
const override {
return "DruckerPragerCutMat"; }
void initializeFrom(InputRecord &ir) override
double omegaCrit
Maximum damage value.
int hasHardening() const override
Functions related to hardening.
void computeReducedHardeningVarsSigmaGradient(FloatMatrix &answer, GaussPoint *gp, const IntArray &activeConditionMap, const FloatArray &fullStressVector, const FloatArray &strainSpaceHardeningVars, const FloatArray &dlambda) const override
computes dk(i)/dsig(j) gradient matrix
std::unique_ptr< MaterialStatus > CreateStatus(GaussPoint *gp) const override
double sigT
Uniaxial tensile strength for cut-off.
void computeStrainHardeningVarsIncrement(FloatArray &answer, GaussPoint *gp, const FloatArray &stress, const FloatArray &dlambda, const FloatArray &dplasticStrain, const IntArray &activeConditionMap) const override
Compute dot(kappa_1), dot(kappa_2) etc.
void computeReducedSSGradientMatrix(FloatMatrix &gradientMatrix, int isurf, GaussPoint *gp, const FloatArray &fullStressVector, const FloatArray &strainSpaceHardeningVariables) const override
Computes second derivative of yield/loading function with respect to stress.
DruckerPragerCutMat(int n, Domain *d)
bool hasMaterialModeCapability(MaterialMode mode) const override
const char * giveClassName() const override
void computeReducedHardeningVarsLamGradient(FloatMatrix &answer, GaussPoint *gp, int actSurf, const IntArray &activeConditionMap, const FloatArray &fullStressVector, const FloatArray &strainSpaceHardeningVars, const FloatArray &dlambda) const override
computes dKappa_i/dLambda_j
double computeYieldValueAt(GaussPoint *gp, int isurf, const FloatArray &stressVector, const FloatArray &strainSpaceHardeningVariables) const override
Computes the value of yield function.
double alphaPsi
Dilatancy coefficient (allowing non-associated plasticity).
double G
Elastic shear modulus.
int giveMaxNumberOfActiveYieldConds(GaussPoint *gp) const override
LinearElasticMaterial * giveLinearElasticMaterial()
Returns a reference to the basic elastic material.
double yieldTol
Tolerance of the error in the yield criterion.
void computeReducedSKGradientMatrix(FloatMatrix &gradientMatrix, int isurf, GaussPoint *gp, const FloatArray &fullStressVector, const FloatArray &strainSpaceHardeningVariables) const override
computes mixed derivative of load function with respect to stress and hardening variables
int giveSizeOfReducedHardeningVarsVector(GaussPoint *) const override
int giveSizeOfFullHardeningVarsVector() const override
const char * giveInputRecordName() const override
int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep) override
double K
Elastic bulk modulus.
void computeReducedElasticModuli(FloatMatrix &answer, GaussPoint *gp, TimeStep *tStep) const override
void computeKGradientVector(FloatArray &answer, functType ftype, int isurf, GaussPoint *gp, FloatArray &fullStressVector, const FloatArray &strainSpaceHardeningVariables) const override
Computes the derivative of yield/loading function with respect to kappa_1, kappa_2 etc.
bool isCharacteristicMtrxSymmetric(MatResponseMode rMode) const override
double alpha
Friction coefficient.
double a
Parameter for damage computation from cumulative plastic strain.
double tau0
Initial yield stress under pure shear.
bool hasCastingTimeSupport() const override
int newtonIter
Maximum number of iterations in lambda search.
double H
Hardening modulus.
void computeStressGradientVector(FloatArray &answer, functType ftype, int isurf, GaussPoint *gp, const FloatArray &stressVector, const FloatArray &stressSpaceHardeningVars) const override
Computes the stress gradient of yield/loading function (df/d_sigma).
LinearElasticMaterial * linearElasticMaterial
Reference to bulk (undamaged) material.
functType
Type that allows to distinguish between yield function and loading function.
MPlasticMaterial2(int n, Domain *d)
#define _IFT_DruckerPragerCutMat_Name