1 #include "rrk_ode_solver_base.h" 6 template <
int dim,
typename real,
typename MeshType>
14 template <
int dim,
typename real,
typename MeshType>
17 const std::vector<dealii::LinearAlgebra::distributed::Vector<double>> &rk_stage,
18 const dealii::LinearAlgebra::distributed::Vector<double> &solution_update)
21 dg->solution = solution_update;
22 dg->assemble_residual();
28 this->
pcout <<
"RRK failed to find a reasonable relaxation factor. Aborting..." << std::endl;
33 return relaxation_parameter_RRK_solver;
RRKODESolverBase(std::shared_ptr< RKTableauBase< dim, real, MeshType >> rk_tableau_input)
Constructor.
real relaxation_parameter
Relaxation Runge-Kutta parameter gamma^n.
Files for the baseline physics.
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
dealii::ConditionalOStream pcout
Parallel std::cout that only outputs on mpi_rank==0.
Base class for storing the RK method.
DGBase is independent of the number of state variables.
Relaxation Runge-Kutta ODE solver base class.
virtual 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 > &)=0