28 virtual std::string
modelName()
const override;
45 Real ep_plastic_tolerance,
47 Real & returned_intnl,
48 std::vector<Real> & dpm,
50 std::vector<Real> & yf,
51 bool & trial_stress_inadmissible)
const override;
59 const std::vector<Real> & cumulative_pm)
const override;
virtual RankTwoTensor df_dsig(const RankTwoTensor &stress, Real bbb) const override
Function that's used in dyieldFunction_dstress and flowPotential.
Rate-independent non-associative Drucker Prager with hardening/softening.
const bool _use_custom_cto
Whether to use the custom consistent tangent operator calculation.
SolidMechanicsPlasticDruckerPragerHyperbolic(const InputParameters ¶meters)
virtual bool useCustomReturnMap() const override
Returns false. You will want to override this in your derived class if you write a custom returnMap f...
Real yieldFunction(const RankTwoTensor &stress, Real intnl) const override
The following functions are what you should override when building single-plasticity models...
Rate-independent non-associative Drucker Prager with hardening/softening.
const unsigned _max_iters
max iters for custom return map loop
static InputParameters validParams()
virtual bool returnMap(const RankTwoTensor &trial_stress, Real intnl_old, const RankFourTensor &E_ijkl, Real ep_plastic_tolerance, RankTwoTensor &returned_stress, Real &returned_intnl, std::vector< Real > &dpm, RankTwoTensor &delta_dp, std::vector< Real > &yf, bool &trial_stress_inadmissible) const override
Performs a custom return-map.
const Real _smoother2
smoothing parameter for the cone's tip
RankFourTensor dflowPotential_dstress(const RankTwoTensor &stress, Real intnl) const override
The derivative of the flow potential with respect to stress.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual std::string modelName() const override
const bool _use_custom_returnMap
whether to use the custom returnMap function
const InputParameters & parameters() const
virtual bool useCustomCTO() const override
Returns false. You will want to override this in your derived class if you write a custom consistent ...
virtual RankFourTensor consistentTangentOperator(const RankTwoTensor &trial_stress, Real intnl_old, const RankTwoTensor &stress, Real intnl, const RankFourTensor &E_ijkl, const std::vector< Real > &cumulative_pm) const override
Calculates a custom consistent tangent operator.