[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 nstate, typename real>
10 class BurgersRewienski : public Burgers <dim, nstate, real>
11 {
12 protected:
13  // For overloading the virtual functions defined in PhysicsBase
22 public:
25  const Parameters::AllParameters *const parameters_input,
26  const double rewienski_a,
27  const double rewienski_b,
29  const bool convection,
30  const bool diffusion,
31  const dealii::Tensor<2,3,double> input_diffusion_tensor = Parameters::ManufacturedSolutionParam::get_default_diffusion_tensor(),
33 
35  const double rewienski_a;
36 
38  const double rewienski_b;
39 
44 
46  std::array<real,nstate> source_term (
47  const dealii::Point<dim,real> &pos,
48  const std::array<real,nstate> &solution,
49  const real current_time) const override;
50 
53  const int /*boundary_type*/,
54  const dealii::Point<dim, real> &/*pos*/,
55  const dealii::Tensor<1,dim,real> &/*normal*/,
56  const std::array<real,nstate> &/*soln_int*/,
57  const std::array<dealii::Tensor<1,dim,real>,nstate> &/*soln_grad_int*/,
58  std::array<real,nstate> &/*soln_bc*/,
59  std::array<dealii::Tensor<1,dim,real>,nstate> &/*soln_grad_bc*/) const override;
60 
61 };
62 } // Physics namespace
63 } // PHiLiP namespace
64 
65 #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.
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, real > > manufactured_solution_function=nullptr)
Constructor.
Files for the baseline physics.
Definition: ADTypes.hpp:10
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.
static dealii::Tensor< 2, 3, double > get_default_diffusion_tensor()
gets the default diffusion tensor
const double rewienski_b
Parameter b for eq.(18) in Carlberg 2011.
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.
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 ...
Burger&#39;s equation with nonlinear advective term and linear diffusive term. Derived from PhysicsBase...
Definition: burgers.h:30
const double rewienski_a
Parameter a for eq.(18) in Carlberg 2011.
std::shared_ptr< ManufacturedSolutionFunction< dim, real > > manufactured_solution_function
Manufactured solution function.
Definition: physics.h:71