Go to the documentation of this file.
34 virtual std::string
modelName()
const override;
37 void bothAB(Real intnl, Real & aaa, Real & bbb)
const;
40 void dbothAB(Real intnl, Real & daaa, Real & dbbb)
const;
58 void onlyB(Real intnl,
int fd, Real & bbb)
const;
66 void donlyB(Real intnl,
int fd, Real & dbbb)
const;
81 Real intnl)
const override;
88 Real intnl)
const override;
91 Real intnl)
const override;
146 void initializeB(Real intnl,
int fd, Real & bbb)
const;
void initializeB(Real intnl, int fd, Real &bbb) const
Returns the Drucker-Prager parameters A nice reference on the different relationships between Drucker...
virtual std::string modelName() const override
const bool _zero_psi_hardening
True if there is no hardening of dilation angle.
void onlyB(Real intnl, int fd, Real &bbb) const
Calculate bbb or bbb_flow.
void donlyB(Real intnl, int fd, Real &dbbb) const
Calculate d(bbb)/d(intnl) or d(bbb_flow)/d(intnl)
Rate-independent non-associative Drucker Prager with hardening/softening.
virtual RankTwoTensor df_dsig(const RankTwoTensor &stress, Real bbb) const
Function that's used in dyieldFunction_dstress and flowPotential.
TensorMechanicsPlasticDruckerPrager(const InputParameters ¶meters)
virtual RankFourTensor dflowPotential_dstress(const RankTwoTensor &stress, Real intnl) const override
The derivative of the flow potential with respect to stress.
virtual RankTwoTensor flowPotential(const RankTwoTensor &stress, Real intnl) const override
The flow potential.
virtual RankTwoTensor dflowPotential_dintnl(const RankTwoTensor &stress, Real intnl) const override
The derivative of the flow potential with respect to the internal parameter.
const bool _zero_phi_hardening
True if there is no hardening of friction angle.
const TensorMechanicsHardeningModel & _mc_phi
Hardening model for tan(phi)
virtual Real yieldFunction(const RankTwoTensor &stress, Real intnl) const override
The following functions are what you should override when building single-plasticity models.
const bool _zero_cohesion_hardening
True if there is no hardening of cohesion.
FrictionDilation
bbb (friction) and bbb_flow (dilation) are computed using the same function, onlyB,...
InputParameters validParams< TensorMechanicsPlasticDruckerPrager >()
virtual Real dyieldFunction_dintnl(const RankTwoTensor &stress, Real intnl) const override
The derivative of yield function with respect to the internal parameter.
const TensorMechanicsHardeningModel & _mc_psi
Hardening model for tan(psi)
virtual RankTwoTensor dyieldFunction_dstress(const RankTwoTensor &stress, Real intnl) const override
The derivative of yield function with respect to stress.
const MooseEnum _mc_interpolation_scheme
The parameters aaa and bbb are chosen to closely match the Mohr-Coulomb yield surface.
Plastic Model base class The virtual functions written below must be over-ridden in derived classes t...
const TensorMechanicsHardeningModel & _mc_cohesion
Hardening model for cohesion.
static InputParameters validParams()
void dbothAB(Real intnl, Real &daaa, Real &dbbb) const
Calculates d(aaa)/d(intnl) and d(bbb)/d(intnl) as a function of the internal parameter intnl.
void initializeAandB(Real intnl, Real &aaa, Real &bbb) const
Returns the Drucker-Prager parameters A nice reference on the different relationships between Drucker...
void bothAB(Real intnl, Real &aaa, Real &bbb) const
Calculates aaa and bbb as a function of the internal parameter intnl.
Hardening Model base class.