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

    Controllable:No

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

Required Parameters

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

    Default:False

    C++ Type:bool

    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>

    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>

    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>

    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

    Controllable:No

    Description:Set the enabled status of the MooseObject.

Advanced Parameters