26 RKDG solver with Rusanov Riemann solver employing global adaptive time stepping
28 Please consult GlobalFixedTimeStep for details. This version is very similar
29 with the big difference being that we add the evaluation and global
30 reduction of the maximum eigenvalue and then adopt the time step size
43 flux=PDETerms.User_Defined_Implementation,
44 eigenvalues=PDETerms.User_Defined_Implementation,
45 ncp=PDETerms.None_Implementation,
46 point_source=PDETerms.None_Implementation,
47 boundary_conditions=PDETerms.User_Defined_Implementation,
48 refinement_criterion=PDETerms.Empty_Implementation,
49 initial_conditions=PDETerms.User_Defined_Implementation,
50 source_term=PDETerms.None_Implementation,
51 plot_grid_properties=False,
52 pde_terms_without_state=False,
56 Construct RKDG solver with adaptive global time step
59 super(GlobalAdaptiveTimeStep,self).
__init__(name,
62 FaceProjections.Solution,
68 pde_terms_without_state,
83 refinement_criterion=refinement_criterion,
84 initial_conditions=initial_conditions,
85 additional_action_set_includes=
"",
86 additional_user_includes=
"",
88 eigenvalues=eigenvalues,
90 source_term=source_term,
91 point_source=point_source
99 boundary_conditions=None,
100 refinement_criterion=None,
101 initial_conditions=None,
104 additional_action_set_includes = "",
105 additional_user_includes = ""
108 If you pass in User_Defined, then the generator will create C++ stubs
109 that you have to befill manually. If you pass in None_Implementation, it
110 will create nop, i.e., no implementation or defaults. Any other string
111 is copied 1:1 into the implementation. If you pass in None, then the
112 set value so far won't be overwritten.
114 Please note that not all options are supported by all solvers.
116 This routine should be the very last invoked by the constructor.
118 super(GlobalAdaptiveTimeStep,self).
set_implementation(boundary_conditions=boundary_conditions,
119 refinement_criterion=refinement_criterion,
120 initial_conditions=initial_conditions,
121 additional_action_set_includes=additional_action_set_includes,
122 additional_user_includes=additional_user_includes,
125 eigenvalues=eigenvalues,
126 source_term=source_term,
127 point_source=point_source
150 return super(GlobalAdaptiveTimeStep, self).user_action_set_includes +
"""
151#include "exahype2/dg/rusanov/Rusanov.h"
Code snippet generator for fixed time stepping in the Runge-Kutta schemes.
_abstract_solver_user_definitions
_solver_user_declarations
_add_solver_contributions_call
_Riemann_compute_kernel_call
_start_time_step_implementation
_constructor_implementation
_volumetric_compute_kernel_call
_source_term_implementation
_finish_time_step_implementation
_volumetric_compute_kernel_call_stateless
set_implementation(self, flux=None, ncp=None, eigenvalues=None, boundary_conditions=None, refinement_criterion=None, initial_conditions=None, source_term=None, point_source=None, additional_action_set_includes="", additional_user_includes="")
If you pass in User_Defined, then the generator will create C++ stubs that you have to befill manuall...
_eigenvalues_implementation
_abstract_solver_user_declarations
_multiply_with_inverted_mass_matrix_call
_point_sources_implementation
_compute_new_time_step_size
Probably the simplest solver you could think off.
The linear combination of the Runge-Kutta trials has to be projected onto the faces,...
RKDG solver with Rusanov Riemann solver employing global adaptive time stepping.
_constructor_implementation
_compute_new_time_step_size
set_implementation(self, flux=None, ncp=None, eigenvalues=None, boundary_conditions=None, refinement_criterion=None, initial_conditions=None, source_term=None, point_source=None, additional_action_set_includes="", additional_user_includes="")
If you pass in User_Defined, then the generator will create C++ stubs that you have to befill manuall...
_multiply_with_inverted_mass_matrix_call
_abstract_solver_user_definitions
_Riemann_compute_kernel_call
_abstract_solver_user_declarations
__init__(self, name, rk_order, polynomials, unknowns, auxiliary_variables, min_cell_h, max_cell_h, time_step_relaxation, flux=PDETerms.User_Defined_Implementation, eigenvalues=PDETerms.User_Defined_Implementation, ncp=PDETerms.None_Implementation, point_source=PDETerms.None_Implementation, boundary_conditions=PDETerms.User_Defined_Implementation, refinement_criterion=PDETerms.Empty_Implementation, initial_conditions=PDETerms.User_Defined_Implementation, source_term=PDETerms.None_Implementation, plot_grid_properties=False, pde_terms_without_state=False)
Construct RKDG solver with adaptive global time step.
_solver_user_declarations
_volumetric_compute_kernel_call
_finish_time_step_implementation
user_action_set_includes(self)
Add further includes to this property, if your action sets require some additional routines from othe...
_add_solver_contributions_call
_volumetric_compute_kernel_call_stateless
_start_time_step_implementation