1 #ifndef __PARAMETERS_ODE_SOLVER_H__     2 #define __PARAMETERS_ODE_SOLVER_H__     4 #include <deal.II/base/parameter_handler.h>     5 #include "parameters/parameters.h" bool is_3Sstarplus
True or false depending on what low-storage RK method is used. 
OutputEnum ode_output
verbose or quiet. 
Proper Orthogonal Decomposition with Galerkin projection. 
double initial_time
Initial time at which we initialize the ODE solver with. 
Heun's method (second order explicit trapezoidal; SSP) 
double beta2
Second value for beta controller;. 
int output_solution_every_x_steps
Outputs the solution every x steps to .vtk file. 
Third-order diagonally-implicit RK. 
int num_delta
Number of delta values in low-storage RK methods. 
bool output_solution_at_fixed_times
Flag for outputting solution at fixed times. 
double time_step_factor_residual_exp
Scales initial time step by pow(time_step_factor_residual*(-log10(residual_norm_decrease)),time_step_factor_residual_exp) 
Proper Orthogonal Decomposition with Petrov-Galerkin projection (LSPG) and ECSW Hyper-reduction. 
Files for the baseline physics. 
RKMethodEnum
Types of RK method (i.e., unique Butcher tableau) 
OutputEnum rrk_root_solver_output
Do output for root solving routine. 
unsigned int print_iteration_modulo
If ode_output==verbose, print every print_iteration_modulo iterations. 
bool output_ode_solver_steady_state_convergence_table
unsigned int initial_iteration
Initial iteration at which we initialize the ODE solver with. 
double atol
Absolute tolerance. 
Explicit RK using the relaxation Runge-Kutta method (Ketcheson, 2019) 
ODESolverEnum
Types of ODE solver. 
Third-order strong-stability preserving. 
double output_solution_every_dt_time_intervals
Outputs the solution every dt time intervals to .vtk file. 
bool allocate_matrix_dRdW
Flag to signal that automatic differentiation (AD) matrix dRdW must be allocated. ...
int rk_order
Order of the RK method; assigned based on runge_kutta_method. 
std::string output_solution_fixed_times_string
String of fixed solution output times. 
double initial_time_step
Time step used in ODE solver. 
Proper Orthogonal Decomposition with Petrov-Galerkin projection (LSPG) 
double nonlinear_steady_residual_tolerance
Tolerance to determine steady-state convergence. 
Fourth-order, FSAL, three register low-storage Runge-Kutta method with a fourth register for an error...
Second-order diagonally-implicit RK. 
double rtol
Relative tolerance. 
Fourth-order, three register low-storage Runge-Kutta method. 
double initial_desired_time_for_output_solution_every_dt_time_intervals
std::string steady_state_final_solution_filename
Filename to write final steady state solution. 
Third-order, FSAL, three register low-storage Runge-Kutta method with a fourth register for an error ...
unsigned int number_of_fixed_times_to_output_solution
Number of fixed times to output the solution. 
bool output_final_steady_state_solution_to_file
Output final steady state solution to file. 
RKMethodEnum runge_kutta_method
Runge-kutta method. 
double time_step_factor_residual
Multiplies initial time-step by time_step_factor_residual*(-log10(residual_norm_decrease)) ...
void parse_parameters(dealii::ParameterHandler &prm)
Parses input file and sets the variables. 
bool output_solution_at_exact_fixed_times
Flag for outputting the solution at exact fixed times by decreasing the time step on the fly...
ODESolverEnum ode_solver_type
ODE solver type. 
Runge-Kutta (RK), explicit or diagonally implicit. 
Parameters related to the ODE solver. 
double relaxation_runge_kutta_root_tolerance
Tolerance for RRK root solver, default value 5E-10. 
double beta3
Third value for beta controller;. 
int n_rk_stages
Number of stages for an RK method; assigned based on runge_kutta_method. 
bool use_relaxation_runge_kutta
Use relaxation runge-kutta. 
double beta1
First value for beta controller;. 
Classical fourth-order RK. 
unsigned int nonlinear_max_iterations
Maximum number of iterations. 
static void declare_parameters(dealii::ParameterHandler &prm)
Declares the possible variables and sets the defaults.