[P]arallel [Hi]gh-order [Li]brary for [P]DEs  Latest
Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
rk_tableau_butcher_base.h
1 #ifndef __RK_TABLEAU_BUTCHER_BASE__
2 #define __RK_TABLEAU_BUTCHER_BASE__
3 
4 #include <deal.II/base/conditional_ostream.h>
5 
6 #include <deal.II/grid/tria.h>
7 #include <deal.II/distributed/shared_tria.h>
8 #include <deal.II/distributed/tria.h>
9 
10 #include "rk_tableau_base.h"
11 
12 namespace PHiLiP {
13 namespace ODE {
14 
16 #if PHILIP_DIM==1
17 template <int dim, typename real, typename MeshType = dealii::Triangulation<dim>>
18 #else
19 template <int dim, typename real, typename MeshType = dealii::parallel::distributed::Triangulation<dim>>
20 #endif
21 class RKTableauButcherBase: public RKTableauBase<dim,real,MeshType>
22 {
23 public:
25  RKTableauButcherBase(const int n_rk_stages, const std::string rk_method_string_input);
26 
28  double get_a(const int i, const int j) const;
29 
31  double get_b(const int i) const;
32 
34  double get_c(const int i) const;
35 
37  void set_tableau() override;
38 
39 protected:
40 
42  dealii::Table<2,double> butcher_tableau_a;
43 
45  dealii::Table<1,double> butcher_tableau_c;
46 
48  dealii::Table<1,double> butcher_tableau_b;
49 
51  virtual void set_a() = 0;
52 
54  virtual void set_b() = 0;
55 
57  virtual void set_c() = 0;
58 
59 
60 };
61 
62 } // ODE namespace
63 } // PHiLiP namespace
64 
65 #endif
void set_tableau() override
Calls setters for butcher tableau.
const int n_rk_stages
Store number of stages.
Files for the baseline physics.
Definition: ADTypes.hpp:10
virtual void set_a()=0
Setter for butcher_tableau_a.
double get_b(const int i) const
Returns Butcher tableau "b" coefficient at position [i].
double get_c(const int i) const
Returns Butcher tableau "c" coefficient at position [i].
dealii::Table< 2, double > butcher_tableau_a
Butcher tableau "a".
double get_a(const int i, const int j) const
Returns Butcher tableau "a" coefficient at position [i][j].
RKTableauButcherBase(const int n_rk_stages, const std::string rk_method_string_input)
Default constructor that will set the constants.
virtual void set_b()=0
Setter for butcher_tableau_b.
Base class for storing the RK method.
Base class for storing the RK method.
virtual void set_c()=0
Setter for butcher_tableau_c.
dealii::Table< 1, double > butcher_tableau_c
Butcher tableau "c".
dealii::Table< 1, double > butcher_tableau_b
Butcher tableau "c".