[P]arallel [Hi]gh-order [Li]brary for [P]DEs  Latest
Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
time_refinement_study_reference.h
1 #ifndef __TIME_REFINEMENT_STUDY_REFERENCE__
2 #define __TIME_REFINEMENT_STUDY_REFERENCE__
3 
4 #include <deal.II/base/convergence_table.h>
5 
6 #include "dg/dg_base.hpp"
7 #include "tests.h"
8 
9 namespace PHiLiP {
10 namespace Tests {
11 
13 template <int dim, int nstate>
15 {
16 public:
19  const Parameters::AllParameters *const parameters_input,
20  const dealii::ParameterHandler &parameter_handler_input);
21 
23  const dealii::ParameterHandler &parameter_handler;
24 
26  int run_test () const override;
27 protected:
30 
32  const double refine_ratio;
33 
36 
38  Parameters::AllParameters reinit_params_for_reference_solution(int number_of_timesteps, double final_time) const;
39 
40  dealii::LinearAlgebra::distributed::Vector<double> calculate_reference_solution(double final_time) const;
41 
44  std::shared_ptr<DGBase<dim,double>> dg,
45  const Parameters::AllParameters parameters,
46  double final_time_actual,
47  dealii::LinearAlgebra::distributed::Vector<double> reference_solution) const;
48 };
49 
50 } // End of Tests namespace
51 } // End of PHiLiP namespace
52 
53 #endif
double calculate_L2_error_at_final_time_wrt_reference(std::shared_ptr< DGBase< dim, double >> dg, const Parameters::AllParameters parameters, double final_time_actual, dealii::LinearAlgebra::distributed::Vector< double > reference_solution) const
Calculate L2 error at the final time in the passed parameters.
Parameters::AllParameters reinit_params_and_refine_timestep(int refinement) const
Reinitialize parameters while refining the timestep. Necessary because all_parameters is constant...
Files for the baseline physics.
Definition: ADTypes.hpp:10
Parameters::AllParameters reinit_params_for_reference_solution(int number_of_timesteps, double final_time) const
Reinitialize parameters and set initial_timestep according to reference solution and passed final tim...
Main parameter class that contains the various other sub-parameter classes.
const dealii::ParameterHandler & parameter_handler
Parameter handler for storing the .prm file being ran.
TimeRefinementStudyReference(const Parameters::AllParameters *const parameters_input, const dealii::ParameterHandler &parameter_handler_input)
Constructor.
Time refinement study which compares to a reference solution.
DGBase is independent of the number of state variables.
Definition: dg_base.hpp:82
const int n_time_calculations
Number of times to solve for convergence summary.
Base class of all the tests.
Definition: tests.h:17