24 name, patch_size, unknowns, auxiliary_variables, min_volume_h, max_volume_h, normalised_time_step_size,
25 flux=PDETerms.User_Defined_Implementation,
26 ncp=PDETerms.None_Implementation,
27 eigenvalues=PDETerms.User_Defined_Implementation,
28 boundary_conditions=PDETerms.User_Defined_Implementation,
29 refinement_criterion=PDETerms.Empty_Implementation,
30 initial_conditions=PDETerms.User_Defined_Implementation,
31 source_term=PDETerms.None_Implementation,
32 plot_grid_properties=False, pde_terms_without_state=False,
33 overlap=2, kernel_namespace="musclhancock"
38 This is the normalised time step size w.r.t. the coarsest admissible h value. If
39 the code employs AMR on top of it and refines further, it will automatically
40 downscale the time step size accordingly. So hand in a valid time step size w.r.t.
44 super(GlobalFixedTimeStep,self).
__init__(name, patch_size, overlap, unknowns, auxiliary_variables, min_volume_h, max_volume_h, plot_grid_properties, pde_terms_without_state, kernel_namespace=
"musclhancock")
53 self._user_action_set_includes +=
"""
54#include "kernels/musclhancock.h"
59 eigenvalues=eigenvalues,
60 boundary_conditions=boundary_conditions,
61 refinement_criterion=refinement_criterion,
62 initial_conditions=initial_conditions,
63 source_term=source_term )
69 boundary_conditions=None,refinement_criterion=None,initial_conditions=None,source_term=None,
70 memory_location = None,
71 use_split_loop = False,
72 additional_action_set_includes = "",
73 additional_user_includes = ""
76 If you pass in User_Defined, then the generator will create C++ stubs
77 that you have to befill manually. If you pass in None_Implementation, it
78 will create nop, i.e. no implementation or defaults. Any other string
79 is copied 1:1 into the implementation. If you pass in None, then the
80 set value so far won't be overwritten.
82 Please note that not all options are supported by all solvers.
84 This routine should be the very last invoked by the constructor.
91 create_musclhancock_kernel_definitions()
104 compute_max_eigenvalue_of_next_time_step =
False,
105 solver_variant = SolverVariant.WithVirtualFunctions,
106 kernel_variant = KernelVariant.PatchWiseAoS
113 compute_max_eigenvalue_of_next_time_step =
False,
114 solver_variant = SolverVariant.Stateless,
115 kernel_variant = KernelVariant.PatchWiseAoS
135 super(GlobalFixedTimeStep,self).
set_implementation(boundary_conditions, refinement_criterion, initial_conditions, memory_location, use_split_loop, additional_action_set_includes, additional_user_includes)