InputParameters validParams<AdaptiveTransient>() { InputParameters params = validParams<Executioner>(); std::vector<Real> sync_times(1); sync_times[0] = -std::numeric_limits<Real>::max(); MooseEnum schemes("implicit-euler, explicit-euler, crank-nicolson, bdf2", "implicit-euler"); params.addParam<Real>("start_time", 0.0, "The start time of the simulation"); params.addParam<Real>("end_time", 1.0e30, "The end time of the simulation"); params.addRequiredParam<Real>("dt", "The timestep size between solves"); params.addParam<Real>("dtmin", 0.0, "The minimum timestep size in an adaptive run"); params.addParam<Real>("dtmax", 1.0e30, "The maximum timestep size in an adaptive run"); params.addParam<Real>("num_steps", std::numeric_limits<Real>::max(), "The number of timesteps in a transient run"); params.addParam<int> ("n_startup_steps", 0, "The number of timesteps during startup"); params.addParam<bool>("trans_ss_check", false, "Whether or not to check for steady state conditions"); params.addParam<Real>("ss_check_tol", 1.0e-08,"Whenever the relative residual changes by less than this the solution will be considered to be at steady state."); params.addParam<Real>("ss_tmin", 0.0, "Minimum number of timesteps to take before checking for steady state conditions."); params.addParam<std::vector<Real> >("sync_times", sync_times, "A list of times that will be solved for provided they are within the simulation time"); params.addParam<std::vector<Real> >("time_t", "The values of t"); params.addParam<std::vector<Real> >("time_dt", "The values of dt"); params.addParam<Real>("growth_factor", 2, "Factor to apply to timestep if easy convergence (if 'optimal_iterations' is specified) or if recovering from failed solve"); params.addParam<Real>("cutback_factor", 0.5, "Factor to apply to timestep if difficult convergence (if 'optimal_iterations' is specified) or if solution failed."); params.addParam<Real>("predictor_scale", "The scale factor for the predictor (can range from 0 to 1)"); params.addParam<int> ("optimal_iterations", "The target number of nonlinear iterations for adaptive timestepping"); params.addParam<int> ("iteration_window", "The size of the nonlinear iteration window for adaptive timestepping (default = 0.2*optimal_iterations)"); params.addParam<int> ("linear_iteration_ratio", "The ratio of linear to nonlinear iterations to determine target linear iterations and window for adaptive timestepping (default = 25)"); params.addParam<std::string> ("timestep_limiting_function", "A function used to control the timestep by limiting the change in the function over a timestep"); params.addParam<Real> ("max_function_change", "The absolute value of the maximum change in timestep_limiting_function over a timestep"); params.addParam<MooseEnum>("scheme", schemes, "Time integration scheme used."); return params; }
InputParameters validParams<Transient>() { InputParameters params = validParams<Executioner>(); std::vector<Real> sync_times(1); sync_times[0] = -std::numeric_limits<Real>::max(); /** * For backwards compatibility we'll allow users to set the TimeIntegration scheme inside of the executioner block * as long as the TimeIntegrator does not have any additional parameters. */ MooseEnum schemes("implicit-euler explicit-euler crank-nicolson bdf2 rk-2 dirk"); params.addParam<Real>("start_time", 0.0, "The start time of the simulation"); params.addParam<Real>("end_time", 1.0e30, "The end time of the simulation"); params.addParam<Real>("dt", 1., "The timestep size between solves"); params.addParam<Real>("dtmin", 2.0e-14, "The minimum timestep size in an adaptive run"); params.addParam<Real>("dtmax", 1.0e30, "The maximum timestep size in an adaptive run"); params.addParam<bool>("reset_dt", false, "Use when restarting a calculation to force a change in dt."); params.addParam<unsigned int>("num_steps", std::numeric_limits<unsigned int>::max(), "The number of timesteps in a transient run"); params.addParam<int> ("n_startup_steps", 0, "The number of timesteps during startup"); params.addParam<bool>("trans_ss_check", false, "Whether or not to check for steady state conditions"); params.addParam<Real>("ss_check_tol", 1.0e-08,"Whenever the relative residual changes by less than this the solution will be considered to be at steady state."); params.addParam<Real>("ss_tmin", 0.0, "Minimum number of timesteps to take before checking for steady state conditions."); params.addParam<std::vector<std::string> >("time_periods", "The names of periods"); params.addParam<std::vector<Real> >("time_period_starts", "The start times of time periods"); params.addParam<std::vector<Real> >("time_period_ends", "The end times of time periods"); params.addParam<bool>("abort_on_solve_fail", false, "abort if solve not converged rather than cut timestep"); params.addParam<MooseEnum>("scheme", schemes, "Time integration scheme used."); params.addParam<Real>("timestep_tolerance", 2.0e-14, "the tolerance setting for final timestep size and sync times"); params.addParam<bool>("use_multiapp_dt", false, "If true then the dt for the simulation will be chosen by the MultiApps. If false (the default) then the minimum over the master dt and the MultiApps is used"); params.addParam<unsigned int>("picard_max_its", 1, "Number of times each timestep will be solved. Mainly used when wanting to do Picard iterations with MultiApps that are set to execute_on timestep_end or timestep_begin"); params.addParam<Real>("picard_rel_tol", 1e-8, "The relative nonlinear residual drop to shoot for during Picard iterations. This check is performed based on the Master app's nonlinear residual."); params.addParam<Real>("picard_abs_tol", 1e-50, "The absolute nonlinear residual to shoot for during Picard iterations. This check is performed based on the Master app's nonlinear residual."); params.addParamNamesToGroup("start_time dtmin dtmax n_startup_steps trans_ss_check ss_check_tol ss_tmin sync_times time_t time_dt growth_factor predictor_scale use_AB2 use_littlef abort_on_solve_fail output_to_file file_name estimate_time_error timestep_tolerance use_multiapp_dt", "Advanced"); params.addParamNamesToGroup("time_periods time_period_starts time_period_ends", "Time Periods"); params.addParamNamesToGroup("picard_max_its picard_rel_tol picard_abs_tol", "Picard"); params.addParam<bool>("verbose", false, "Print detailed diagnostics on timestep calculation"); params.addParam<unsigned int>("max_xfem_update", std::numeric_limits<unsigned int>::max(), "Maximum number of times to update XFEM crack topology in a step due to evolving cracks"); return params; }
InputParameters validParams<PetscTSExecutioner>() { MooseEnum schemes("implicit-euler explicit-euler crank-nicolson bdf2 petsc", "implicit-euler"); InputParameters params = validParams<Executioner>(); std::vector<Real> sync_times(1); sync_times[0] = -1; params.addParam<Real>("start_time", 0.0, "The start time of the simulation"); params.addParam<Real>("end_time", 1.0e30, "The end time of the simulation"); params.addRequiredParam<Real>("dt", "The timestep size between solves"); params.addParam<Real>("dtmin", 0.0, "The minimum timestep size in an adaptive run"); params.addParam<Real>("dtmax", 1.0e30, "The maximum timestep size in an adaptive run"); params.addParam<int>("num_steps", std::numeric_limits<int>::max(), "The number of timesteps in a transient run"); params.addParam<std::vector<std::string> >("time_periods", "The names of periods"); params.addParam<std::vector<Real> >("time_period_starts", "The start times of time periods"); params.addParam<std::vector<Real> >("time_period_ends", "The end times of time periods"); params.addParam<MooseEnum>("scheme", schemes, "Time integration scheme used."); return params; }
InputParameters validParams<Transient>() { InputParameters params = validParams<Executioner>(); std::vector<Real> sync_times(1); sync_times[0] = -std::numeric_limits<Real>::max(); MooseEnum schemes("implicit-euler, explicit-euler, crank-nicolson, bdf2, rk-2", "implicit-euler"); params.addParam<Real>("start_time", 0.0, "The start time of the simulation"); params.addParam<Real>("end_time", 1.0e30, "The end time of the simulation"); params.addParam<Real>("dt", 1., "The timestep size between solves"); params.addParam<Real>("dtmin", 2.0e-14, "The minimum timestep size in an adaptive run"); params.addParam<Real>("dtmax", 1.0e30, "The maximum timestep size in an adaptive run"); params.addParam<bool>("reset_dt", false, "Use when restarting a calculation to force a change in dt."); params.addParam<unsigned int>("num_steps", std::numeric_limits<unsigned int>::max(), "The number of timesteps in a transient run"); params.addParam<int> ("n_startup_steps", 0, "The number of timesteps during startup"); params.addParam<bool>("trans_ss_check", false, "Whether or not to check for steady state conditions"); params.addParam<Real>("ss_check_tol", 1.0e-08,"Whenever the relative residual changes by less than this the solution will be considered to be at steady state."); params.addParam<Real>("ss_tmin", 0.0, "Minimum number of timesteps to take before checking for steady state conditions."); params.addParam<std::vector<Real> >("sync_times", sync_times, "A list of times that will be solved for provided they are within the simulation time"); params.addParam<Real>("predictor_scale", "The scale factor for the predictor (can range from 0 to 1)"); params.addParam<std::vector<std::string> >("time_periods", "The names of periods"); params.addParam<std::vector<Real> >("time_period_starts", "The start times of time periods"); params.addParam<std::vector<Real> >("time_period_ends", "The end times of time periods"); params.addParam<bool>("abort_on_solve_fail", false, "abort if solve not converged rather than cut timestep"); params.addParam<MooseEnum>("scheme", schemes, "Time integration scheme used."); params.addParam<Real>("timestep_tolerance", 2.0e-14, "the tolerance setting for final timestep size and sync times"); params.addParam<bool>("use_multiapp_dt", false, "If true then the dt for the simulation will be chosen by the MultiApps. If false (the default) then the minimum over the master dt and the MultiApps is used"); params.addParamNamesToGroup("start_time dtmin dtmax n_startup_steps trans_ss_check ss_check_tol ss_tmin sync_times time_t time_dt growth_factor predictor_scale use_AB2 use_littlef abort_on_solve_fail output_to_file file_name estimate_time_error timestep_tolerance use_multiapp_dt", "Advanced"); params.addParamNamesToGroup("time_periods time_period_starts time_period_ends", "Time Periods"); params.addParam<bool>("verbose", false, "Print detailed diagnostics on timestep calculation"); return params; }