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(GlobalAdaptiveTimeStep, 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,
141 == ReconstructedArrayMemoryLocation.HeapThroughTarchWithoutDelete
143 == ReconstructedArrayMemoryLocation.HeapWithoutDelete
145 == ReconstructedArrayMemoryLocation.ManagedSharedAcceleratorDeviceMemoryThroughTarchWithoutDelete
148 "Memory mode without appropriate delete chosen, i.e. this will lead to a memory leak"
164 solver_code_snippets.create_abstract_solver_user_declarations()
175 solver_code_snippets.create_abstract_solver_user_definitions()
196 solver_code_snippets.create_compute_time_step_size()
199 solver_code_snippets.create_compute_new_time_step_size()
203 solver_code_snippets.create_start_time_step_implementation()
206 solver_code_snippets.create_finish_time_step_implementation()
209 solver_code_snippets.create_abstract_solver_constructor_statements()
213 initial_conditions=initial_conditions,
214 boundary_conditions=boundary_conditions,
215 refinement_criterion=refinement_criterion,
216 memory_location=memory_location,
217 use_split_loop=use_split_loop,
218 additional_action_set_includes=additional_action_set_includes,
219 additional_user_includes=additional_user_includes,