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.");
30 _fe_problem.getNonlinearSystem(0).addVector(
"solution_diff", false,
libMesh::PARALLEL)),
31 _tol(getParam<Real>(
"tol")),
32 _min_t_steps(getParam<
int>(
"min_steps"))
42 _console <<
"Computed convergence criteria: " << delta << std::endl;
46 else if (delta <
_tol)
registerMooseObject("LevelSetApp", LevelSetOlssonTerminator)
void ErrorVector unsigned int
const ConsoleStream _console
virtual NonlinearSystem & getNonlinearSystem(const unsigned int sys_num)
virtual int & timeStep() const
static InputParameters validParams()
Terminates the solve based on the criteria defined in Olsson et.
const int & _min_t_steps
The required minimum number of timesteps.
NumericVector< Number > & _solution_diff
The difference of current and old solutions.
static InputParameters validParams()
const Real & _tol
The steady-state convergence tolerance.
virtual void execute() override
LevelSetOlssonTerminator(const InputParameters ¶meters)
virtual void terminateSolve()
virtual const NumericVector< Number > *const & currentSolution() const override final
NumericVector< Number > & solutionOld()
FEProblemBase & _fe_problem
virtual Real l2_norm() const=0
The following methods are specializations for using the Parallel::packed_range_* routines for a vecto...