Peano
Loading...
Searching...
No Matches
SBH.Limiter Class Reference

Construct the Finite Volume (limiter) scheme. More...

Inheritance diagram for SBH.Limiter:
Collaboration diagram for SBH.Limiter:

Public Member Functions

 __init__ (self, name, patch_size, bool amend_priorities, KernelParallelisation parallelisation_of_kernels)
 Construct the limiter.
 
 create_action_sets (self)
 Not really a lot of things to do here.
 
- Public Member Functions inherited from CCZ4Solver.CCZ4Solver_FV_GlobalAdaptiveTimeStepWithEnclaveTasking
 add_tracer (self, name, coordinates, project, number_of_entries_between_two_db_flushes, data_delta_between_two_snapsots, time_delta_between_two_snapsots, clear_database_after_flush, tracer_unknowns)
 Add tracer to project.
 
- Public Member Functions inherited from CCZ4Solver.AbstractCCZ4Solver
 enable_second_order (self)
 
 add_all_solver_constants (self)
 Add domain-specific constants.
 
 add_makefile_parameters (self, peano4_project, path_of_ccz4_application)
 Add include path and minimal required cpp files to makefile.
 
- Public Member Functions inherited from exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking
 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 manually.
 
 create_data_structures (self)
 This routine does not really add new data, but it heavily tailors when data are stored, exchanged, ... Each generator has some guard attributes, i.e., some guards, which control when data is stored, sent, received.
 
 user_action_set_includes (self)
 Add further includes to this property, if your action sets require some additional routines from other header files.
 
- Public Member Functions inherited from exahype2.solvers.fv.EnclaveTasking.EnclaveTasking
 add_entries_to_text_replacement_dictionary (self, d)
 d: Dictionary of string to string in/out argument
 
 add_actions_to_create_grid (self, step, evaluate_refinement_criterion)
 The boundary information is set only once.
 
 add_actions_to_init_grid (self, step)
 Add all the action sets to init grid.
 
 add_actions_to_perform_time_step (self, step)
 Add enclave aspect to time stepping.
 
 add_implementation_files_to_project (self, namespace, output, dimensions, subdirectory="")
 The ExaHyPE project will call this operation when it sets up the overall environment.
 
 switch_storage_scheme (self, Storage cell_data_storage, Storage face_data_storage)
 By default, we hold all data on the heap using smart pointers.
 
- Public Member Functions inherited from exahype2.solvers.fv.FV.FV
 __str__ (self)
 
 get_min_number_of_spacetree_levels (self, domain_size)
 
 get_max_number_of_spacetree_levels (self, domain_size)
 
 get_coarsest_number_of_patches (self, domain_size)
 
 get_finest_number_of_patches (self, domain_size)
 
 get_coarsest_number_of_finite_volumes (self, domain_size)
 
 get_finest_number_of_finite_volumes (self, domain_size)
 
 get_coarsest_volume_size (self, domain_size)
 
 get_finest_volume_size (self, domain_size)
 
 create_readme_descriptor (self, domain_offset, domain_size)
 
 user_solver_includes (self)
 Add further includes to this property, if your solver requires some additional routines from other header files.
 
 add_user_action_set_includes (self, value)
 Add further includes to this property, if your action sets require some additional routines from other header files.
 
 add_user_solver_includes (self, value)
 Add further includes to this property, if your solver requires some additional routines from other header files.
 
 get_name_of_global_instance (self)
 
 add_to_Peano4_datamodel (self, datamodel, verbose)
 Add all required data to the Peano project's datamodel so it is properly built up.
 
 add_use_data_statements_to_Peano4_solver_step (self, step)
 Tell Peano what data to move around.
 
 plot_description (self)
 
 plot_description (self, description)
 Add a proper description to the plots.
 
 add_actions_to_plot_solution (self, step, output_path, restart_from_checkpoint=False)
 Add action sets to plot solution step.
 
 add_actions_to_checkpoint_solution (self, step, output_path, restart_from_checkpoint=False)
 Add action sets to plot solution step.
 
 set_solver_constants (self, datastring)
 
 add_solver_constants (self, datastring)
 
 unknowns (self)
 
 patch_size (self)
 
 auxiliary_variables (self)
 
 patch_size (self, value)
 
 unknowns (self, value)
 
 auxiliary_variables (self, value)
 
 preprocess_reconstructed_patch (self)
 
 preprocess_reconstructed_patch (self, kernel)
 Set a new processing kernel.
 
 name (self)
 
 postprocess_updated_patch (self)
 
 postprocess_updated_patch (self, kernel)
 Define a postprocessing routine over the data.
 
 overlap (self)
 
 overlap (self, value)
 
 interpolation (self)
 
 interpolation (self, value)
 
 restriction (self)
 
 restriction (self, value)
 

Data Fields

 enclave_task_priority
 
- Data Fields inherited from CCZ4Solver.AbstractCCZ4Solver
 integer_constants
 
 double_constants
 
 Default_Time_Step_Size_Relaxation
 
- Data Fields inherited from exahype2.solvers.fv.EnclaveTasking.EnclaveTasking
 enclave_task_priority
 
 make_copy_of_enclave_task_data
 
- Data Fields inherited from exahype2.solvers.fv.FV.FV
 select_dofs_to_print
 

Protected Member Functions

 _store_cell_data_default_guard (self)
 Mask out exterior cells.
 
 _load_cell_data_default_guard (self)
 Extend the guard via ands only.
 
 _provide_cell_data_to_compute_kernels_default_guard (self)
 Default logic when to create cell data or not.
 
 _provide_face_data_to_compute_kernels_default_guard (self)
 
 _store_face_data_default_guard (self)
 Extend the guard via ands only.
 
 _load_face_data_default_guard (self)
 Extend the guard via ands only.
 
- Protected Member Functions inherited from CCZ4Solver.AbstractCCZ4Solver
 _add_standard_includes (self)
 Add the headers for the compute kernels and initial condition implementations.
 
- Protected Member Functions inherited from exahype2.solvers.fv.EnclaveTasking.EnclaveTasking
 _create_guards (self)
 All the internal logic depends on guards, i.e., boolean predicates.
 
 _optimise_patch_storage_for_global_time_stepping (self)
 Make storage and loading more restrictive such that enclave data are not held in-between primary and secondary sweep.
 
 _enclave_task_name (self)
 
- Protected Member Functions inherited from exahype2.solvers.fv.FV.FV
 _unknown_identifier (self)
 
 _get_default_includes (self)
 
 _init_dictionary_with_default_parameters (self, d)
 This one is called by all algorithmic steps before I invoke add_entries_to_text_replacement_dictionary().
 

Protected Attributes

 _fused_compute_kernel_call_cpu
 
 _flux_implementation
 
 _ncp_implementation
 
 _source_term_implementation
 
 _name
 
- Protected Attributes inherited from exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking
 _time_step_relaxation
 
 _flux_implementation
 
 _ncp_implementation
 
 _eigenvalues_implementation
 
 _source_term_implementation
 
 _compute_eigenvalue
 
 _compute_kernel_call
 
 _compute_kernel_call_stateless
 
 _fused_compute_kernel_call_stateless_cpu
 
 _fused_compute_kernel_call_stateless_gpu
 
 _abstract_solver_user_declarations
 
 _abstract_solver_user_definitions
 
 _solver_user_declarations
 
 _solver_user_definitions
 
 _compute_time_step_size
 
 _compute_new_time_step_size
 
 _start_time_step_implementation
 
 _finish_time_step_implementation
 
 _constructor_implementation
 
- Protected Attributes inherited from exahype2.solvers.fv.EnclaveTasking.EnclaveTasking
 _name
 
 _fused_compute_kernel_call_stateless_cpu
 
 _fused_compute_kernel_call_stateless_gpu
 
 _solver_template_file_class_name
 
 _initialisation_sweep_guard
 
 _first_iteration_after_initialisation_guard
 
 _primary_sweep_guard
 
 _primary_sweep_or_plot_guard
 
 _primary_or_initialisation_sweep_guard
 
 _primary_or_grid_construction_or_initialisation_sweep_guard
 
 _secondary_sweep_guard
 
 _secondary_sweep_or_grid_construction_guard
 
 _secondary_sweep_or_grid_initialisation_guard
 
 _secondary_sweep_or_grid_initialisation_or_plot_guard
 
 _action_set_update_cell
 
 _action_set_merge_enclave_task_outcome
 
 _boundary_conditions_implementation
 
 _refinement_criterion_implementation
 
 _initial_conditions_implementation
 
 _reconstructed_array_memory_location
 
 _use_split_loop
 
- Protected Attributes inherited from exahype2.solvers.fv.FV.FV
 _name
 
 _min_volume_h
 
 _max_volume_h
 
 _plot_grid_properties
 
 _patch_size
 
 _overlap
 
 _use_var_shortcut
 
 _variable_names
 
 _variable_pos
 
 _unknowns
 
 _auxiliary_variables
 
 _solver_constants
 
 _user_action_set_includes
 
 _user_solver_includes
 
 _reconstructed_array_memory_location
 
 _solver_template_file_class_name
 
 _plot_description
 
 _action_set_initial_conditions
 
 _action_set_initial_conditions_for_grid_construction
 
 _action_set_AMR
 
 _action_set_AMR_throughout_grid_construction
 
 _action_set_AMR_commit_without_further_analysis
 
 _action_set_handle_boundary
 
 _action_set_project_patch_onto_faces
 
 _action_set_roll_over_update_of_faces
 
 _action_set_copy_new_faces_onto_old_faces
 
 _action_set_couple_resolution_transitions_and_handle_dynamic_mesh_refinement
 
 _action_set_postprocess_solution
 
 _action_set_preprocess_solution
 
 _compute_time_step_size
 
 _compute_new_time_step_size
 
 _preprocess_reconstructed_patch
 
 _postprocess_updated_patch
 
 _compute_kernel_call
 
 _compute_kernel_call_stateless
 
 _pde_terms_without_state
 
 _compute_eigenvalue
 
 _abstract_solver_user_declarations
 
 _abstract_solver_user_definitions
 
 _solver_user_declarations
 
 _solver_user_definitions
 
 _start_time_step_implementation
 
 _finish_time_step_implementation
 
 _constructor_implementation
 
 _boundary_conditions_implementation
 
 _refinement_criterion_implementation
 
 _initial_conditions_implementation
 
 _interpolation
 
 _restriction
 
 _kernel_namespace
 
 _baseline_action_set_descend_invocation_order
 
 _cell_data_storage
 
 _face_data_storage
 
 _eigenvalues_implementation
 
 _flux_implementation
 
 _ncp_implementation
 
 _source_term_implementation
 
 _patch
 
 _patch_overlap_old
 
 _patch_overlap_new
 
 _patch_overlap_update
 
 _cell_label
 
 _face_label
 
 _action_set_update_face_label
 
 _action_set_update_cell_label
 
 _action_set_update_cell
 

Additional Inherited Members

- Static Public Attributes inherited from CCZ4Solver.AbstractCCZ4Solver
float Default_Time_Step_Size_Relaxation = 0.1
 
- Static Protected Attributes inherited from CCZ4Solver.AbstractCCZ4Solver
dict _FO_formulation_unknowns
 
dict _SO_formulation_unknowns
 

Detailed Description

Construct the Finite Volume (limiter) scheme.

We assume that the underlying Finite Differences scheme has a patch size of 6x6x6. To make the Finite Volume scheme's time stepping (and accuracy) match this patch size, we have to employ a 16 times finer mesh.

It is interesting to see that the limiter does not really have a min and max mesh size. The point is that the higher order solver dictates the mesh structure, and we then follow this structure with the Finite Volume scheme.

Definition at line 45 of file SBH.py.

Constructor & Destructor Documentation

◆ __init__()

SBH.Limiter.__init__ ( self,
name,
patch_size,
bool amend_priorities,
KernelParallelisation parallelisation_of_kernels )

Construct the limiter.

patch_size: Integer Pass in the patch size of the FD4 scheme or, if you are using RKDG, hand in the number 1. The Finite Volume patch then will be 16 times finer.

Reimplemented from CCZ4Solver.CCZ4Solver_FV_GlobalAdaptiveTimeStepWithEnclaveTasking.

Definition at line 62 of file SBH.py.

References SBH.Limiter.__init__(), exahype2.solvers.fv.FV.FV._user_action_set_includes, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._user_action_set_includes, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._user_action_set_includes, CCZ4Solver.AbstractCCZ4Solver.double_constants, and int.

Referenced by SBH.Limiter.__init__().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ _load_cell_data_default_guard()

SBH.Limiter._load_cell_data_default_guard ( self)
protected

Extend the guard via ands only.

Never use an or, as subclasses might extend it as well, and they will append further ends.

Reimplemented from exahype2.solvers.fv.FV.FV.

Definition at line 145 of file SBH.py.

References SBH.Limiter._load_cell_data_default_guard(), SBH.Limiter._name, dastgen2.attributes.Attribute.Attribute._name, dastgen2.attributes.BooleanArray.BooleanArray._name, dastgen2.attributes.Enumeration.Enumeration._name, exahype2.solvers.aderdg.ADERDG.ADERDG._name, exahype2.solvers.elliptic.AMRMarker.AMRMarker._name, exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells._name, exahype2.solvers.fv.EnclaveTasking.EnclaveTasking._name, exahype2.solvers.fv.FV.FV._name, exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting._name, exahype2.solvers.limiting.StaticLimiting.StaticLimiting._name, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._name, exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps._name, exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._name, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._name, exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep._name, exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps._name, exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._name, peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray._name, peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray._name, solvers.api.Solver.Solver._name, mghype::matrixfree::solvers::Solver._name, api.solvers.Solver.Solver._name, and tarch::services::ServiceRepository::ServiceEntry._name.

Referenced by SBH.Limiter._load_cell_data_default_guard(), exahype2.solvers.fv.FV.FV.add_actions_to_checkpoint_solution(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.add_actions_to_checkpoint_solution(), exahype2.solvers.aderdg.ADERDG.ADERDG.add_actions_to_plot_solution(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.add_actions_to_plot_solution(), exahype2.solvers.fv.FV.FV.add_actions_to_plot_solution(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.add_actions_to_plot_solution(), and exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_data_structures().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _load_face_data_default_guard()

SBH.Limiter._load_face_data_default_guard ( self)
protected

Extend the guard via ands only.

Never use an or, as subclasses might extend it as well, and they will append further ends.

Reimplemented from exahype2.solvers.fv.FV.FV.

Definition at line 174 of file SBH.py.

References SBH.Limiter._load_face_data_default_guard(), SBH.Limiter._name, dastgen2.attributes.Attribute.Attribute._name, dastgen2.attributes.BooleanArray.BooleanArray._name, dastgen2.attributes.Enumeration.Enumeration._name, exahype2.solvers.aderdg.ADERDG.ADERDG._name, exahype2.solvers.elliptic.AMRMarker.AMRMarker._name, exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells._name, exahype2.solvers.fv.EnclaveTasking.EnclaveTasking._name, exahype2.solvers.fv.FV.FV._name, exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting._name, exahype2.solvers.limiting.StaticLimiting.StaticLimiting._name, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._name, exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps._name, exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._name, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._name, exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep._name, exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps._name, exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._name, peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray._name, peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray._name, solvers.api.Solver.Solver._name, mghype::matrixfree::solvers::Solver._name, api.solvers.Solver.Solver._name, and tarch::services::ServiceRepository::ServiceEntry._name.

Referenced by SBH.Limiter._load_face_data_default_guard().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _provide_cell_data_to_compute_kernels_default_guard()

SBH.Limiter._provide_cell_data_to_compute_kernels_default_guard ( self)
protected

Default logic when to create cell data or not.

ExaHyPE allows you to define when you want to load or store data, and you can also define if you need some grid data for your computations. You might have some temporary data per cell which is neither stored nor loaded, but that has to be there while you compute. Or there might be cells which don't need to store a particular piece of data. See peano4::grid::LoadStoreComputeFlag for some details. This predicate here is a default. Particular solvers will take it as a starting point to make more detailed rules: an enclave solver for example might decide to take the information where to store data, but to toggle the storage on and off depending on the solver phase.

Reimplemented from exahype2.solvers.fv.FV.FV.

Definition at line 154 of file SBH.py.

References SBH.Limiter._name, dastgen2.attributes.Attribute.Attribute._name, dastgen2.attributes.BooleanArray.BooleanArray._name, dastgen2.attributes.Enumeration.Enumeration._name, exahype2.solvers.aderdg.ADERDG.ADERDG._name, exahype2.solvers.elliptic.AMRMarker.AMRMarker._name, exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells._name, exahype2.solvers.fv.EnclaveTasking.EnclaveTasking._name, exahype2.solvers.fv.FV.FV._name, exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting._name, exahype2.solvers.limiting.StaticLimiting.StaticLimiting._name, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._name, exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps._name, exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._name, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._name, exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep._name, exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps._name, exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._name, peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray._name, peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray._name, solvers.api.Solver.Solver._name, mghype::matrixfree::solvers::Solver._name, api.solvers.Solver.Solver._name, tarch::services::ServiceRepository::ServiceEntry._name, and SBH.Limiter._provide_cell_data_to_compute_kernels_default_guard().

Referenced by create-dg-benchmark-executable-with-limiter.MyDGSolver.__init__(), SBH.Limiter._provide_cell_data_to_compute_kernels_default_guard(), exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps.create_data_structures(), and exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_data_structures().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _provide_face_data_to_compute_kernels_default_guard()

SBH.Limiter._provide_face_data_to_compute_kernels_default_guard ( self)
protected

Reimplemented from exahype2.solvers.fv.FV.FV.

Definition at line 163 of file SBH.py.

References SBH.Limiter._provide_face_data_to_compute_kernels_default_guard().

Referenced by SBH.Limiter._provide_face_data_to_compute_kernels_default_guard().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _store_cell_data_default_guard()

SBH.Limiter._store_cell_data_default_guard ( self)
protected

Mask out exterior cells.

Reimplemented from exahype2.solvers.fv.FV.FV.

Definition at line 131 of file SBH.py.

References SBH.Limiter._name, dastgen2.attributes.Attribute.Attribute._name, dastgen2.attributes.BooleanArray.BooleanArray._name, dastgen2.attributes.Enumeration.Enumeration._name, exahype2.solvers.aderdg.ADERDG.ADERDG._name, exahype2.solvers.elliptic.AMRMarker.AMRMarker._name, exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells._name, exahype2.solvers.fv.EnclaveTasking.EnclaveTasking._name, exahype2.solvers.fv.FV.FV._name, exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting._name, exahype2.solvers.limiting.StaticLimiting.StaticLimiting._name, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._name, exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps._name, exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._name, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._name, exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep._name, exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps._name, exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._name, peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray._name, peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray._name, solvers.api.Solver.Solver._name, mghype::matrixfree::solvers::Solver._name, api.solvers.Solver.Solver._name, tarch::services::ServiceRepository::ServiceEntry._name, and SBH.Limiter._store_cell_data_default_guard().

Referenced by exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._query_fine_grid_cell_in_action_set_if_it_holds_solution(), SBH.Limiter._store_cell_data_default_guard(), exahype2.solvers.fv.FV.FV.add_actions_to_init_grid(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.add_actions_to_init_grid(), exahype2.solvers.aderdg.SingleSweep.SingleSweep.create_action_sets(), exahype2.solvers.fv.FV.FV.create_action_sets(), exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps.create_action_sets(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.create_action_sets(), and exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_data_structures().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _store_face_data_default_guard()

SBH.Limiter._store_face_data_default_guard ( self)
protected

Extend the guard via ands only.

Never use an or, as subclasses might extend it as well, and they will append further ends.

Reimplemented from exahype2.solvers.fv.FV.FV.

Definition at line 169 of file SBH.py.

References SBH.Limiter._name, dastgen2.attributes.Attribute.Attribute._name, dastgen2.attributes.BooleanArray.BooleanArray._name, dastgen2.attributes.Enumeration.Enumeration._name, exahype2.solvers.aderdg.ADERDG.ADERDG._name, exahype2.solvers.elliptic.AMRMarker.AMRMarker._name, exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells._name, exahype2.solvers.fv.EnclaveTasking.EnclaveTasking._name, exahype2.solvers.fv.FV.FV._name, exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting._name, exahype2.solvers.limiting.StaticLimiting.StaticLimiting._name, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._name, exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps._name, exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._name, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._name, exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep._name, exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps._name, exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._name, peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray._name, peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray._name, solvers.api.Solver.Solver._name, mghype::matrixfree::solvers::Solver._name, api.solvers.Solver.Solver._name, tarch::services::ServiceRepository::ServiceEntry._name, and SBH.Limiter._store_face_data_default_guard().

Referenced by exahype2.solvers.aderdg.ADERDG.ADERDG._store_boundary_data_default_guard(), SBH.Limiter._store_face_data_default_guard(), and exahype2.solvers.fv.FV.FV.create_action_sets().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ create_action_sets()

SBH.Limiter.create_action_sets ( self)

Not really a lot of things to do here.

The only exception that is really important is that we have to ensure that we only solve stuff inside the local domain of the FV. By default, ExaHyPE 2 solves the PDE everywhere. If data is not stored persistently or loaded from the persistent stacks, it still solves, as it then would assume that such data arises from dynamic AMR. In this particular case, we have to really mask out certain subdomains.

It is not just a nice optimisation to do so. It is absolutely key, as the application of the compute kernel on garbage would mean that we end up with invalid eigenvalues.

Reimplemented from exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.

Definition at line 179 of file SBH.py.

References exahype2.solvers.fv.EnclaveTasking.EnclaveTasking._action_set_merge_enclave_task_outcome, exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._action_set_merge_enclave_task_outcome, exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._action_set_merge_enclave_task_outcome, exahype2.solvers.fv.EnclaveTasking.EnclaveTasking._action_set_update_cell, exahype2.solvers.fv.FV.FV._action_set_update_cell, exahype2.solvers.fv.SingleSweep.SingleSweep._action_set_update_cell, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_update_cell, exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep._action_set_update_cell, exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps._action_set_update_cell, exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._action_set_update_cell, SBH.Limiter._name, dastgen2.attributes.Attribute.Attribute._name, dastgen2.attributes.BooleanArray.BooleanArray._name, dastgen2.attributes.Enumeration.Enumeration._name, exahype2.solvers.aderdg.ADERDG.ADERDG._name, exahype2.solvers.elliptic.AMRMarker.AMRMarker._name, exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells._name, exahype2.solvers.fv.EnclaveTasking.EnclaveTasking._name, exahype2.solvers.fv.FV.FV._name, exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting._name, exahype2.solvers.limiting.StaticLimiting.StaticLimiting._name, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._name, exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps._name, exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._name, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._name, exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep._name, exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps._name, exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._name, peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray._name, peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray._name, solvers.api.Solver.Solver._name, mghype::matrixfree::solvers::Solver._name, api.solvers.Solver.Solver._name, tarch::services::ServiceRepository::ServiceEntry._name, and SBH.Limiter.create_action_sets().

Referenced by mgccz4.MGCCZ4Solver.add_derivative_calculation(), exahype2.solvers.aderdg.ADERDG.ADERDG.add_kernel_optimisations(), ccz4.CCZ4Solver.add_Psi4W(), exahype2.solvers.fv.FV.FV.auxiliary_variables(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.auxiliary_variables(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.auxiliary_variables(), exahype2.solvers.elliptic.AMRMarker.AMRMarker.couple_with_FV_solver(), SBH.Limiter.create_action_sets(), exahype2.solvers.fv.FV.FV.interpolation(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.interpolation(), exahype2.solvers.fv.FV.FV.overlap(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.overlap(), exahype2.solvers.fv.FV.FV.patch_size(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.patch_size(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.postprocess_updated_cell(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.postprocess_updated_cell_after_final_linear_combination(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.postprocess_updated_cell_after_Runge_Kutta_step(), exahype2.solvers.aderdg.ADERDG.ADERDG.postprocess_updated_patch(), exahype2.solvers.fv.FV.FV.postprocess_updated_patch(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.postprocess_updated_patch(), exahype2.solvers.aderdg.ADERDG.ADERDG.preprocess_reconstructed_patch(), exahype2.solvers.fv.FV.FV.preprocess_reconstructed_patch(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.preprocess_reconstructed_patch(), exahype2.solvers.fv.FV.FV.restriction(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.restriction(), exahype2.solvers.aderdg.ADERDG.ADERDG.set_implementation(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.set_implementation(), exahype2.solvers.aderdg.ADERDG.ADERDG.switch_storage_scheme(), exahype2.solvers.fv.FV.FV.switch_storage_scheme(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.switch_storage_scheme(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.switch_storage_scheme(), exahype2.solvers.fv.FV.FV.unknowns(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.unknowns(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.unknowns().

Here is the call graph for this function:
Here is the caller graph for this function:

Field Documentation

◆ _flux_implementation

SBH.Limiter._flux_implementation
protected

Definition at line 120 of file SBH.py.

Referenced by ccz4.CCZ4Solver.__init__(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.__str__(), exahype2.solvers.aderdg.ADERDG.ADERDG._init_dictionary_with_default_parameters(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._init_dictionary_with_default_parameters(), exahype2.solvers.aderdg.AbstractSolverDeclarations.AbstractSolverDeclarations.create_abstract_solver_user_declarations(), exahype2.solvers.aderdg.AbstractSolverDefinitions.AbstractSolverDefinitions.create_abstract_solver_user_definitions(), exahype2.solvers.aderdg.SolverDeclarations.SolverDeclarations.create_solver_user_declarations(), exahype2.solvers.aderdg.SolverDefinitions.SolverDefinitions.create_solver_user_definitions(), exahype2.solvers.aderdg.ADERDG.ADERDG.set_implementation(), exahype2.solvers.fv.musclhancock.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.set_implementation(), exahype2.solvers.fv.musclhancock.GlobalFixedTimeStep.GlobalFixedTimeStep.set_implementation(), exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.set_implementation(), exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.fv.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep.set_implementation(), exahype2.solvers.fv.rusanov.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep.set_implementation(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking.set_implementation(), and exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.set_implementation().

◆ _fused_compute_kernel_call_cpu

◆ _name

SBH.Limiter._name
protected

Definition at line 166 of file SBH.py.

Referenced by exahype2.solvers.aderdg.ADERDG.ADERDG.__str__(), exahype2.solvers.elliptic.AMRMarker.AMRMarker.__str__(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.__str__(), exahype2.solvers.fv.FV.FV.__str__(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.__str__(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.__str__(), solvers.api.Solver.Solver.__str__(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking._enclave_task_name(), exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._enclave_task_name(), dastgen2.attributes.Enumeration.Enumeration._enum_name(), exahype2.solvers.aderdg.ADERDG.ADERDG._generate_kernels(), exahype2.solvers.aderdg.ADERDG.ADERDG._init_dictionary_with_default_parameters(), exahype2.solvers.fv.FV.FV._init_dictionary_with_default_parameters(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._init_dictionary_with_default_parameters(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._init_dictionary_with_default_parameters(), exahype2.solvers.aderdg.ADERDG.ADERDG._interpolate_face_data_default_guard(), exahype2.solvers.aderdg.SingleSweep.SingleSweep._interpolate_face_data_default_guard(), SBH.Limiter._load_cell_data_default_guard(), exahype2.solvers.aderdg.ADERDG.ADERDG._load_cell_data_default_guard(), exahype2.solvers.fv.FV.FV._load_cell_data_default_guard(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._load_cell_data_default_guard(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._load_cell_data_default_guard(), SBH.Limiter._load_face_data_default_guard(), exahype2.solvers.aderdg.ADERDG.ADERDG._load_face_data_default_guard(), exahype2.solvers.fv.FV.FV._load_face_data_default_guard(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._load_face_data_default_guard(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._load_face_data_default_guard(), SBH.Limiter._provide_cell_data_to_compute_kernels_default_guard(), exahype2.solvers.aderdg.ADERDG.ADERDG._provide_cell_data_to_compute_kernels_default_guard(), exahype2.solvers.fv.FV.FV._provide_cell_data_to_compute_kernels_default_guard(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._provide_cell_data_to_compute_kernels_default_guard(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._provide_cell_data_to_compute_kernels_default_guard(), exahype2.solvers.aderdg.ADERDG.ADERDG._provide_face_data_to_compute_kernels_default_guard(), exahype2.solvers.fv.FV.FV._provide_face_data_to_compute_kernels_default_guard(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._provide_face_data_to_compute_kernels_default_guard(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._provide_face_data_to_compute_kernels_default_guard(), exahype2.solvers.aderdg.SingleSweep.SingleSweep._restrict_face_data_default_guard(), exahype2.solvers.aderdg.ADERDG.ADERDG._store_boundary_data_default_guard(), SBH.Limiter._store_cell_data_default_guard(), exahype2.solvers.aderdg.ADERDG.ADERDG._store_cell_data_default_guard(), exahype2.solvers.fv.FV.FV._store_cell_data_default_guard(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._store_cell_data_default_guard(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._store_cell_data_default_guard(), SBH.Limiter._store_face_data_default_guard(), exahype2.solvers.aderdg.ADERDG.ADERDG._store_face_data_default_guard(), exahype2.solvers.fv.FV.FV._store_face_data_default_guard(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._store_face_data_default_guard(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._store_face_data_default_guard(), exahype2.solvers.aderdg.ADERDG.ADERDG._unknown_identifier(), exahype2.solvers.elliptic.AMRMarker.AMRMarker._unknown_identifier(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells._unknown_identifier(), exahype2.solvers.fv.FV.FV._unknown_identifier(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._unknown_identifier(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._unknown_identifier(), exahype2.solvers.fv.FV.FV.add_actions_to_checkpoint_solution(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.add_actions_to_checkpoint_solution(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.add_actions_to_create_grid(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.add_actions_to_init_grid(), exahype2.solvers.aderdg.ADERDG.ADERDG.add_actions_to_plot_solution(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.add_actions_to_plot_solution(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.add_actions_to_plot_solution(), exahype2.solvers.fv.FV.FV.add_actions_to_plot_solution(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.add_actions_to_plot_solution(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.add_entries_to_text_replacement_dictionary(), exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_entries_to_text_replacement_dictionary(), exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_entries_to_text_replacement_dictionary(), exahype2.solvers.aderdg.ADERDG.ADERDG.add_implementation_files_to_project(), exahype2.solvers.elliptic.AMRMarker.AMRMarker.add_to_Peano4_datamodel(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.add_to_Peano4_datamodel(), SBH.Limiter.create_action_sets(), exahype2.solvers.aderdg.SingleSweep.SingleSweep.create_action_sets(), exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking.create_action_sets(), exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking.create_action_sets(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep.create_action_sets(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking.create_action_sets(), exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps.create_action_sets(), exahype2.solvers.fv.SingleSweep.SingleSweep.create_data_structures(), exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep.create_data_structures(), exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps.create_data_structures(), exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_data_structures(), dastgen2.attributes.Attribute.Attribute.get_accessor_name(), dastgen2.attributes.BooleanArray.BooleanArray.get_constructor_arguments(), peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray.get_constructor_arguments(), peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray.get_constructor_arguments(), api.solvers.CollocatedLowOrderDiscretisation.AssemblePetscMatrix.get_constructor_body(), dastgen2.attributes.BooleanArray.BooleanArray.get_first_plain_C_attribute(), dastgen2.attributes.DoubleArray.DoubleArray.get_first_plain_C_attribute(), dastgen2.attributes.IntegerArray.IntegerArray.get_first_plain_C_attribute(), peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray.get_first_plain_C_attribute(), peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray.get_first_plain_C_attribute(), dastgen2.attributes.Boolean.Boolean.get_method_body(), dastgen2.attributes.BooleanArray.BooleanArray.get_method_body(), dastgen2.attributes.Double.Double.get_method_body(), dastgen2.attributes.DoubleArray.DoubleArray.get_method_body(), dastgen2.attributes.Enumeration.Enumeration.get_method_body(), dastgen2.attributes.Integer.Integer.get_method_body(), dastgen2.attributes.IntegerArray.IntegerArray.get_method_body(), dastgen2.attributes.String.String.get_method_body(), dastgen2.attributes.UserDefinedType.UserDefinedType.get_method_body(), peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray.get_method_body(), peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray.get_method_body(), dastgen2.attributes.BooleanArray.BooleanArray.get_methods(), dastgen2.attributes.DoubleArray.DoubleArray.get_methods(), dastgen2.attributes.IntegerArray.IntegerArray.get_methods(), peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray.get_methods(), peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray.get_methods(), exahype2.solvers.aderdg.ADERDG.ADERDG.get_name_of_global_instance(), exahype2.solvers.elliptic.AMRMarker.AMRMarker.get_name_of_global_instance(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.get_name_of_global_instance(), exahype2.solvers.fv.FV.FV.get_name_of_global_instance(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.get_name_of_global_instance(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.get_name_of_global_instance(), dastgen2.attributes.Boolean.Boolean.get_plain_C_attributes(), dastgen2.attributes.BooleanArray.BooleanArray.get_plain_C_attributes(), dastgen2.attributes.Double.Double.get_plain_C_attributes(), dastgen2.attributes.DoubleArray.DoubleArray.get_plain_C_attributes(), dastgen2.attributes.Integer.Integer.get_plain_C_attributes(), dastgen2.attributes.IntegerArray.IntegerArray.get_plain_C_attributes(), dastgen2.attributes.String.String.get_plain_C_attributes(), dastgen2.attributes.UserDefinedType.UserDefinedType.get_plain_C_attributes(), peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray.get_plain_C_attributes(), peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray.get_plain_C_attributes(), dastgen2.attributes.String.String.get_setter_getter_name(), dastgen2.attributes.Boolean.Boolean.get_to_string(), dastgen2.attributes.BooleanArray.BooleanArray.get_to_string(), dastgen2.attributes.Double.Double.get_to_string(), dastgen2.attributes.DoubleArray.DoubleArray.get_to_string(), dastgen2.attributes.Enumeration.Enumeration.get_to_string(), dastgen2.attributes.Integer.Integer.get_to_string(), dastgen2.attributes.IntegerArray.IntegerArray.get_to_string(), dastgen2.attributes.UserDefinedType.UserDefinedType.get_to_string(), peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray.get_to_string(), peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray.get_to_string(), dastgen2.attributes.Attribute.Attribute.name(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.name(), exahype2.solvers.fv.FV.FV.name(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.name(), solvers.api.Solver.Solver.name(), api.solvers.Solver.Solver.name(), solvers.api.Solver.Solver.typename(), and api.solvers.Solver.Solver.typename().

◆ _ncp_implementation

SBH.Limiter._ncp_implementation
protected

Definition at line 121 of file SBH.py.

Referenced by ccz4.CCZ4Solver.__init__(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.__str__(), exahype2.solvers.aderdg.ADERDG.ADERDG._init_dictionary_with_default_parameters(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._init_dictionary_with_default_parameters(), exahype2.solvers.aderdg.AbstractSolverDeclarations.AbstractSolverDeclarations.create_abstract_solver_user_declarations(), exahype2.solvers.aderdg.AbstractSolverDefinitions.AbstractSolverDefinitions.create_abstract_solver_user_definitions(), exahype2.solvers.aderdg.SolverDeclarations.SolverDeclarations.create_solver_user_declarations(), exahype2.solvers.aderdg.SolverDefinitions.SolverDefinitions.create_solver_user_definitions(), exahype2.solvers.aderdg.ADERDG.ADERDG.set_implementation(), exahype2.solvers.fv.musclhancock.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.set_implementation(), exahype2.solvers.fv.musclhancock.GlobalFixedTimeStep.GlobalFixedTimeStep.set_implementation(), exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.set_implementation(), exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.fv.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep.set_implementation(), exahype2.solvers.fv.rusanov.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep.set_implementation(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking.set_implementation(), and exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.set_implementation().

◆ _source_term_implementation

SBH.Limiter._source_term_implementation
protected

Definition at line 122 of file SBH.py.

Referenced by ccz4.CCZ4Solver.__init__(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.__str__(), exahype2.solvers.aderdg.ADERDG.ADERDG._init_dictionary_with_default_parameters(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._init_dictionary_with_default_parameters(), exahype2.solvers.aderdg.AbstractSolverDeclarations.AbstractSolverDeclarations.create_abstract_solver_user_declarations(), exahype2.solvers.aderdg.AbstractSolverDefinitions.AbstractSolverDefinitions.create_abstract_solver_user_definitions(), exahype2.solvers.aderdg.SolverDeclarations.SolverDeclarations.create_solver_user_declarations(), exahype2.solvers.aderdg.SolverDefinitions.SolverDefinitions.create_solver_user_definitions(), exahype2.solvers.aderdg.ADERDG.ADERDG.set_implementation(), exahype2.solvers.fv.musclhancock.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.set_implementation(), exahype2.solvers.fv.musclhancock.GlobalFixedTimeStep.GlobalFixedTimeStep.set_implementation(), exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.set_implementation(), exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.fv.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep.set_implementation(), exahype2.solvers.fv.rusanov.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep.set_implementation(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking.set_implementation(), and exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.set_implementation().

◆ enclave_task_priority


The documentation for this class was generated from the following file: