[P]arallel [Hi]gh-order [Li]brary for [P]DEs  Latest
Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
multispecies_vortex_advection.h
1 #ifndef __MULTISPECIES_VORTEX_ADVECTION__
2 #define __MULTISPECIES_VORTEX_ADVECTION__
3 
4 #include "tests.h"
5 #include "dg/dg_base.hpp"
6 #include "parameters/all_parameters.h"
7 #include "flow_solver/flow_solver.h"
8 #include "physics/real_gas.h"
9 
10 namespace PHiLiP {
11 namespace Tests {
13 /************************************************************
14 * Cases include: 1D Multispecies Vortex Advection - Low Temp and High Temp
15 *************************************************************/
16 template <int dim, int nspecies, int nstate>
18 {
19 public:
21  explicit MultispeciesVortexAdvection(const Parameters::AllParameters* const parameters_input,
22  const dealii::ParameterHandler& parameter_handler_input);
23 
25  const dealii::ParameterHandler& parameter_handler;
26 
30  int run_test() const override;
31 
33  bool high_temp;
34 private:
36  std::array<std::array<double,3>,nstate+1> calculate_l_n_error(
37  std::shared_ptr<DGBase<dim, nspecies, double>> flow_solver_dg,
38  const int poly_degree,
39  const double final_time,
40  std::shared_ptr<FlowSolver::FlowSolver<dim, nspecies, nstate>> flow_solver) const;
41 
43  double get_time_step(std::shared_ptr<DGBase<dim, nspecies, double>> dg) const;
44 
46  std::shared_ptr < Physics::RealGas<dim, nspecies, nstate, double > > real_gas_physics;
47 };
48 
49 } // End of Tests namespace
50 } // End of PHiLiP namespace
51 #endif
Selects which flow case to simulate.
Definition: flow_solver.h:64
Files for the baseline physics.
Definition: ADTypes.hpp:10
Class used to run tests that verify implementation of multispecies.
double get_time_step(std::shared_ptr< DGBase< dim, nspecies, double >> dg) const
Function to compute the initial adaptive time step.
Main parameter class that contains the various other sub-parameter classes.
MultispeciesVortexAdvection(const Parameters::AllParameters *const parameters_input, const dealii::ParameterHandler &parameter_handler_input)
Constructor.
std::array< std::array< double, 3 >, nstate+1 > calculate_l_n_error(std::shared_ptr< DGBase< dim, nspecies, double >> flow_solver_dg, const int poly_degree, const double final_time, std::shared_ptr< FlowSolver::FlowSolver< dim, nspecies, nstate >> flow_solver) const
Calculate and return the L2 Error.
bool high_temp
Flag to determine which exact solution is used.
const dealii::ParameterHandler & parameter_handler
Parameter handler for storing the .prm file being ran.
DGBase is independent of the number of state variables.
Definition: dg_base.hpp:82
std::shared_ptr< Physics::RealGas< dim, nspecies, nstate, double > > real_gas_physics
Real Gas physics pointer for computing physical quantities.
Base class of all the tests.
Definition: tests.h:17