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 all fixed time stepping solvers.
str _start_time_step_implementation
str _abstract_solver_user_declarations
str _solver_user_definitions
str _constructor_implementation
_source_term_implementation
str _add_solver_contributions_call
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
tuple _Riemann_compute_kernel_call
str _solver_user_declarations
_point_sources_implementation
str _multiply_with_inverted_mass_matrix_call
_compute_new_time_step_size
str _abstract_solver_user_definitions
str _compute_time_step_size
str _volumetric_compute_kernel_call
str _finish_time_step_implementation
str _volumetric_compute_kernel_call_stateless
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.
__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.
_normalised_time_step_size
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...
user_action_set_includes(self)
Add further includes to this property, if your action sets require some additional routines from othe...