[P]arallel [Hi]gh-order [Li]brary for [P]DEs  Latest
Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
parameters_ode_solver.h
1 #ifndef __PARAMETERS_ODE_SOLVER_H__
2 #define __PARAMETERS_ODE_SOLVER_H__
3 
4 #include <deal.II/base/parameter_handler.h>
5 #include "parameters/parameters.h"
6 
7 namespace PHiLiP {
8 namespace Parameters {
9 
12 {
13 public:
16  runge_kutta_solver,
24  };
25 
26  OutputEnum ode_output;
28 
29  double atol;
30  double rtol;
31  double beta1;
32  double beta2;
33  double beta3;
40 
41  unsigned int nonlinear_max_iterations;
42  unsigned int print_iteration_modulo;
45 
47 
51 
57 
58  double initial_time;
59  unsigned int initial_iteration;
60 
63 
65  enum RKMethodEnum {
66  rk4_ex,
77  };
78 
81  int rk_order;
82  int num_delta;
84 
87 
90 
93 
94  static void declare_parameters (dealii::ParameterHandler &prm);
95  void parse_parameters (dealii::ParameterHandler &prm);
96 };
97 
98 } // Parameters namespace
99 } // PHiLiP namespace
100 #endif
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&#39;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.
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.
Definition: ADTypes.hpp:10
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.
unsigned int initial_iteration
Initial iteration at which we initialize the ODE solver with.
Explicit RK using the relaxation Runge-Kutta method (Ketcheson, 2019)
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.
Fourth-order, three register low-storage Runge-Kutta method.
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.
double beta1
First value for beta controller;.
unsigned int nonlinear_max_iterations
Maximum number of iterations.
static void declare_parameters(dealii::ParameterHandler &prm)
Declares the possible variables and sets the defaults.