1 #ifndef __ENTROPY_RRK_ODESOLVER_H_ 2 #define __ENTROPY_RRK_ODESOLVER_H_ 4 #include "dg/dg_base.hpp" 5 #include "rrk_ode_solver_base.h" 16 template <
int dim,
typename real,
typename MeshType = dealii::Triangulation<dim>>
18 template <
int dim,
typename real,
typename MeshType = dealii::parallel::distributed::Triangulation<dim>>
33 const std::vector<dealii::LinearAlgebra::distributed::Vector<double>> &rk_stage,
34 const dealii::LinearAlgebra::distributed::Vector<double> &solution_update
40 const dealii::LinearAlgebra::distributed::Vector<double> &u_n,
41 const dealii::LinearAlgebra::distributed::Vector<double> &d,
48 const dealii::LinearAlgebra::distributed::Vector<double> &u,
53 const dealii::LinearAlgebra::distributed::Vector<double> &u,
59 const std::vector<dealii::LinearAlgebra::distributed::Vector<double>> &rk_stage,
60 const bool use_M_norm_for_entropy_change_est =
true)
const;
real compute_root_function(const double gamma, const dealii::LinearAlgebra::distributed::Vector< double > &u_n, const dealii::LinearAlgebra::distributed::Vector< double > &d, const double eta_n, const double e, std::shared_ptr< DGBase< dim, real, MeshType >> dg) const
Compute the remainder of the root function Ranocha 2020 Eq. 2.4.
RootFindingRRKODESolver(std::shared_ptr< RKTableauBase< dim, real, MeshType >> rk_tableau_input)
Default constructor that will set the constants.
Files for the baseline physics.
real compute_integrated_numerical_entropy(const dealii::LinearAlgebra::distributed::Vector< double > &u, std::shared_ptr< DGBase< dim, real, MeshType >> dg) const
Compute numerical entropy by integrating over quadrature points.
real FR_entropy_cumulative
Storing cumulative entropy change for output.
Base class for storing the RK method.
real compute_entropy_change_estimate(const real dt, std::shared_ptr< DGBase< dim, real, MeshType >> dg, const std::vector< dealii::LinearAlgebra::distributed::Vector< double >> &rk_stage, const bool use_M_norm_for_entropy_change_est=true) const
Compute the estimated entropy change during a timestep.
DGBase is independent of the number of state variables.
Relaxation Runge-Kutta ODE solver base class.
real compute_relaxation_parameter(const real dt, std::shared_ptr< DGBase< dim, real, MeshType >> dg, const std::vector< dealii::LinearAlgebra::distributed::Vector< double >> &rk_stage, const dealii::LinearAlgebra::distributed::Vector< double > &solution_update) override
real compute_numerical_entropy(const dealii::LinearAlgebra::distributed::Vector< double > &u, std::shared_ptr< DGBase< dim, real, MeshType >> dg) const
Compute numerical entropy.