18 params.addClassDescription(
"The re-initialization equation defined by Olsson et. al. (2007).");
19 params.addRequiredCoupledVar(
20 "phi_0",
"The level set variable to be reinitialized as signed distance function.");
21 params.addRequiredParam<PostprocessorName>(
22 "epsilon",
"The epsilon coefficient to be used in the reinitialization calculation."););
24 template <ComputeStage compute_stage>
26 const InputParameters & parameters)
27 : ADKernelGrad<compute_stage>(parameters),
28 _grad_levelset_0(adCoupledGradient(
"phi_0")),
29 _epsilon(getPostprocessorValue(
"epsilon"))
33 template <ComputeStage compute_stage>
37 ADReal s = _grad_levelset_0[_qp].norm() + std::numeric_limits<ADReal>::epsilon();
38 ADRealVectorValue n_hat = _grad_levelset_0[_qp] / s;
39 ADRealVectorValue f = _u[_qp] * (1 - _u[_qp]) * n_hat;
40 return (-f + _epsilon * (_grad_u[_qp] * n_hat) * n_hat);