[P]arallel [Hi]gh-order [Li]brary for [P]DEs  Latest
Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
euler_vortex.h
1 #ifndef __EULER_VORTEX_H__
2 #define __EULER_VORTEX_H__
3 
4 #include "dg/dg_base.hpp"
5 #include "parameters/all_parameters.h"
6 #include "physics/euler.h"
7 #include "tests.h"
8 
9 namespace PHiLiP {
10 namespace Tests {
11 
12 // Masatsuka2018 section 6.3 & section 7.13.3
13 
17 template <int dim, typename real>
18 class EulerVortexFunction : public dealii::Function<dim,real>
19 {
20 public:
22 
28  const dealii::Point<dim> initial_vortex_center,
29  const real vortex_strength,
30  const real vortex_stddev_decay);
31 
34  const dealii::Point<dim> initial_vortex_center;
35  const real vortex_strength;
36  const real vortex_stddev_decay;
37 
39 
43  real value (const dealii::Point<dim> &point, const unsigned int istate = 0) const;
44 
45 private:
47  dealii::Point<dim> advected_location(const dealii::Point<dim> old_location) const;
48 
49 };
50 
52 template <int dim, int nstate>
53 class EulerVortex: public TestsBase
54 {
55 public:
57  EulerVortex () = delete;
59 
61  explicit EulerVortex(const Parameters::AllParameters *const parameters_input);
62 
64 
74  int run_test () const;
75 
76 };
77 
78 
79 } // Tests namespace
80 } // PHiLiP namespace
81 #endif
const Physics::Euler< dim, dim+2, real > euler_physics
Euler physics.
Definition: euler_vortex.h:32
Files for the baseline physics.
Definition: ADTypes.hpp:10
Performs grid convergence for various polynomial degrees.
Definition: euler_vortex.h:53
Main parameter class that contains the various other sub-parameter classes.
const dealii::Point< dim > initial_vortex_center
x_c, y_c
Definition: euler_vortex.h:34
const real vortex_stddev_decay
sigma
Definition: euler_vortex.h:36
const real vortex_characteristic_length
R.
Definition: euler_vortex.h:33
real value(const dealii::Point< dim > &point, const unsigned int istate=0) const
Manufactured solution exact value.
dealii::Point< dim > advected_location(const dealii::Point< dim > old_location) const
Exact solution using the current time provided by the dealii::Function class.
EulerVortexFunction(const Physics::Euler< dim, dim+2, real > euler_physics, const dealii::Point< dim > initial_vortex_center, const real vortex_strength, const real vortex_stddev_decay)
Constructor that initializes base_values, amplitudes, frequencies.
Base class of all the tests.
Definition: tests.h:17