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;
RankTwoTensorTempl< Real > inverse() const
std::string _pk2_prop_name
virtual bool computeTensorDerivative(unsigned int, const std::string &, RankTwoTensor &) const
registerMooseObject("SolidMechanicsApp", HEVPFlowRatePowerLawJ2)
static constexpr std::size_t dim
virtual bool computeDirection(unsigned int, RankTwoTensor &) const
ADRealEigenVector< T, D, asd > sqrt(const ADRealEigenVector< T, D, asd > &)
void mooseWarning(Args &&... args) const
virtual bool computeDerivative(unsigned int, const std::string &, Real &) const
static InputParameters validParams()
This user object is a pure virtual base classs Derived classes computes flow rate, direction and derivatives.
virtual bool computeValue(unsigned int, Real &) const
static InputParameters validParams()
const MaterialProperty< Real > & _strength
Real doubleContraction(const RankTwoTensorTempl< Real > &a) const
RankFourTensorTempl< T > transposeMajor() const
const MaterialProperty< RankTwoTensor > & _pk2
RankTwoTensorTempl< Real > transpose() const
HEVPFlowRatePowerLawJ2(const InputParameters ¶meters)
This user object classs Computes flow rate based on power law and Direction based on J2...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
IntRange< T > make_range(T beg, T end)
Real computeEqvStress(const RankTwoTensor &, const RankTwoTensor &) const
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
RankTwoTensor computePK2Deviatoric(const RankTwoTensor &, const RankTwoTensor &) const
const MaterialProperty< RankTwoTensor > & _ce
std::string _strength_prop_name
MooseUnits pow(const MooseUnits &, int)
static const std::string k