19 "reference_flow_rate", 0.001,
"Reference flow rate for rate dependent flow");
20 params.
addParam<Real>(
"flow_rate_exponent", 10.0,
"Power law exponent in flow rate equation");
21 params.
addParam<Real>(
"flow_rate_tol", 1e3,
"Tolerance for flow rate");
23 "User object to evaluate power law flow rate and flow direction based on J2");
30 _ref_flow_rate(getParam<Real>(
"reference_flow_rate")),
31 _flow_rate_exponent(getParam<Real>(
"flow_rate_exponent")),
32 _flow_rate_tol(getParam<Real>(
"flow_rate_tol"))
62 val = 1.5 / eqv_stress *
_ce[qp] * pk2_dev *
_ce[qp];
69 const std::string & coupled_var_name,
87 const std::string & coupled_var_name,
103 dseqv_dpk2dev.zero();
104 if (eqv_stress > 0.0)
105 dseqv_dpk2dev = 1.5 / eqv_stress * tau *
_ce[qp];
115 dpk2dev_dpk2(i, j, k, l) = 0.0;
116 if (i == k && j == l)
117 dpk2dev_dpk2(i, j, k, l) = 1.0;
118 dpk2dev_dpk2(i, j, k, l) -= ce_inv(i, j) *
_ce[qp](k, l) / 3.0;
120 val = dflowrate_dseqv * dpk2dev_dpk2.
transposeMajor() * dseqv_dpk2dev;
138 return std::sqrt(1.5 * val);
registerMooseObject("SolidMechanicsApp", HEVPFlowRatePowerLawJ2)
This user object classs Computes flow rate based on power law and Direction based on J2.
Real computeEqvStress(const RankTwoTensor &, const RankTwoTensor &) const
virtual bool computeDerivative(unsigned int, const std::string &, Real &) const
RankTwoTensor computePK2Deviatoric(const RankTwoTensor &, const RankTwoTensor &) const
virtual bool computeTensorDerivative(unsigned int, const std::string &, RankTwoTensor &) const
virtual bool computeDirection(unsigned int, RankTwoTensor &) const
HEVPFlowRatePowerLawJ2(const InputParameters ¶meters)
virtual bool computeValue(unsigned int, Real &) const
static InputParameters validParams()
This user object is a pure virtual base classs Derived classes computes flow rate,...
const MaterialProperty< RankTwoTensor > & _ce
const MaterialProperty< Real > & _strength
const MaterialProperty< RankTwoTensor > & _pk2
std::string _strength_prop_name
static InputParameters validParams()
std::string _pk2_prop_name
void mooseWarning(Args &&... args) const
RankFourTensorTempl< T > transposeMajor() const
T doubleContraction(const RankTwoTensorTempl< T > &a) const
RankTwoTensorTempl< T > inverse() const
RankTwoTensorTempl< T > transpose() const
static constexpr std::size_t dim