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" 157 #endif // druckerpragercatmat_h InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
virtual int giveSizeOfReducedHardeningVarsVector(GaussPoint *) const
virtual ~DruckerPragerCutMat()
LinearElasticMaterial * linearElasticMaterial
Reference to bulk (undamaged) material.
virtual int giveSizeOfFullHardeningVarsVector()
double tau0
Initial yield stress under pure shear.
LinearElasticMaterial * giveLinearElasticMaterial()
Returns a reference to the basic elastic material.
virtual void computeReducedSKGradientMatrix(FloatMatrix &gradientMatrix, int isurf, GaussPoint *gp, const FloatArray &fullStressVector, const FloatArray &strainSpaceHardeningVariables)
computes mixed derivative of load function with respect to stress and hardening variables ...
virtual void computeStressGradientVector(FloatArray &answer, functType ftype, int isurf, GaussPoint *gp, const FloatArray &stressVector, const FloatArray &stressSpaceHardeningVars)
Computes the stress gradient of yield/loading function (df/d_sigma).
virtual void computeReducedElasticModuli(FloatMatrix &answer, GaussPoint *gp, TimeStep *tStep)
virtual void computeKGradientVector(FloatArray &answer, functType ftype, int isurf, GaussPoint *gp, FloatArray &fullStressVector, const FloatArray &strainSpaceHardeningVariables)
Computes the derivative of yield/loading function with respect to kappa_1, kappa_2 etc...
virtual void computeReducedHardeningVarsSigmaGradient(FloatMatrix &answer, GaussPoint *gp, const IntArray &activeConditionMap, const FloatArray &fullStressVector, const FloatArray &strainSpaceHardeningVars, const FloatArray &dlambda)
computes dk(i)/dsig(j) gradient matrix
MaterialMode
Type representing material mode of integration point.
DruckerPragerCutMat(int n, Domain *d)
virtual void computeReducedSSGradientMatrix(FloatMatrix &gradientMatrix, int isurf, GaussPoint *gp, const FloatArray &fullStressVector, const FloatArray &strainSpaceHardeningVariables)
Computes second derivative of yield/loading function with respect to stress.
Class implementing an array of integers.
MatResponseMode
Describes the character of characteristic material matrix.
functType
Type that allows to distinguish between yield function and loading function.
This class is a abstract base class for all linear elastic material models in a finite element proble...
double a
Parameter for damage computation from cumulative plastic strain.
virtual void computeStrainHardeningVarsIncrement(FloatArray &answer, GaussPoint *gp, const FloatArray &stress, const FloatArray &dlambda, const FloatArray &dplasticStrain, const IntArray &activeConditionMap)
Compute dot(kappa_1), dot(kappa_2) etc.
virtual int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep)
Returns the integration point corresponding value in Reduced form.
virtual int hasHardening()
Functions related to hardening.
double yieldTol
Tolerance of the error in the yield criterion.
double omegaCrit
Maximum damage value.
#define _IFT_DruckerPragerCutMat_Name
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
virtual bool isCharacteristicMtrxSymmetric(MatResponseMode rMode)
Returns true if stiffness matrix of receiver is symmetric Default implementation returns true...
virtual int hasNonLinearBehaviour()
Returns nonzero if receiver is non linear.
Abstract base class representing a material status information.
virtual void computeReducedHardeningVarsLamGradient(FloatMatrix &answer, GaussPoint *gp, int actSurf, const IntArray &activeConditionMap, const FloatArray &fullStressVector, const FloatArray &strainSpaceHardeningVars, const FloatArray &dlambda)
computes dKappa_i/dLambda_j
Class representing vector of real numbers.
Implementation of matrix containing floating point numbers.
double H
Hardening modulus.
IRResultType
Type defining the return values of InputRecord reading operations.
virtual const char * giveClassName() const
virtual const char * giveInputRecordName() const
double alpha
Friction coefficient.
virtual int giveMaxNumberOfActiveYieldConds(GaussPoint *gp)
double alphaPsi
Dilatancy coefficient (allowing non-associated plasticity).
double G
Elastic shear modulus.
virtual int hasMaterialModeCapability(MaterialMode mode)
Tests if material supports material mode.
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual double computeYieldValueAt(GaussPoint *gp, int isurf, const FloatArray &stressVector, const FloatArray &strainSpaceHardeningVariables)
Computes the value of yield function.
int newtonIter
Maximum number of iterations in lambda search.
double sigT
Uniaxial tensile strength for cut-off.
Class representing integration point in finite element program.
virtual MaterialStatus * CreateStatus(GaussPoint *gp) const
Creates new copy of associated status and inserts it into given integration point.
Class representing solution step.
This class represents a base class for non-associated multisurface plasticity.
double K
Elastic bulk modulus.
This class implements an isotropic elasto-plasto-damage material with Drucker-Prager yield condition...