1 #ifndef __RK_NUM_ENTROPY_H__ 2 #define __RK_NUM_ENTROPY_H__ 4 #include "dg/dg_base.hpp" 5 #include "ode_solver/runge_kutta_ode_solver.h" 15 template <
int dim,
typename real,
typename MeshType = dealii::Triangulation<dim>>
17 template <
int dim,
typename real,
typename MeshType = dealii::parallel::distributed::Triangulation<dim>>
31 const std::vector<dealii::LinearAlgebra::distributed::Vector<double>> &rk_stage,
32 const bool compute_K_norm)
const override;
50 dealii::ConditionalOStream
pcout;
59 const dealii::LinearAlgebra::distributed::Vector<double> rk_stage_i)
override;
63 const dealii::LinearAlgebra::distributed::Vector<double> &u,
const int n_rk_stages
Number of RK stages.
dealii::LinearAlgebra::distributed::Vector< double > compute_entropy_vars(const dealii::LinearAlgebra::distributed::Vector< double > &u, std::shared_ptr< DGBase< dim, real, MeshType >> dg) const
Return the entropy variables from a solution vector u.
real compute_FR_entropy_contribution(const real dt, std::shared_ptr< DGBase< dim, real, MeshType >> dg, const std::vector< dealii::LinearAlgebra::distributed::Vector< double >> &rk_stage, const bool compute_K_norm) const override
Calculate FR entropy adjustment.
Files for the baseline physics.
void store_stage_solutions(const int istage, const dealii::LinearAlgebra::distributed::Vector< double > rk_stage_i) override
Update stored quantities at the current stage.
const int mpi_rank
MPI rank.
dealii::ConditionalOStream pcout
Parallel std::cout that only outputs on mpi_rank==0.
RKNumEntropy(std::shared_ptr< RKTableauBase< dim, real, MeshType >> rk_tableau_input)
Default constructor that will set the constants.
Base class for storing the RK method.
DGBase is independent of the number of state variables.
std::vector< dealii::LinearAlgebra::distributed::Vector< double > > rk_stage_solution
Storage for the solution at each Runge-Kutta stage.
std::shared_ptr< RKTableauBase< dim, real, MeshType > > butcher_tableau
Store pointer to RK tableau.
const MPI_Comm mpi_communicator
MPI communicator.