26 RKDG solver with global adaptive time step
28 Please consult GlobalAdaptiveTimeStep for more documentation. This version is
29 basically the same with the "only" exception being that we employ enclave
42 flux=PDETerms.User_Defined_Implementation,
43 eigenvalues=PDETerms.User_Defined_Implementation,
44 ncp=PDETerms.None_Implementation,
45 point_source=PDETerms.None_Implementation,
46 boundary_conditions=PDETerms.User_Defined_Implementation,
47 refinement_criterion=PDETerms.Empty_Implementation,
48 initial_conditions=PDETerms.User_Defined_Implementation,
49 source_term=PDETerms.None_Implementation,
50 plot_grid_properties=False,
51 pde_terms_without_state=False,
55 Construct RKDG solver with adaptive global time step and enclave tasking
58 super(GlobalAdaptiveTimeStepWithEnclaveTasking,self).
__init__(name,
61 FaceProjections.Solution,
67 pde_terms_without_state)
85 refinement_criterion=refinement_criterion,
86 initial_conditions=initial_conditions,
87 additional_action_set_includes=
"",
88 additional_user_includes=
"",
90 eigenvalues=eigenvalues,
92 source_term=source_term,
93 point_source=point_source
101 boundary_conditions=None,
102 refinement_criterion=None,
103 initial_conditions=None,
106 additional_action_set_includes = "",
107 additional_user_includes = ""
110 If you pass in User_Defined, then the generator will create C++ stubs
111 that you have to befill manually. If you pass in None_Implementation, it
112 will create nop, i.e., no implementation or defaults. Any other string
113 is copied 1:1 into the implementation. If you pass in None, then the
114 set value so far won't be overwritten.
116 Please note that not all options are supported by all solvers.
118 This routine should be the very last invoked by the constructor.
120 super(GlobalAdaptiveTimeStepWithEnclaveTasking,self).
set_implementation(boundary_conditions=boundary_conditions,
121 refinement_criterion=refinement_criterion,
122 initial_conditions=initial_conditions,
123 additional_action_set_includes=additional_action_set_includes,
124 additional_user_includes=additional_user_includes,
127 eigenvalues=eigenvalues,
128 source_term=source_term,
129 point_source=point_source
152 return super(GlobalAdaptiveTimeStepWithEnclaveTasking, self).user_action_set_includes +
"""
153#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
Two separate sweeps per Runge-Kutta sweep where volumetric operations are outsourced into dedicated t...
_fused_volumetric_compute_kernel_call_stateless_gpu
_fused_volumetric_compute_kernel_call_stateless_cpu
The linear combination of the Runge-Kutta trials has to be projected onto the faces,...
RKDG solver with global adaptive time step.
user_action_set_includes(self)
Add further includes to this property, if your action sets require some additional routines from othe...
_abstract_solver_user_definitions
_start_time_step_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...
_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 and enclave tasking.
_constructor_implementation
_add_solver_contributions_call
_volumetric_compute_kernel_call_stateless
_fused_volumetric_compute_kernel_call_stateless_cpu
_multiply_with_inverted_mass_matrix_call
_volumetric_compute_kernel_call
_fused_volumetric_compute_kernel_call_stateless_gpu
_finish_time_step_implementation
_solver_user_declarations