www.mooseframework.org
LevelSetOlssonReinitialization.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 // MOOSE includes
12 
14 
17  ADKernelGrad,
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."););
23 
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"))
30 {
31 }
32 
33 template <ComputeStage compute_stage>
34 ADRealVectorValue
36 {
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);
41 }
LevelSetOlssonReinitialization.h
LevelSetOlssonReinitialization
Implements the re-initialization equation proposed by Olsson et.
Definition: LevelSetOlssonReinitialization.h:17
defineADValidParams
defineADValidParams(LevelSetOlssonReinitialization, ADKernelGrad, params.addClassDescription("The re-initialization equation defined by Olsson et. al. (2007).");params.addRequiredCoupledVar("phi_0", "The level set variable to be reinitialized as signed distance function.");params.addRequiredParam< PostprocessorName >("epsilon", "The epsilon coefficient to be used in the reinitialization calculation.");)
LevelSetOlssonReinitialization::precomputeQpResidual
virtual ADRealVectorValue precomputeQpResidual() override
Definition: LevelSetOlssonReinitialization.C:35
registerADMooseObject
registerADMooseObject("LevelSetApp", LevelSetOlssonReinitialization)
LevelSetOlssonReinitialization::LevelSetOlssonReinitialization
LevelSetOlssonReinitialization(const InputParameters &parameters)
Definition: LevelSetOlssonReinitialization.C:25