34 #include "libmesh/getpot.h"
41 "unsteady-solver/n_timesteps",
42 "SolverOptions/TimeStepping/n_timesteps");
44 unsigned int n_timesteps = 0;
46 if( input.have_variable(
"unsteady-solver/n_timesteps") )
48 n_timesteps = input(
"unsteady-solver/n_timesteps",0);
50 std::string warning =
"WARNING: unsteady-solver/n_timesteps is DEPRECATED!\n";
51 warning +=
" Please use SolverOptions/TimeStepping/n_timesteps to specify # of timesteps.\n";
54 else if( input.have_variable(
"SolverOptions/TimeStepping/n_timesteps") )
55 n_timesteps = input(
"SolverOptions/TimeStepping/n_timesteps",0);
57 libmesh_error_msg(
"ERROR: Could not find valid entry for n_timesteps!");
65 "unsteady-solver/backtrack_deltat",
66 "SolverOptions/TimeStepping/backtrack_deltat");
68 unsigned int backtrack_deltat = 0;
70 if( input.have_variable(
"unsteady-solver/backtrack_deltat") )
72 backtrack_deltat = input(
"unsteady-solver/backtrack_deltat",0);
74 std::string warning =
"WARNING: unsteady-solver/backtrack_deltat is DEPRECATED!\n";
75 warning +=
" Please use SolverOptions/TimeStepping/backtrack_deltat to set backtrack_deltat.\n";
79 backtrack_deltat = input(
"SolverOptions/TimeStepping/backtrack_deltat",0);
81 return backtrack_deltat;
88 if( input.have_variable(
"unsteady-solver/theta") )
90 theta = input(
"unsteady-solver/theta",0.5);
92 std::string warning =
"WARNING: unsteady-solver/theta is DEPRECATED!\n";
93 warning +=
" Please use SolverOptions/TimeStepping/theta to set theta.\n";
97 theta = input(
"SolverOptions/TimeStepping/theta",0.5);
99 if( theta < 0.0 || theta > 1.0 )
101 std::stringstream ts;
103 libmesh_error_msg(
"ERROR: theta must be between 0.0 and 1.0. Found: "+ts.str());
111 double delta_t = 0.0;
113 if( input.have_variable(
"unsteady-solver/deltat") )
115 delta_t = input(
"unsteady-solver/deltat",0.0);
117 std::string warning =
"WARNING: unsteady-solver/deltat is DEPRECATED!\n";
118 warning +=
" Please use SolverOptions/TimeStepping/delta_t to set delta_t.\n";
121 else if( input.have_variable(
"SolverOptions/TimeStepping/delta_t") )
122 delta_t = input(
"SolverOptions/TimeStepping/delta_t",0.0);
124 libmesh_error_msg(
"ERROR: Could not find valid entry for delta_t!");
132 std::string time_stepper = default_stepper;
137 if( input(
"unsteady-solver/transient",
false) )
139 std::string warning =
"WARNING: using unsteady-solver options is DEPRECATED!\n";
140 warning +=
" Please use SolverOptions/TimeStepping/solver_type to set the time\n";
141 warning +=
" stepping algorithm.\n";
145 time_stepper = input(
"SolverOptions/TimeStepping/solver_type", default_stepper);
static unsigned int parse_n_timesteps(const GetPot &input)
#define grins_warning(message)
static unsigned int parse_backtrack_deltat(const GetPot &input)
Parse option to retry failed time steps with smaller .
static std::string parse_time_stepper_name(const GetPot &input)
static double parse_theta(const GetPot &input)
Parse value of for theta method time stepping.
static double parse_deltat(const GetPot &input)
static const std::string libmesh_euler_solver()
static void dup_solver_option_check(const GetPot &input, const std::string &option1, const std::string &option2)