Go to the documentation of this file.
20 params.addClassDescription(
21 "Class for rank two tensor based failure criteria in non-ordinary state-based model");
23 params.addRequiredParam<MaterialPropertyName>(
"rank_two_tensor",
24 "The rank two material tensor name");
25 MooseEnum FailureCriterionTypes(
26 "Axial MaxPrincipal TrescaStrain TrescaStress VonMisesStrain VonMisesStress");
27 params.addRequiredParam<MooseEnum>(
"failure_criterion",
28 FailureCriterionTypes,
29 "Which stress based failure criterion to be used");
35 const InputParameters & parameters)
37 _failure_criterion(getParam<MooseEnum>(
"failure_criterion")),
40 if (hasMaterialProperty<RankTwoTensor>(
"rank_two_tensor"))
41 _tensor = &getMaterialProperty<RankTwoTensor>(
"rank_two_tensor");
43 mooseError(
"Error in RankTwoBasedFailureCriteriaNOSPD! Required rank two tensor is not "
44 "available for current peridynamics model!");
51 RankTwoTensor avg_tensor = 0.5 * ((*_tensor)[0] + (*_tensor)[1]);
58 avg_tensor, *_current_elem->node_ptr(0), *_current_elem->node_ptr(1), dirc);
76 mooseError(
"Unsupported rank two tensor-based failure criterion. Choose from: Axial "
77 "MaxPrincipal TrescaStrain TrescaStress VonMisesStrain VonMisesStress");
virtual Real computeFailureCriterionValue() override
Function to compute the value of a given failure criterion.
InputParameters validParams< RankTwoBasedFailureCriteriaNOSPD >()
registerMooseObject("PeridynamicsApp", RankTwoBasedFailureCriteriaNOSPD)
RankTwoBasedFailureCriteriaNOSPD(const InputParameters ¶meters)
Rank two tensor based failure ctriteria to update the bond status for non-ordinary state-based model.
InputParameters validParams< BondStatusBasePD >()
const MaterialProperty< RankTwoTensor > * _tensor
Material property containing the rank two tensor.
MooseEnum _failure_criterion
MooseEnum used to control which failure criterion to use.
Base AuxKernel class for different failure criteria to update the bond status A bond is broken and th...
const VariableValue & _critical_val
Critical AuxVariable.