19 FixedTimeSteppingCodeSnippets,
28 RKDG solver with Rusanov Riemann solver and global fixed time step
30 Likely the simplest version of the RKDG solver with Rusanov. We "inherit"
31 basically all parameters from the superclass. The major difference is the
45 flux=PDETerms.User_Defined_Implementation,
46 eigenvalues=PDETerms.User_Defined_Implementation,
47 ncp=PDETerms.None_Implementation,
48 point_source=PDETerms.None_Implementation,
49 boundary_conditions=PDETerms.User_Defined_Implementation,
50 refinement_criterion=PDETerms.Empty_Implementation,
51 initial_conditions=PDETerms.User_Defined_Implementation,
52 source_term=PDETerms.None_Implementation,
53 pde_terms_without_state=False,
54 plot_grid_properties=False,
58 Construct RKDG solver with fixed time step
60 For Rusanov, we really only need the solution along the face, and so we
61 ar fine with one quantity per PDE to be projected.
64 super(GlobalFixedTimeStep, self).
__init__(
68 FaceProjections.Solution,
74 pde_terms_without_state
89 boundary_conditions=boundary_conditions,
90 refinement_criterion=refinement_criterion,
91 initial_conditions=initial_conditions,
92 additional_action_set_includes=
"",
93 additional_user_includes=
"",
95 eigenvalues=eigenvalues,
97 source_term=source_term,
98 point_source=point_source,
106 boundary_conditions=None,
107 refinement_criterion=None,
108 initial_conditions=None,
112 additional_action_set_includes="",
113 additional_user_includes="",
116 boundary_conditions=boundary_conditions,
117 refinement_criterion=refinement_criterion,
118 initial_conditions=initial_conditions,
119 additional_action_set_includes=
"",
120 additional_user_includes=
"",
123 eigenvalues=eigenvalues,
124 source_term=source_term,
125 point_source=point_source,
144 solver_code_snippets.create_abstract_solver_user_declarations()
155 solver_code_snippets.create_abstract_solver_user_definitions()
176 solver_code_snippets.create_compute_time_step_size()
179 solver_code_snippets.create_compute_new_time_step_size()
183 solver_code_snippets.create_start_time_step_implementation()
186 solver_code_snippets.create_finish_time_step_implementation()
189 solver_code_snippets.create_abstract_solver_constructor_statements()
196 super(GlobalFixedTimeStep, self).user_action_set_includes
198#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 and global fixed time step.
_solver_user_declarations
__init__(self, name, rk_order, polynomials, unknowns, auxiliary_variables, min_cell_h, max_cell_h, time_step_size, 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, pde_terms_without_state=False, plot_grid_properties=False)
Construct RKDG solver with fixed time step.
_volumetric_compute_kernel_call
_compute_new_time_step_size
_normalised_time_step_size
_finish_time_step_implementation
_Riemann_compute_kernel_call
_multiply_with_inverted_mass_matrix_call
_point_sources_implementation
_constructor_implementation
_source_term_implementation
set_implementation(self, flux=None, ncp=None, boundary_conditions=None, refinement_criterion=None, initial_conditions=None, eigenvalues=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...
_start_time_step_implementation
_abstract_solver_user_definitions
_abstract_solver_user_declarations
_add_solver_contributions_call
user_action_set_includes(self)
Add further includes to this property, if your action sets require some additional routines from othe...
_eigenvalues_implementation
_volumetric_compute_kernel_call_stateless