[P]arallel [Hi]gh-order [Li]brary for [P]DEs  Latest
Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
bound_preserving_limiter_tests.h
1 #ifndef __BOUND_PRESERVING_LIMITER_TESTS_H__
2 #define __BOUND_PRESERVING_LIMITER_TESTS_H__
3 
4 #include "tests.h"
5 #include "dg/dg_base.hpp"
6 #include "parameters/all_parameters.h"
7 
8 namespace PHiLiP {
9 namespace Tests {
11 /************************************************************
12 * Cases include: Linear Advection (1D & 2D), Burgers'
13 * Equation (1D & 2D) and Low Density Accuracy Test (2D Euler)
14 *************************************************************/
15 template <int dim, int nstate>
17 {
18 public:
20  explicit BoundPreservingLimiterTests(const Parameters::AllParameters* const parameters_input,
21  const dealii::ParameterHandler& parameter_handler_input);
22 
24  const dealii::ParameterHandler& parameter_handler;
25 
29  int run_test() const override;
30 
31 private:
33  int run_full_limiter_test() const;
34 
36  int run_convergence_test() const;
37 
39  double calculate_uexact(const dealii::Point<dim> qpoint,
40  const dealii::Tensor<1, 3, double> adv_speeds,
41  double final_time) const;
42 
44  double calculate_l2error(std::shared_ptr<DGBase<dim, double>> flow_solver_dg, const int poly_degree, const double final_time) const;
45 };
46 
47 } // End of Tests namespace
48 } // End of PHiLiP namespace
49 #endif
double calculate_l2error(std::shared_ptr< DGBase< dim, double >> flow_solver_dg, const int poly_degree, const double final_time) const
Calculate and return the L2 Error.
Class used to run tests that verify implementation of bound preserving limiters.
const dealii::ParameterHandler & parameter_handler
Parameter handler for storing the .prm file being ran.
Files for the baseline physics.
Definition: ADTypes.hpp:10
int run_convergence_test() const
Runs convergence test and prints out results in console.
Main parameter class that contains the various other sub-parameter classes.
BoundPreservingLimiterTests(const Parameters::AllParameters *const parameters_input, const dealii::ParameterHandler &parameter_handler_input)
Constructor.
int run_full_limiter_test() const
Runs full test and outputs VTK files.
double calculate_uexact(const dealii::Point< dim > qpoint, const dealii::Tensor< 1, 3, double > adv_speeds, double final_time) const
Calculate and return the exact value at the point depending on the case being run.
DGBase is independent of the number of state variables.
Definition: dg_base.hpp:82
Base class of all the tests.
Definition: tests.h:17