SimplePredictor

Algorithm that will predict the next solution based on previous solutions.

The simple predictor uses the solution from the previous time step to update the solution before a non linear solve. The simple predictor update is:

with the solution vector, which includes all the application's non linear variables, and a scaling factor, specified by the "scale" parameter. That scaling factor is further scaled with the size of the current time step divided by the previous one.

Example input syntax

In this example, a SimplePredictor is specified in the executioner to use the previous time step solution to compute better initial guesses for each non linear solve.

[Executioner]
  type = Transient
  solve_type = 'PJFNK'

  nl_max_its = 15
  nl_rel_tol = 1e-14
  nl_abs_tol = 1e-14

  start_time = 0.0
  dt = 0.5
  end_time = 1.0

  [Predictor]
    type = SimplePredictor
    scale = 1.0
  []
[]
(moose/test/tests/predictors/simple/predictor_test.i)

Input Parameters

  • scaleThe scale factor for the predictor (can range from 0 to 1)

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The scale factor for the predictor (can range from 0 to 1)

Required Parameters

  • nl_sysnl0The nonlinear system that this predictor should be applied to.

    Default:nl0

    C++ Type:NonlinearSystemName

    Unit:(no unit assumed)

    Controllable:No

    Description:The nonlinear system that this predictor should be applied to.

  • skip_after_failed_timestepFalseSkip prediction in a repeated time step after a failed time step

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Skip prediction in a repeated time step after a failed time step

  • skip_timesSkip the predictor if the current solution time is in this list of times

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:Skip the predictor if the current solution time is in this list of times

  • skip_times_oldSkip the predictor if the previous solution time is in this list of times

    C++ Type:std::vector<double>

    Unit:(no unit assumed)

    Controllable:No

    Description:Skip the predictor if the previous solution time is in this list of times

Optional Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Unit:(no unit assumed)

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Set the enabled status of the MooseObject.

Advanced Parameters