www.mooseframework.org
Functions
Transient.C File Reference

Go to the source code of this file.

Functions

template<>
InputParameters validParams< Transient > ()
 

Function Documentation

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.

Definition at line 44 of file Transient.C.

45 {
47  std::vector<Real> sync_times(1);
48  sync_times[0] = -std::numeric_limits<Real>::max();
49 
55  MooseEnum schemes(
56  "implicit-euler explicit-euler crank-nicolson bdf2 explicit-midpoint dirk explicit-tvd-rk-2",
57  "implicit-euler");
58 
59  params.addParam<Real>("start_time", 0.0, "The start time of the simulation");
60  params.addParam<Real>("end_time", 1.0e30, "The end time of the simulation");
61  params.addParam<Real>("dt", 1., "The timestep size between solves");
62  params.addParam<Real>("dtmin", 2.0e-14, "The minimum timestep size in an adaptive run");
63  params.addParam<Real>("dtmax", 1.0e30, "The maximum timestep size in an adaptive run");
64  params.addParam<bool>(
65  "reset_dt", false, "Use when restarting a calculation to force a change in dt.");
66  params.addParam<unsigned int>("num_steps",
67  std::numeric_limits<unsigned int>::max(),
68  "The number of timesteps in a transient run");
69  params.addParam<int>("n_startup_steps", 0, "The number of timesteps during startup");
70  params.addParam<bool>(
71  "trans_ss_check", false, "Whether or not to check for steady state conditions");
72  params.addParam<Real>("ss_check_tol",
73  1.0e-08,
74  "Whenever the relative residual changes by less "
75  "than this the solution will be considered to be "
76  "at steady state.");
77  params.addParam<Real>(
78  "ss_tmin",
79  0.0,
80  "Minimum number of timesteps to take before checking for steady state conditions.");
81 
82  params.addParam<std::vector<std::string>>("time_periods", "The names of periods");
83  params.addParam<std::vector<Real>>("time_period_starts", "The start times of time periods");
84  params.addParam<std::vector<Real>>("time_period_ends", "The end times of time periods");
85  params.addParam<bool>(
86  "abort_on_solve_fail", false, "abort if solve not converged rather than cut timestep");
87  params.addParam<MooseEnum>("scheme", schemes, "Time integration scheme used.");
88  params.addParam<Real>("timestep_tolerance",
89  2.0e-14,
90  "the tolerance setting for final timestep size and sync times");
91 
92  params.addParam<bool>("use_multiapp_dt",
93  false,
94  "If true then the dt for the simulation will be "
95  "chosen by the MultiApps. If false (the "
96  "default) then the minimum over the master dt "
97  "and the MultiApps is used");
98 
99  params.addParam<unsigned int>("picard_max_its",
100  1,
101  "Number of times each timestep will be solved. Mainly used when "
102  "wanting to do Picard iterations with MultiApps that are set to "
103  "execute_on timestep_end or timestep_begin");
104  params.addParam<Real>("picard_rel_tol",
105  1e-8,
106  "The relative nonlinear residual drop to shoot for "
107  "during Picard iterations. This check is "
108  "performed based on the Master app's nonlinear "
109  "residual.");
110  params.addParam<Real>("picard_abs_tol",
111  1e-50,
112  "The absolute nonlinear residual to shoot for "
113  "during Picard iterations. This check is "
114  "performed based on the Master app's nonlinear "
115  "residual.");
116 
117  params.addParam<Real>("relaxation_factor",
118  1.0,
119  "Fraction of newly computed value to keep."
120  "Set between 0 and 2.");
121  params.addParam<std::vector<std::string>>("relaxed_variables",
122  std::vector<std::string>(),
123  "List of variables to relax during Picard Iteration");
124 
125  params.addParamNamesToGroup("start_time dtmin dtmax n_startup_steps trans_ss_check ss_check_tol "
126  "ss_tmin abort_on_solve_fail timestep_tolerance use_multiapp_dt",
127  "Advanced");
128 
129  params.addParamNamesToGroup("time_periods time_period_starts time_period_ends", "Time Periods");
130 
131  params.addParamNamesToGroup(
132  "picard_max_its picard_rel_tol picard_abs_tol relaxation_factor relaxed_variables", "Picard");
133 
134  params.addParam<bool>("verbose", false, "Print detailed diagnostics on timestep calculation");
135  params.addParam<unsigned int>(
136  "max_xfem_update",
137  std::numeric_limits<unsigned int>::max(),
138  "Maximum number of times to update XFEM crack topology in a step due to evolving cracks");
139 
140  return params;
141 }
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type It sho...
Definition: MooseEnum.h:37
InputParameters validParams< Executioner >()
Definition: Executioner.C:30
void addParam(const std::string &name, const S &value, const std::string &doc_string)
These methods add an option parameter and a documentation string to the InputParameters object...