19 params.
addClassDescription(
"Tool for terminating the reinitialization of the level set equation " 20 "based on the criteria defined by Olsson et. al. (2007).");
22 "tol",
"The limit at which the reinitialization problem is considered converged.");
23 params.
addParam<
int>(
"min_steps", 3,
"The minimum number of time steps to consider.");
29 _solution_diff(_fe_problem.getNonlinearSystem(0).addVector(
"solution_diff", false,
PARALLEL)),
30 _tol(getParam<
Real>(
"tol")),
31 _min_t_steps(getParam<
int>(
"min_steps"))
41 _console <<
"Computed convergence criteria: " <<
delta << std::endl;
static InputParameters validParams()
int delta(unsigned int i, unsigned int j)
Delta function, which returns zero if $i j$ and unity if $i=j$.
static InputParameters validParams()
const Real & _tol
The steady-state convergence tolerance.
Terminates the solve based on the criteria defined in Olsson et.
NumericVector< Number > & _solution_diff
The difference of current and old solutions.
virtual Real l2_norm() const =0
virtual void terminateSolve()
virtual void execute() override
const int & _min_t_steps
The required minimum number of timesteps.
virtual int & timeStep() const
LevelSetOlssonTerminator(const InputParameters ¶meters)
const NumericVector< Number > *const & currentSolution() const override
virtual NonlinearSystem & getNonlinearSystem(const unsigned int sys_num)
registerMooseObject("LevelSetApp", LevelSetOlssonTerminator)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
FEProblemBase & _fe_problem
const ConsoleStream _console
NumericVector< Number > & solutionOld()
void ErrorVector unsigned int