www.mooseframework.org
Public Member Functions | Protected Attributes | List of all members
LevelSetOlssonTerminator Class Reference

Terminates the solve based on the criteria defined in Olsson et. More...

#include <LevelSetOlssonTerminator.h>

Inheritance diagram for LevelSetOlssonTerminator:
[legend]

Public Member Functions

 LevelSetOlssonTerminator (const InputParameters &parameters)
 
virtual void execute () override
 
virtual void initialize () override
 
virtual void finalize () override
 

Protected Attributes

NumericVector< Number > & _solution_diff
 The difference of current and old solutions. More...
 
const Real & _tol
 The steady-state convergence tolerance. More...
 
const int & _min_t_steps
 The required minimum number of timesteps. More...
 

Detailed Description

Terminates the solve based on the criteria defined in Olsson et.

al. (2007).

Definition at line 24 of file LevelSetOlssonTerminator.h.

Constructor & Destructor Documentation

◆ LevelSetOlssonTerminator()

LevelSetOlssonTerminator::LevelSetOlssonTerminator ( const InputParameters &  parameters)

Definition at line 28 of file LevelSetOlssonTerminator.C.

29  : GeneralUserObject(params),
30  _solution_diff(_fe_problem.getNonlinearSystem().addVector("solution_diff", false, PARALLEL)),
31  _tol(getParam<Real>("tol")),
32  _min_t_steps(getParam<int>("min_steps"))
33 {
34 }

Member Function Documentation

◆ execute()

void LevelSetOlssonTerminator::execute ( )
overridevirtual

Definition at line 37 of file LevelSetOlssonTerminator.C.

38 {
39  _solution_diff = *_fe_problem.getNonlinearSystem().currentSolution();
40  _solution_diff -= _fe_problem.getNonlinearSystem().solutionOld();
41  Real delta = _solution_diff.l2_norm() / _dt;
42  _console << "Computed convergence criteria: " << delta << std::endl;
43 
44  if (_fe_problem.timeStep() < _min_t_steps)
45  return;
46  else if (delta < _tol)
47  _fe_problem.terminateSolve();
48 }

◆ finalize()

virtual void LevelSetOlssonTerminator::finalize ( )
inlineoverridevirtual

Definition at line 30 of file LevelSetOlssonTerminator.h.

30 {}

◆ initialize()

virtual void LevelSetOlssonTerminator::initialize ( )
inlineoverridevirtual

Definition at line 29 of file LevelSetOlssonTerminator.h.

29 {}

Member Data Documentation

◆ _min_t_steps

const int& LevelSetOlssonTerminator::_min_t_steps
protected

The required minimum number of timesteps.

Definition at line 40 of file LevelSetOlssonTerminator.h.

Referenced by execute().

◆ _solution_diff

NumericVector<Number>& LevelSetOlssonTerminator::_solution_diff
protected

The difference of current and old solutions.

Definition at line 34 of file LevelSetOlssonTerminator.h.

Referenced by execute().

◆ _tol

const Real& LevelSetOlssonTerminator::_tol
protected

The steady-state convergence tolerance.

Definition at line 37 of file LevelSetOlssonTerminator.h.

Referenced by execute().


The documentation for this class was generated from the following files:
LevelSetOlssonTerminator::_solution_diff
NumericVector< Number > & _solution_diff
The difference of current and old solutions.
Definition: LevelSetOlssonTerminator.h:34
LevelSetOlssonTerminator::_min_t_steps
const int & _min_t_steps
The required minimum number of timesteps.
Definition: LevelSetOlssonTerminator.h:40
LevelSetOlssonTerminator::_tol
const Real & _tol
The steady-state convergence tolerance.
Definition: LevelSetOlssonTerminator.h:37