8from .kernels
import create_compute_Riemann_kernel_for_MusclHancock
9from .kernels
import create_abstract_solver_declarations
10from .kernels
import create_abstract_solver_definitions
11from .kernels
import create_solver_declarations
12from .kernels
import create_solver_definitions
16from .kernels
import SolverVariant
17from .kernels
import RiemannKernelVariant
22 name, patch_size, unknowns, auxiliary_variables, min_volume_h, max_volume_h, time_step_relaxation,
23 flux=PDETerms.User_Defined_Implementation,
25 eigenvalues=PDETerms.User_Defined_Implementation,
26 boundary_conditions=None,refinement_criterion=None,initial_conditions=None,source_term=None,
27 plot_grid_properties=False, overlap=1, kernel_namespace="musclhancock"
29 super(GlobalAdaptiveTimeStep,self).
__init__(name, patch_size, overlap, unknowns, auxiliary_variables, min_volume_h, max_volume_h, plot_grid_properties, kernel_namespace=
"musclhancock")
42 eigenvalues=eigenvalues,
43 boundary_conditions=boundary_conditions,
44 refinement_criterion=refinement_criterion,
45 initial_conditions=initial_conditions,
46 source_term=source_term )
52 boundary_conditions=None,refinement_criterion=None,initial_conditions=None,source_term=None,
53 memory_location = None,
54 use_split_loop = False,
55 additional_action_set_includes = "",
56 additional_user_includes = ""
59 If you pass in User_Defined, then the generator will create C++ stubs
60 that you have to befill manually. If you pass in None_Implementation, it
61 will create nop, i.e. no implementation or defaults. Any other string
62 is copied 1:1 into the implementation. If you pass in None, then the
63 set value so far won't be overwritten.
65 Please note that not all options are supported by all solvers.
67 This routine should be the very last invoked by the constructor.
76 compute_max_eigenvalue_of_next_time_step=
True,
77 solver_variant = SolverVariant.WithVirtualFunctions,
78 riemann_kernel_variant = RiemannKernelVariant.PatchWiseAoSHeap
98 super(GlobalAdaptiveTimeStep,self).
set_implementation(boundary_conditions, refinement_criterion, initial_conditions, memory_location, use_split_loop, additional_action_set_includes, additional_user_includes)
103 return super(GlobalAdaptiveTimeStep, self).user_action_set_includes +
"""
104#include "exahype2/fv/musclhancock/MusclHancock.h"
Code snippet generator for fixed time stepping in the Runge-Kutta schemes.
_abstract_solver_user_declarations
_solver_user_declarations
_source_term_implementation
_compute_new_time_step_size
_start_time_step_implementation
_eigenvalues_implementation
_constructor_implementation
_finish_time_step_implementation
_abstract_solver_user_definitions
Probably the simplest solver you could think off.
set_implementation(self, boundary_conditions, refinement_criterion, initial_conditions, memory_location, use_split_loop, 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...
_source_term_implementation
_eigenvalues_implementation
_start_time_step_implementation
_abstract_solver_user_declarations
_abstract_solver_user_definitions
set_implementation(self, flux=None, ncp=None, eigenvalues=None, boundary_conditions=None, refinement_criterion=None, initial_conditions=None, source_term=None, memory_location=None, use_split_loop=False, 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...
__init__(self, name, patch_size, unknowns, auxiliary_variables, min_volume_h, max_volume_h, time_step_relaxation, flux=PDETerms.User_Defined_Implementation, ncp=None, eigenvalues=PDETerms.User_Defined_Implementation, boundary_conditions=None, refinement_criterion=None, initial_conditions=None, source_term=None, plot_grid_properties=False, overlap=1, kernel_namespace="musclhancock")
Instantiate a generic FV scheme with an overlap of 1.
_compute_new_time_step_size
_solver_user_declarations
_finish_time_step_implementation
user_action_set_includes(self)
Add further includes to this property, if your action sets require some additional routines from othe...
_constructor_implementation