[P]arallel [Hi]gh-order [Li]brary for [P]DEs  Latest
Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
burgers_rewienski.h
1 #ifndef __BURGERS_REWIENSKI__
2 #define __BURGERS_REWIENSKI__
3 
4 #include "burgers.h"
5 
6 namespace PHiLiP {
7 namespace Physics {
9 template <int dim, int nspecies, int nstate, typename real>
10 class BurgersRewienski : public Burgers <dim, nspecies, nstate, real>
11 {
12 protected:
13  // For overloading the virtual functions defined in PhysicsBase
23 public:
26  const Parameters::AllParameters *const parameters_input,
27  const double rewienski_a,
28  const double rewienski_b,
30  const bool convection,
31  const bool diffusion,
32  const dealii::Tensor<2,3,double> input_diffusion_tensor = Parameters::ManufacturedSolutionParam::get_default_diffusion_tensor(),
34 
36  const double rewienski_a;
37 
39  const double rewienski_b;
40 
45 
47  std::array<real,nstate> source_term (
48  const dealii::Point<dim,real> &pos,
49  const std::array<real,nstate> &solution,
50  const real current_time) const override;
51 
54  const int /*boundary_type*/,
55  const dealii::Point<dim, real> &/*pos*/,
56  const dealii::Tensor<1,dim,real> &/*normal*/,
57  const std::array<real,nstate> &/*soln_int*/,
58  const std::array<dealii::Tensor<1,dim,real>,nstate> &/*soln_grad_int*/,
59  std::array<real,nstate> &/*soln_bc*/,
60  std::array<dealii::Tensor<1,dim,real>,nstate> &/*soln_grad_bc*/) const override;
61 
62 };
63 } // Physics namespace
64 } // PHiLiP namespace
65 
66 #endif
Base class from which Advection, Diffusion, ConvectionDiffusion, and Euler is derived.
Definition: physics.h:34
Manufactured solution used for grid studies to check convergence orders.
const double rewienski_a
Parameter a for eq.(18) in Carlberg 2011.
Files for the baseline physics.
Definition: ADTypes.hpp:10
std::array< real, nstate > source_term(const dealii::Point< dim, real > &pos, const std::array< real, nstate > &solution, const real current_time) const override
PDE Source term. If rewienski_manufactured_solution==true then the manufactured solution source term ...
std::shared_ptr< ManufacturedSolutionFunction< dim, nspecies, real > > manufactured_solution_function
Manufactured solution function.
Definition: physics.h:71
Main parameter class that contains the various other sub-parameter classes.
Burgers Rewienski equation. Derived from Burgers, which is derived from PhysicsBase. Based on eq.(18) in Carlberg 2011.
const double rewienski_b
Parameter b for eq.(18) in Carlberg 2011.
static dealii::Tensor< 2, 3, double > get_default_diffusion_tensor()
gets the default diffusion tensor
void boundary_face_values(const int, const dealii::Point< dim, real > &, const dealii::Tensor< 1, dim, real > &, const std::array< real, nstate > &, const std::array< dealii::Tensor< 1, dim, real >, nstate > &, std::array< real, nstate > &, std::array< dealii::Tensor< 1, dim, real >, nstate > &) const override
If diffusion is present, assign Dirichlet boundary condition.
Burger&#39;s equation with nonlinear advective term and linear diffusive term. Derived from PhysicsBase...
Definition: burgers.h:30
BurgersRewienski(const Parameters::AllParameters *const parameters_input, const double rewienski_a, const double rewienski_b, const bool rewienski_manufactured_solution, const bool convection, const bool diffusion, const dealii::Tensor< 2, 3, double > input_diffusion_tensor=Parameters::ManufacturedSolutionParam::get_default_diffusion_tensor(), std::shared_ptr< ManufacturedSolutionFunction< dim, nspecies, real > > manufactured_solution_function=nullptr)
Constructor.