22 "anisotropy_strength", 0.04,
"Strength of the anisotropy (typically < 0.05)");
23 params.
addParam<
unsigned int>(
"mode_number", 6,
"Mode number for anisotropy");
25 "reference_angle", 90,
"Reference angle for defining anisotropy in degrees");
26 params.
addParam<Real>(
"eps_bar", 0.01,
"Average value of the interface parameter epsilon");
33 _delta(getParam<Real>(
"anisotropy_strength")),
34 _j(getParam<unsigned
int>(
"mode_number")),
35 _theta0(getParam<Real>(
"reference_angle")),
36 _eps_bar(getParam<Real>(
"eps_bar")),
37 _eps(declareADProperty<Real>(
"eps")),
38 _deps(declareADProperty<Real>(
"deps")),
39 _op(adCoupledValue(
"op")),
40 _grad_op(adCoupledGradient(
"op"))
44 mooseError(
"ADInterfaceOrientationMaterial requires a two-dimensional mesh.");
50 using std::max, std::min, std::sqrt, std::acos, std::cos, std::sin;
52 const Real
tol = 1e-9;
53 const Real cutoff = 1.0 -
tol;
59 n = max(-cutoff, min(
_grad_op[
_qp](0) / sqrt(nsq), cutoff));
registerMooseObject("PhaseFieldApp", ADInterfaceOrientationMaterial)
DualNumber< Real, DNDerivativeType, true > ADReal
void ErrorVector unsigned int
Material to compute the angular orientation of order parameter interfaces.
ADMaterialProperty< Real > & _eps
virtual void computeQpProperties()
static InputParameters validParams()
const ADVariableGradient & _grad_op
ADInterfaceOrientationMaterial(const InputParameters ¶meters)
ADMaterialProperty< Real > & _deps
static InputParameters validParams()
void mooseError(Args &&... args) const
virtual unsigned int dimension() const