25 initial_conditions=PDETerms.User_Defined_Implementation,
26 boundary_conditions=PDETerms.User_Defined_Implementation,
27 refinement_criterion=PDETerms.Empty_Implementation,
28 flux=PDETerms.None_Implementation,
29 ncp=PDETerms.None_Implementation,
30 eigenvalues=PDETerms.None_Implementation,
31 riemann_solver=PDETerms.User_Defined_Implementation,
32 source_term=PDETerms.None_Implementation,
33 plot_grid_properties=False,
34 pde_terms_without_state=False,
37 super(GlobalAdaptiveTimeStepWithEnclaveTasking, self).
__init__(
46 pde_terms_without_state,
47 kernel_namespace=
"riemann",
60 initial_conditions=initial_conditions,
61 boundary_conditions=boundary_conditions,
62 refinement_criterion=refinement_criterion,
65 eigenvalues=eigenvalues,
66 riemann_solver=riemann_solver,
67 source_term=source_term,
72 initial_conditions=None,
73 boundary_conditions=None,
74 refinement_criterion=None,
82 additional_action_set_includes="",
83 additional_user_includes="",
86 If you pass in User_Defined, then the generator will create C++ stubs
87 that you have to befill manually. If you pass in None_Implementation, it
88 will create nop, i.e., no implementation or defaults. Any other string
89 is copied 1:1 into the implementation. If you pass in None, then the
90 set value so far won't be overwritten.
92 Please note that not all options are supported by all solvers.
94 This routine should be the very last invoked by the constructor.
96 if initial_conditions
is not None:
98 if boundary_conditions
is not None:
100 if refinement_criterion
is not None:
106 if eigenvalues
is not None:
108 if riemann_solver
is not None:
110 if source_term
is not None:
112 if memory_location
is not None:
124 solver_variant=SolverVariant.WithVirtualFunctions,
125 kernel_variant=KernelVariant.PatchWiseAoS,
135 solver_variant=SolverVariant.Stateless,
136 kernel_variant=KernelVariant.PatchWiseAoS,
146 solver_variant=SolverVariant.Stateless,
147 kernel_variant=KernelVariant.PatchWiseAoS,
157 solver_variant=SolverVariant.Accelerator,
158 kernel_variant=KernelVariant.PatchWiseAoS,
163 == ReconstructedArrayMemoryLocation.HeapThroughTarchWithoutDelete
165 == ReconstructedArrayMemoryLocation.HeapWithoutDelete
167 == ReconstructedArrayMemoryLocation.ManagedSharedAcceleratorDeviceMemoryThroughTarchWithoutDelete
170 "Memory mode without appropriate delete chosen, i.e. this will lead to a memory leak"
186 solver_code_snippets.create_abstract_solver_user_declarations()
197 solver_code_snippets.create_abstract_solver_user_definitions()
218 solver_code_snippets.create_compute_time_step_size()
221 solver_code_snippets.create_compute_new_time_step_size()
225 solver_code_snippets.create_start_time_step_implementation()
228 solver_code_snippets.create_finish_time_step_implementation()
231 solver_code_snippets.create_abstract_solver_constructor_statements()
235 initial_conditions=initial_conditions,
236 boundary_conditions=boundary_conditions,
237 refinement_criterion=refinement_criterion,
238 memory_location=memory_location,
239 use_split_loop=use_split_loop,
240 additional_action_set_includes=additional_action_set_includes,
241 additional_user_includes=additional_user_includes,