| [P]arallel [Hi]gh-order [Li]brary for [P]DEs
    Latest
    Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods | 
#include <root_finding_rrk_ode_solver.h>
| Public Member Functions | |
| RootFindingRRKODESolver (std::shared_ptr< RKTableauButcherBase< dim, real, MeshType >> rk_tableau_input) | |
| Default constructor that will set the constants. | |
|  Public Member Functions inherited from PHiLiP::ODE::RRKODESolverBase< dim, real, MeshType > | |
| RRKODESolverBase (std::shared_ptr< RKTableauButcherBase< dim, real, MeshType >> rk_tableau_input) | |
| Constructor. | |
|  Public Member Functions inherited from PHiLiP::ODE::RKNumEntropy< dim, real, MeshType > | |
| RKNumEntropy (std::shared_ptr< RKTableauButcherBase< dim, real, MeshType >> rk_tableau_input) | |
| Default constructor that will set the constants. | |
| 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.  More... | |
|  Public Member Functions inherited from PHiLiP::ODE::EmptyRRKBase< dim, real, MeshType > | |
| EmptyRRKBase (std::shared_ptr< RKTableauButcherBase< dim, real, MeshType >>) | |
| Default constructor that will set the constants. | |
| Protected Member Functions | |
| 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_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. | |
| real | compute_numerical_entropy (const dealii::LinearAlgebra::distributed::Vector< double > &u, std::shared_ptr< DGBase< dim, real, MeshType >> dg) const | 
| Compute numerical entropy. | |
| 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 | 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. | |
|  Protected Member Functions inherited from PHiLiP::ODE::RRKODESolverBase< dim, real, MeshType > | |
| real | update_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 | 
|  Protected Member Functions inherited from PHiLiP::ODE::RKNumEntropy< dim, real, MeshType > | |
| void | store_stage_solutions (const int istage, const dealii::LinearAlgebra::distributed::Vector< double > rk_stage_i) override | 
| Update stored quantities at the current stage.  More... | |
| 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. | |
| Private Attributes | |
| real | FR_entropy_cumulative = 0 | 
| Storing cumulative entropy change for output. | |
| Additional Inherited Members | |
|  Public Attributes inherited from PHiLiP::ODE::RRKODESolverBase< dim, real, MeshType > | |
| real | relaxation_parameter = 1.0 | 
| Relaxation Runge-Kutta parameter gamma^n.  More... | |
|  Protected Attributes inherited from PHiLiP::ODE::RKNumEntropy< dim, real, MeshType > | |
| std::shared_ptr< RKTableauButcherBase< dim, real, MeshType > > | butcher_tableau | 
| Store pointer to RK tableau. | |
| const int | n_rk_stages | 
| Number of RK stages. | |
| const MPI_Comm | mpi_communicator | 
| MPI communicator. | |
| const int | mpi_rank | 
| MPI rank. | |
| dealii::ConditionalOStream | pcout | 
| Parallel std::cout that only outputs on mpi_rank==0. | |
| std::vector< dealii::LinearAlgebra::distributed::Vector< double > > | rk_stage_solution | 
| Storage for the solution at each Runge-Kutta stage.  More... | |
Relaxation Runge-Kutta ODE solver, calculating the relaxation parameter as in Ranocha 2020 see Ranocha, Hendrik, et al. "Relaxation Runge–Kutta methods: Fully discrete explicit entropy-stable schemes for the compressible Euler and Navier–Stokes equations." SIAM Journal on Scientific Computing 42.2 (2020): A612-A638.
Definition at line 20 of file root_finding_rrk_ode_solver.h.
| 
 | overrideprotectedvirtual | 
Compute relaxation parameter numerically (i.e. if energy is NOT the entropy variable) See Ranocha 2020, Eq. 2.4
Implements PHiLiP::ODE::RRKODESolverBase< dim, real, MeshType >.
Definition at line 16 of file root_finding_rrk_ode_solver.cpp.