Peano
Loading...
Searching...
No Matches
exahype2.solvers.fv.FV.FV Class Reference

Abstract finite volume solver step sizes that works on patch-based AMR with a halo layer of one. More...

Inheritance diagram for exahype2.solvers.fv.FV.FV:
Collaboration diagram for exahype2.solvers.fv.FV.FV:

Public Member Functions

 __init__ (self, name, patch_size, overlap, unknowns, auxiliary_variables, min_volume_h, max_volume_h, plot_grid_properties, bool pde_terms_without_state, kernel_namespace, baseline_action_set_descend_invocation_order=0)
 Create solver.
 
 __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_action_set_includes (self)
 Add further includes to this property, if your action sets require some additional routines from other header files.
 
 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.
 
 create_data_structures (self)
 Create data structures required by all Finite Volume solvers.
 
 create_action_sets (self)
 Create all the action sets.
 
 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.
 
 add_actions_to_init_grid (self, step)
 Add all the action sets to init grid.
 
 add_actions_to_create_grid (self, step, evaluate_refinement_criterion)
 The boundary information is set only once.
 
 plot_description (self)
 
 plot_description (self, description)
 Add a proper description to the plots.
 
 add_actions_to_plot_solution (self, step, output_path)
 Add action sets to plot solution step.
 
 add_actions_to_perform_time_step (self, step)
 Add action sets to time step.
 
 add_entries_to_text_replacement_dictionary (self, d)
 
 add_implementation_files_to_project (self, namespace, output, dimensions, subdirectory="", abstract_overwrite=True)
 The ExaHyPE project will call this operation when it sets up the overall environment.
 
 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)
 
 switch_storage_scheme (self, Storage cell_data_storage, Storage face_data_storage)
 By default, we hold all data on the heap using smart pointers.
 

Data Fields

 select_dofs_to_print
 

Protected Member Functions

 _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_cell_data_default_guard (self)
 Extend the guard via ands only.
 
 _load_cell_data_default_guard (self)
 Extend the guard via ands only.
 
 _store_face_data_default_guard (self)
 Extend the guard via ands only.
 
 _load_face_data_default_guard (self)
 Extend the guard via ands only.
 
 _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

 _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
 

Static Private Attributes

 __repr__ = __str__
 

Detailed Description

Abstract finite volume solver step sizes that works on patch-based AMR with a halo layer of one.

FV is the base class of all FV solvers. It defines what kind of action sets do exist, i.e., what in principle can be done while we run through the grid. It also provides some kind of very basic infrastructure, i.e., what the name of a solver is, what data is to be held per face or cell, or where in the multiscale mesh we actually have to hold data.

The FV class cannot/should not be instantiated. There are two direct children: SingleSweep and EnclaveTasking. The FV base class defines what data are available. The two subclasses define how we run through the mesh: once per time step or twice per time step with some tasking. So FV defines what can be done, the subclasses define how the steps are orchestrated. Again, they do not (yet) say what is computed. That's then the responsibility of classes that inherit from SingleSweep or EnclaveTasking, respectively.

A finite volume solver in ExaHyPE 2 (actually any solver) is first of all a static collection of data logically tied to grid entities and some operations over the mesh that are just there. All data and action sets however have guards, i.e., boolean guards that define

  • are data to be stored in-between traversals,
  • are action sets really invoked in a particular traversal or can they be skipped.

In the baseline FV class, these guards are usually set to default values. That is, all action sets per time step are invoked always (the guard is true) and all data are always stored on the finest mesh. If you want to alter this behaviour, i.e., store data not always or skip steps, you can overwrite the corresponding attributes of the attributes, i.e., the guards of the associated data.

See the discussion on "Control flow between this class and subclasses" below.

Parallelisation

I do equip both Q and NewQ with proper merge routines. However, all merge guards set to "never" by default. If you need some data exchange, you have to activate them manually.

Control flow between this class and subclasses

There are three key routines: the constructor, create_data_structures() and create_action_sets(). The constructor sets some global variables (such as the name) and then invokes the other two routines.

create_data_structures() establishes all the data structures tied to the grid entities. It also sets some properties of these data such as the patch size, e.g. If you want to add additional data (such as additional quantities per cell) or if you want to alter the configuration of data tied to grid entities, you should redefine create_data_structures(). However, any subclass still should call FV's create_data_structures() - or the create_data_structures() of the SingleSweep or EnclaveTasking, respectively. This will ensure that the baseline configuration of all data is in place. After that, you can modify the properties.

create_action_sets() establishes the action sets, i.e. activities that are to be triggered whenever you run a time step, you plot, you initialise the grid.

Both create_data_structures() and create_action_sets() add attributes to the FV class. See self._patch for example within create_action_sets(). These attributes have guards such as self._action_set_initial_conditions.guard. These guards are set to defaults in FV. It is basically the job of SingleSweep or EnclaveTasking - they determine when which data are used - to reset these guards from a default to something tailored to the particular data flow.

If you want to redefine when data is stored or operations are invoked, overwrite create_data_structures(), and call the superclass, i.e. either SingleSweep or EnclaveTasking. This is what happens:

  • SingleSweep or EnclaveTasking pass on the call to FV.create_data_structures(). This call ensures that all the data structures are in place. Then it returns.
  • SingleSweep's or EnclaveTasking's create_data_structures() then sets the guard, i.e. they configure when data is stored or used.
  • Finally, your own overwrite of create_data_structures() can augment the data structures (which are now in place and called at the right time) with information what it actually shall do.

Adaptive mesh refinement (AMR)

We use by default a linear interpolation and averaging. For the linear interpolation, I do not compute the operators on demand. Instead, I use the optimised scheme which computes the operators once and then reuses them as static operation.

If you wanna alter the inter-resolution transfer operators, please use

    self._interpolation = "tensor_product< " + self._name + ">"
    self.add_solver_constants( "" "static constexpr double  NormalInterpolationMatrix1d[]     = {
      1.0, 0.0
    };
    "" " )
    self.add_solver_constants( "" "static constexpr double  TangentialInterpolationMatrix1d[] = {
    1.0,0.0,0.0,0.0,
    1.0,0.0,0.0,0.0,
    1.0,0.0,0.0,0.0,
    0.0,1.0,0.0,0.0,

    0.0,1.0,0.0,0.0,
    0.0,1.0,0.0,0.0,
    0.0,0.0,1.0,0.0,
    0.0,0.0,1.0,0.0,

    0.0,0.0,1.0,0.0,
    0.0,0.0,0.0,1.0,
    0.0,0.0,0.0,1.0,
    0.0,0.0,0.0,1.0
    };"" " )

The above snippet refers to a overlap of one and five unknowns. So the interpolation along a 1d tangential direction is three 5x5 matrices. Along the normal, we have to project onto one target element, so our projection matrix has one row. We have two values (inside and outside) along this normal, so two columns. In the standard enumeration scheme (refers to the face with normal 0), we have one real coarse grid value in this case. The other one would be the restricted value. We don't often use it (and therefore have a 0 here).

Data postprocessing or coupling to other codes

For data postprocessing, the introduction of fancy interior conditions or the coupling to other codes, each Finite Volume solver has an attribute

 _action_set_postprocess_solution

You can use this attribute to add postprocessing routines to the code.

Definition at line 18 of file FV.py.

Constructor & Destructor Documentation

◆ __init__()

exahype2.solvers.fv.FV.FV.__init__ ( self,
name,
patch_size,
overlap,
unknowns,
auxiliary_variables,
min_volume_h,
max_volume_h,
plot_grid_properties,
bool pde_terms_without_state,
kernel_namespace,
baseline_action_set_descend_invocation_order = 0 )

Create solver.

name: string A unique name for the solver. This one will be used for all generated classes. Also the C++ object instance later on will incorporate this name.

patch_size: int Size of the patch in one dimension. All stuff here's dimension-generic.

overlap: int That's the size of the halo layer which is half of the overlap with a neighbour. A value of 1 means that a patch_size x patch_size patch in 2d is surrounded by one additional cell layer. The overlap has to be bigger or equal to one. It has to be smaller or equal to patch_size.

unknowns: int Number of unknowns per Finite Volume voxel.

auxiliary_variables: int Number of auxiliary variables per Finite Volume voxel. Eventually, both unknowns and auxiliary_variables are merged into one big vector if we work with AoS. But the solver has to be able to distinguish them, as only the unknowns are subject to a hyperbolic formulation.

min_volume_h: double This size refers to the individual Finite Volume.

max_volume_h: double This size refers to the individual Finite Volume.

plot_grid_properties: Boolean Clarifies whether a dump of the data should be enriched with grid info (such as enclave status flags), too.

Reimplemented in SBH.Limiter, SBH.FVSolver, kernel_testbed.CCZ4Solver, CCZ4Solver.CCZ4Solver_FV_GlobalAdaptiveTimeStep, CCZ4Solver.CCZ4Solver_FV_GlobalAdaptiveTimeStepWithEnclaveTasking, exahype2.solvers.fv.SingleSweep.SingleSweep, exahype2.solvers.fv.EnclaveTasking.EnclaveTasking, exahype2.solvers.fv.musclhancock.GlobalFixedTimeStep.GlobalFixedTimeStep, exahype2.solvers.fv.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep, exahype2.solvers.fv.rusanov.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking, exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep, exahype2.solvers.fv.riemann.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking, exahype2.solvers.fv.musclhancock.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep, exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking, exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep, and exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking.

Definition at line 146 of file FV.py.

Member Function Documentation

◆ __str__()

exahype2.solvers.fv.FV.FV.__str__ ( self)

Reimplemented in exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking, exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep, and exahype2.solvers.fv.riemann.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking.

Definition at line 322 of file FV.py.

References peano4.output.ActionSet.ActionSet.__class__, peano4.output.Jinja2TemplatedHeaderImplementationFilePair.Jinja2TemplatedHeaderImplementationFilePair.__class__, peano4.output.Observer.Observer.__class__, peano4.output.TemplatedHeaderFile.TemplatedHeaderFile.__class__, peano4.output.TemplatedHeaderImplementationFilePair.TemplatedHeaderImplementationFilePair.__class__, 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, exahype2.solvers.aderdg.AbstractSolverDeclarations.AbstractSolverDeclarations._pde_terms_without_state, exahype2.solvers.aderdg.AbstractSolverDefinitions.AbstractSolverDefinitions._pde_terms_without_state, exahype2.solvers.aderdg.SolverDeclarations.SolverDeclarations._pde_terms_without_state, exahype2.solvers.aderdg.SolverDefinitions.SolverDefinitions._pde_terms_without_state, exahype2.solvers.fv.FV.FV._pde_terms_without_state, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._pde_terms_without_state, exahype2.solvers.rkdg.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._pde_terms_without_state, exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._pde_terms_without_state, and exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._pde_terms_without_state.

Referenced by peano4.toolbox.particles.postprocessing.ParticleVTUReader.VTUParticleSet.__repr__().

Here is the caller graph for this function:

◆ _get_default_includes()

exahype2.solvers.fv.FV.FV._get_default_includes ( self)
protected

Definition at line 1032 of file FV.py.

Referenced by exahype2.solvers.fv.FV.FV.create_action_sets().

Here is the caller graph for this function:

◆ _init_dictionary_with_default_parameters()

exahype2.solvers.fv.FV.FV._init_dictionary_with_default_parameters ( self,
d )
protected

This one is called by all algorithmic steps before I invoke add_entries_to_text_replacement_dictionary().

See the remarks on set_postprocess_updated_patch_kernel to understand why we have to apply the (partially befilled) dictionary to create a new entry for this very dictionary.

Definition at line 1329 of file FV.py.

References exahype2.solvers.aderdg.ADERDG.ADERDG._abstract_solver_user_declarations, exahype2.solvers.aderdg.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._abstract_solver_user_declarations, exahype2.solvers.aderdg.GlobalFixedTimeStep.GlobalFixedTimeStep._abstract_solver_user_declarations, exahype2.solvers.fv.FV.FV._abstract_solver_user_declarations, exahype2.solvers.fv.musclhancock.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._abstract_solver_user_declarations, exahype2.solvers.fv.musclhancock.GlobalFixedTimeStep.GlobalFixedTimeStep._abstract_solver_user_declarations, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._abstract_solver_user_declarations, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._abstract_solver_user_declarations, exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep._abstract_solver_user_declarations, exahype2.solvers.fv.riemann.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._abstract_solver_user_declarations, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._abstract_solver_user_declarations, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._abstract_solver_user_declarations, exahype2.solvers.fv.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._abstract_solver_user_declarations, exahype2.solvers.fv.rusanov.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._abstract_solver_user_declarations, exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking._abstract_solver_user_declarations, exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking._abstract_solver_user_declarations, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep._abstract_solver_user_declarations, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking._abstract_solver_user_declarations, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._abstract_solver_user_declarations, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._abstract_solver_user_declarations, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._abstract_solver_user_declarations, exahype2.solvers.rkdg.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._abstract_solver_user_declarations, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._abstract_solver_user_declarations, exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._abstract_solver_user_declarations, exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._abstract_solver_user_declarations, exahype2.solvers.rkfd.fd4.GlobalFixedTimeStep.GlobalFixedTimeStep._abstract_solver_user_declarations, exahype2.solvers.aderdg.ADERDG.ADERDG._abstract_solver_user_definitions, exahype2.solvers.aderdg.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._abstract_solver_user_definitions, exahype2.solvers.aderdg.GlobalFixedTimeStep.GlobalFixedTimeStep._abstract_solver_user_definitions, exahype2.solvers.fv.FV.FV._abstract_solver_user_definitions, exahype2.solvers.fv.musclhancock.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._abstract_solver_user_definitions, exahype2.solvers.fv.musclhancock.GlobalFixedTimeStep.GlobalFixedTimeStep._abstract_solver_user_definitions, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._abstract_solver_user_definitions, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._abstract_solver_user_definitions, exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep._abstract_solver_user_definitions, exahype2.solvers.fv.riemann.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._abstract_solver_user_definitions, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._abstract_solver_user_definitions, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._abstract_solver_user_definitions, exahype2.solvers.fv.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._abstract_solver_user_definitions, exahype2.solvers.fv.rusanov.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._abstract_solver_user_definitions, exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking._abstract_solver_user_definitions, exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking._abstract_solver_user_definitions, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep._abstract_solver_user_definitions, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking._abstract_solver_user_definitions, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._abstract_solver_user_definitions, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._abstract_solver_user_definitions, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._abstract_solver_user_definitions, exahype2.solvers.rkdg.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._abstract_solver_user_definitions, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._abstract_solver_user_definitions, exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._abstract_solver_user_definitions, exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._abstract_solver_user_definitions, exahype2.solvers.rkfd.fd4.GlobalFixedTimeStep.GlobalFixedTimeStep._abstract_solver_user_definitions, ccz4.CCZ4Solver._auxiliary_variables, SSInfall.SSInfallSolver._auxiliary_variables, mgccz4.MGCCZ4Solver._auxiliary_variables, SBH.FD4SolverWithLimiter._auxiliary_variables, SBH.FD4SolverWithoutLimiter._auxiliary_variables, exahype2.solvers.aderdg.ADERDG.ADERDG._auxiliary_variables, exahype2.solvers.fv.FV.FV._auxiliary_variables, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._auxiliary_variables, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._auxiliary_variables, exahype2.solvers.aderdg.ADERDG.ADERDG._boundary_conditions_implementation, exahype2.solvers.fv.EnclaveTasking.EnclaveTasking._boundary_conditions_implementation, exahype2.solvers.fv.FV.FV._boundary_conditions_implementation, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._boundary_conditions_implementation, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._boundary_conditions_implementation, exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep._boundary_conditions_implementation, exahype2.solvers.fv.riemann.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._boundary_conditions_implementation, exahype2.solvers.fv.SingleSweep.SingleSweep._boundary_conditions_implementation, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._boundary_conditions_implementation, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._boundary_conditions_implementation, exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep._boundary_conditions_implementation, exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps._boundary_conditions_implementation, exahype2.solvers.fv.FV.FV._compute_eigenvalue, exahype2.solvers.fv.musclhancock.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._compute_eigenvalue, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._compute_eigenvalue, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._compute_eigenvalue, exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep._compute_eigenvalue, exahype2.solvers.fv.riemann.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._compute_eigenvalue, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._compute_eigenvalue, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._compute_eigenvalue, exahype2.solvers.fv.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._compute_eigenvalue, exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking._compute_eigenvalue, exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking._compute_eigenvalue, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._compute_eigenvalue, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._compute_eigenvalue, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._compute_eigenvalue, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._compute_eigenvalue, exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._compute_eigenvalue, exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._compute_eigenvalue, exahype2.solvers.fv.FV.FV._compute_kernel_call, exahype2.solvers.fv.musclhancock.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._compute_kernel_call, exahype2.solvers.fv.musclhancock.GlobalFixedTimeStep.GlobalFixedTimeStep._compute_kernel_call, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._compute_kernel_call, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._compute_kernel_call, exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep._compute_kernel_call, exahype2.solvers.fv.riemann.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._compute_kernel_call, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._compute_kernel_call, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._compute_kernel_call, exahype2.solvers.fv.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._compute_kernel_call, exahype2.solvers.fv.rusanov.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._compute_kernel_call, exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking._compute_kernel_call, exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking._compute_kernel_call, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep._compute_kernel_call, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking._compute_kernel_call, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._compute_kernel_call, exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._compute_kernel_call, exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._compute_kernel_call, exahype2.solvers.rkfd.fd4.GlobalFixedTimeStep.GlobalFixedTimeStep._compute_kernel_call, exahype2.solvers.fv.FV.FV._compute_kernel_call_stateless, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._compute_kernel_call_stateless, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._compute_kernel_call_stateless, exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep._compute_kernel_call_stateless, exahype2.solvers.fv.riemann.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._compute_kernel_call_stateless, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._compute_kernel_call_stateless, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._compute_kernel_call_stateless, exahype2.solvers.fv.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._compute_kernel_call_stateless, exahype2.solvers.fv.rusanov.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._compute_kernel_call_stateless, exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking._compute_kernel_call_stateless, exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking._compute_kernel_call_stateless, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep._compute_kernel_call_stateless, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking._compute_kernel_call_stateless, exahype2.solvers.aderdg.ADERDG.ADERDG._compute_new_time_step_size, exahype2.solvers.aderdg.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._compute_new_time_step_size, exahype2.solvers.aderdg.GlobalFixedTimeStep.GlobalFixedTimeStep._compute_new_time_step_size, exahype2.solvers.fv.FV.FV._compute_new_time_step_size, exahype2.solvers.fv.musclhancock.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._compute_new_time_step_size, exahype2.solvers.fv.musclhancock.GlobalFixedTimeStep.GlobalFixedTimeStep._compute_new_time_step_size, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._compute_new_time_step_size, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._compute_new_time_step_size, exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep._compute_new_time_step_size, exahype2.solvers.fv.riemann.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._compute_new_time_step_size, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._compute_new_time_step_size, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._compute_new_time_step_size, exahype2.solvers.fv.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._compute_new_time_step_size, exahype2.solvers.fv.rusanov.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._compute_new_time_step_size, exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking._compute_new_time_step_size, exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking._compute_new_time_step_size, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep._compute_new_time_step_size, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking._compute_new_time_step_size, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._compute_new_time_step_size, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._compute_new_time_step_size, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._compute_new_time_step_size, exahype2.solvers.rkdg.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._compute_new_time_step_size, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._compute_new_time_step_size, exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._compute_new_time_step_size, exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._compute_new_time_step_size, exahype2.solvers.rkfd.fd4.GlobalFixedTimeStep.GlobalFixedTimeStep._compute_new_time_step_size, exahype2.solvers.aderdg.ADERDG.ADERDG._compute_time_step_size, exahype2.solvers.aderdg.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._compute_time_step_size, exahype2.solvers.aderdg.GlobalFixedTimeStep.GlobalFixedTimeStep._compute_time_step_size, exahype2.solvers.fv.FV.FV._compute_time_step_size, exahype2.solvers.fv.musclhancock.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._compute_time_step_size, exahype2.solvers.fv.musclhancock.GlobalFixedTimeStep.GlobalFixedTimeStep._compute_time_step_size, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._compute_time_step_size, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._compute_time_step_size, exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep._compute_time_step_size, exahype2.solvers.fv.riemann.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._compute_time_step_size, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._compute_time_step_size, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._compute_time_step_size, exahype2.solvers.fv.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._compute_time_step_size, exahype2.solvers.fv.rusanov.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._compute_time_step_size, exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking._compute_time_step_size, exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking._compute_time_step_size, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep._compute_time_step_size, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking._compute_time_step_size, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._compute_time_step_size, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._compute_time_step_size, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._compute_time_step_size, exahype2.solvers.rkdg.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._compute_time_step_size, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._compute_time_step_size, exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._compute_time_step_size, exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._compute_time_step_size, exahype2.solvers.rkfd.fd4.GlobalFixedTimeStep.GlobalFixedTimeStep._compute_time_step_size, exahype2.solvers.aderdg.ADERDG.ADERDG._constructor_implementation, exahype2.solvers.aderdg.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._constructor_implementation, exahype2.solvers.aderdg.GlobalFixedTimeStep.GlobalFixedTimeStep._constructor_implementation, exahype2.solvers.fv.FV.FV._constructor_implementation, exahype2.solvers.fv.musclhancock.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._constructor_implementation, exahype2.solvers.fv.musclhancock.GlobalFixedTimeStep.GlobalFixedTimeStep._constructor_implementation, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._constructor_implementation, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._constructor_implementation, exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep._constructor_implementation, exahype2.solvers.fv.riemann.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._constructor_implementation, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._constructor_implementation, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._constructor_implementation, exahype2.solvers.fv.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._constructor_implementation, exahype2.solvers.fv.rusanov.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._constructor_implementation, exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking._constructor_implementation, exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking._constructor_implementation, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep._constructor_implementation, exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting._constructor_implementation, exahype2.solvers.limiting.StaticLimiting.StaticLimiting._constructor_implementation, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._constructor_implementation, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._constructor_implementation, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._constructor_implementation, exahype2.solvers.rkdg.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._constructor_implementation, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._constructor_implementation, exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._constructor_implementation, exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._constructor_implementation, exahype2.solvers.rkfd.fd4.GlobalFixedTimeStep.GlobalFixedTimeStep._constructor_implementation, exahype2.solvers.aderdg.ADERDG.ADERDG._finish_time_step_implementation, exahype2.solvers.aderdg.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._finish_time_step_implementation, exahype2.solvers.aderdg.GlobalFixedTimeStep.GlobalFixedTimeStep._finish_time_step_implementation, exahype2.solvers.fv.FV.FV._finish_time_step_implementation, exahype2.solvers.fv.musclhancock.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._finish_time_step_implementation, exahype2.solvers.fv.musclhancock.GlobalFixedTimeStep.GlobalFixedTimeStep._finish_time_step_implementation, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._finish_time_step_implementation, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._finish_time_step_implementation, exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep._finish_time_step_implementation, exahype2.solvers.fv.riemann.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._finish_time_step_implementation, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._finish_time_step_implementation, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._finish_time_step_implementation, exahype2.solvers.fv.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._finish_time_step_implementation, exahype2.solvers.fv.rusanov.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._finish_time_step_implementation, exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking._finish_time_step_implementation, exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking._finish_time_step_implementation, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep._finish_time_step_implementation, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking._finish_time_step_implementation, exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting._finish_time_step_implementation, exahype2.solvers.limiting.StaticLimiting.StaticLimiting._finish_time_step_implementation, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._finish_time_step_implementation, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._finish_time_step_implementation, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._finish_time_step_implementation, exahype2.solvers.rkdg.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._finish_time_step_implementation, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._finish_time_step_implementation, exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._finish_time_step_implementation, exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._finish_time_step_implementation, exahype2.solvers.rkfd.fd4.GlobalFixedTimeStep.GlobalFixedTimeStep._finish_time_step_implementation, exahype2.solvers.aderdg.ADERDG.ADERDG._initial_conditions_implementation, exahype2.solvers.fv.EnclaveTasking.EnclaveTasking._initial_conditions_implementation, exahype2.solvers.fv.FV.FV._initial_conditions_implementation, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._initial_conditions_implementation, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._initial_conditions_implementation, exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep._initial_conditions_implementation, exahype2.solvers.fv.riemann.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._initial_conditions_implementation, exahype2.solvers.fv.SingleSweep.SingleSweep._initial_conditions_implementation, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._initial_conditions_implementation, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._initial_conditions_implementation, exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep._initial_conditions_implementation, exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps._initial_conditions_implementation, exahype2.solvers.fv.FV.FV._kernel_namespace, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._kernel_namespace, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._kernel_namespace, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._kernel_namespace, exahype2.solvers.rkdg.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._kernel_namespace, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._kernel_namespace, exahype2.solvers.fv.FV.FV._max_volume_h, exahype2.solvers.fv.FV.FV._min_volume_h, 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, exahype2.solvers.fv.FV.FV._overlap, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._overlap, exahype2.solvers.fv.FV.FV._patch, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._patch, exahype2.solvers.fv.FV.FV._patch_overlap_old, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._patch_overlap_old, exahype2.solvers.aderdg.AbstractSolverDeclarations.AbstractSolverDeclarations._pde_terms_without_state, exahype2.solvers.aderdg.AbstractSolverDefinitions.AbstractSolverDefinitions._pde_terms_without_state, exahype2.solvers.aderdg.SolverDeclarations.SolverDeclarations._pde_terms_without_state, exahype2.solvers.aderdg.SolverDefinitions.SolverDefinitions._pde_terms_without_state, exahype2.solvers.fv.FV.FV._pde_terms_without_state, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._pde_terms_without_state, exahype2.solvers.rkdg.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._pde_terms_without_state, exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._pde_terms_without_state, exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._pde_terms_without_state, exahype2.solvers.aderdg.ADERDG.ADERDG._postprocess_updated_patch, exahype2.solvers.fv.FV.FV._postprocess_updated_patch, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._postprocess_updated_patch, ccz4.CCZ4Solver._preprocess_reconstructed_patch, SSInfall.SSInfallSolver._preprocess_reconstructed_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.aderdg.ADERDG.ADERDG._refinement_criterion_implementation, exahype2.solvers.fv.EnclaveTasking.EnclaveTasking._refinement_criterion_implementation, exahype2.solvers.fv.FV.FV._refinement_criterion_implementation, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._refinement_criterion_implementation, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._refinement_criterion_implementation, exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep._refinement_criterion_implementation, exahype2.solvers.fv.riemann.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._refinement_criterion_implementation, exahype2.solvers.fv.SingleSweep.SingleSweep._refinement_criterion_implementation, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._refinement_criterion_implementation, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._refinement_criterion_implementation, exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep._refinement_criterion_implementation, exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps._refinement_criterion_implementation, exahype2.solvers.aderdg.ADERDG.ADERDG._solver_constants, exahype2.solvers.fv.FV.FV._solver_constants, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._solver_constants, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._solver_constants, exahype2.solvers.aderdg.ADERDG.ADERDG._solver_user_declarations, exahype2.solvers.aderdg.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._solver_user_declarations, exahype2.solvers.aderdg.GlobalFixedTimeStep.GlobalFixedTimeStep._solver_user_declarations, exahype2.solvers.fv.FV.FV._solver_user_declarations, exahype2.solvers.fv.musclhancock.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._solver_user_declarations, exahype2.solvers.fv.musclhancock.GlobalFixedTimeStep.GlobalFixedTimeStep._solver_user_declarations, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._solver_user_declarations, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._solver_user_declarations, exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep._solver_user_declarations, exahype2.solvers.fv.riemann.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._solver_user_declarations, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._solver_user_declarations, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._solver_user_declarations, exahype2.solvers.fv.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._solver_user_declarations, exahype2.solvers.fv.rusanov.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._solver_user_declarations, exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking._solver_user_declarations, exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking._solver_user_declarations, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep._solver_user_declarations, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking._solver_user_declarations, exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting._solver_user_declarations, exahype2.solvers.limiting.StaticLimiting.StaticLimiting._solver_user_declarations, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._solver_user_declarations, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._solver_user_declarations, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._solver_user_declarations, exahype2.solvers.rkdg.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._solver_user_declarations, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._solver_user_declarations, exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._solver_user_declarations, exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._solver_user_declarations, exahype2.solvers.rkfd.fd4.GlobalFixedTimeStep.GlobalFixedTimeStep._solver_user_declarations, exahype2.solvers.aderdg.ADERDG.ADERDG._solver_user_definitions, exahype2.solvers.aderdg.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._solver_user_definitions, exahype2.solvers.aderdg.GlobalFixedTimeStep.GlobalFixedTimeStep._solver_user_definitions, exahype2.solvers.fv.FV.FV._solver_user_definitions, exahype2.solvers.fv.musclhancock.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._solver_user_definitions, exahype2.solvers.fv.musclhancock.GlobalFixedTimeStep.GlobalFixedTimeStep._solver_user_definitions, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._solver_user_definitions, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._solver_user_definitions, exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep._solver_user_definitions, exahype2.solvers.fv.riemann.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._solver_user_definitions, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._solver_user_definitions, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._solver_user_definitions, exahype2.solvers.fv.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._solver_user_definitions, exahype2.solvers.fv.rusanov.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._solver_user_definitions, exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking._solver_user_definitions, exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking._solver_user_definitions, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep._solver_user_definitions, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking._solver_user_definitions, exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting._solver_user_definitions, exahype2.solvers.limiting.StaticLimiting.StaticLimiting._solver_user_definitions, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._solver_user_definitions, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._solver_user_definitions, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._solver_user_definitions, exahype2.solvers.rkdg.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._solver_user_definitions, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._solver_user_definitions, exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._solver_user_definitions, exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._solver_user_definitions, exahype2.solvers.rkfd.fd4.GlobalFixedTimeStep.GlobalFixedTimeStep._solver_user_definitions, exahype2.solvers.aderdg.ADERDG.ADERDG._start_time_step_implementation, exahype2.solvers.aderdg.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._start_time_step_implementation, exahype2.solvers.aderdg.GlobalFixedTimeStep.GlobalFixedTimeStep._start_time_step_implementation, exahype2.solvers.fv.FV.FV._start_time_step_implementation, exahype2.solvers.fv.musclhancock.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._start_time_step_implementation, exahype2.solvers.fv.musclhancock.GlobalFixedTimeStep.GlobalFixedTimeStep._start_time_step_implementation, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._start_time_step_implementation, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._start_time_step_implementation, exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep._start_time_step_implementation, exahype2.solvers.fv.riemann.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._start_time_step_implementation, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._start_time_step_implementation, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._start_time_step_implementation, exahype2.solvers.fv.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._start_time_step_implementation, exahype2.solvers.fv.rusanov.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._start_time_step_implementation, exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking._start_time_step_implementation, exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking._start_time_step_implementation, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep._start_time_step_implementation, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking._start_time_step_implementation, exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting._start_time_step_implementation, exahype2.solvers.limiting.StaticLimiting.StaticLimiting._start_time_step_implementation, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._start_time_step_implementation, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._start_time_step_implementation, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._start_time_step_implementation, exahype2.solvers.rkdg.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._start_time_step_implementation, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._start_time_step_implementation, exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._start_time_step_implementation, exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._start_time_step_implementation, exahype2.solvers.rkfd.fd4.GlobalFixedTimeStep.GlobalFixedTimeStep._start_time_step_implementation, 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.limiting.PosterioriLimiting.PosterioriLimiting._unknown_identifier(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting._unknown_identifier(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._unknown_identifier(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._unknown_identifier(), exahype2.solvers.aderdg.ADERDG.ADERDG._unknowns, exahype2.solvers.fv.FV.FV._unknowns, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._unknowns, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._unknowns, peano4.visualisation.output.Visualiser.PatchFileData._unknowns, exahype2::CellAccess._unknowns, exahype2::enumerator::AoSLexicographicEnumerator._unknowns, exahype2::enumerator::AoSoALexicographicEnumerator._unknowns, exahype2::enumerator::FaceAoSLexicographicEnumerator._unknowns, exahype2::enumerator::SingleDoFEnumerator._unknowns, exahype2::enumerator::SoALexicographicEnumerator._unknowns, exahype2.solvers.aderdg.ADERDG.ADERDG._use_var_shortcut, exahype2.solvers.fv.FV.FV._use_var_shortcut, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._use_var_shortcut, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._use_var_shortcut, exahype2.solvers.aderdg.ADERDG.ADERDG._variable_names, exahype2.solvers.fv.FV.FV._variable_names, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._variable_names, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._variable_names, exahype2.solvers.aderdg.ADERDG.ADERDG._variable_pos, exahype2.solvers.fv.FV.FV._variable_pos, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._variable_pos, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._variable_pos, 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.limiting.PosterioriLimiting.PosterioriLimiting.get_name_of_global_instance(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting.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(), int, exahype2.solvers.aderdg.ADERDG.ADERDG.user_solver_includes, exahype2.solvers.fv.FV.FV.user_solver_includes(), exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting.user_solver_includes, exahype2.solvers.limiting.StaticLimiting.StaticLimiting.user_solver_includes, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.user_solver_includes(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.user_solver_includes().

Referenced by exahype2.solvers.aderdg.LagrangeBasis.LagrangeBasis.__str__(), exahype2.solvers.aderdg.ADERDG.ADERDG._generate_kernels(), exahype2.solvers.fv.FV.FV.add_actions_to_perform_time_step(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.add_actions_to_perform_time_step(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.add_actions_to_perform_time_step(), exahype2.solvers.aderdg.ADERDG.ADERDG.add_actions_to_plot_solution(), exahype2.solvers.fv.FV.FV.add_actions_to_plot_solution(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.add_actions_to_plot_solution(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.add_actions_to_plot_solution(), exahype2.solvers.aderdg.ADERDG.ADERDG.add_implementation_files_to_project(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.add_implementation_files_to_project(), exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_implementation_files_to_project(), and exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_implementation_files_to_project().

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

◆ _load_cell_data_default_guard()

exahype2.solvers.fv.FV.FV._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 in SBH.Limiter.

Definition at line 927 of file FV.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, 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.limiting.PosterioriLimiting.PosterioriLimiting.get_name_of_global_instance(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting.get_name_of_global_instance(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.get_name_of_global_instance(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.get_name_of_global_instance().

Referenced by exahype2.solvers.aderdg.ADERDG.ADERDG.add_actions_to_plot_solution(), exahype2.solvers.fv.FV.FV.add_actions_to_plot_solution(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.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()

exahype2.solvers.fv.FV.FV._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 in SBH.Limiter.

Definition at line 962 of file FV.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, 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.limiting.PosterioriLimiting.PosterioriLimiting.get_name_of_global_instance(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting.get_name_of_global_instance(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.get_name_of_global_instance(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.get_name_of_global_instance().

Here is the call graph for this function:

◆ _provide_cell_data_to_compute_kernels_default_guard()

exahype2.solvers.fv.FV.FV._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 in SBH.Limiter.

Definition at line 881 of file FV.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, 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.limiting.PosterioriLimiting.PosterioriLimiting.get_name_of_global_instance(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting.get_name_of_global_instance(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.get_name_of_global_instance(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.get_name_of_global_instance().

Referenced by create-dg-benchmark-executable-with-limiter.MyDGSolver.__init__(), 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()

exahype2.solvers.fv.FV.FV._provide_face_data_to_compute_kernels_default_guard ( self)
protected

Reimplemented in SBH.Limiter.

Definition at line 901 of file FV.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, 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.limiting.PosterioriLimiting.PosterioriLimiting.get_name_of_global_instance(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting.get_name_of_global_instance(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.get_name_of_global_instance(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.get_name_of_global_instance().

Here is the call graph for this function:

◆ _store_cell_data_default_guard()

exahype2.solvers.fv.FV.FV._store_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 in SBH.Limiter.

Definition at line 912 of file FV.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, 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.limiting.PosterioriLimiting.PosterioriLimiting.get_name_of_global_instance(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting.get_name_of_global_instance(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.get_name_of_global_instance(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.get_name_of_global_instance().

Referenced by exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._query_fine_grid_cell_in_action_set_if_it_holds_solution(), 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()

exahype2.solvers.fv.FV.FV._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 in SBH.Limiter.

Definition at line 947 of file FV.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, 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.limiting.PosterioriLimiting.PosterioriLimiting.get_name_of_global_instance(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting.get_name_of_global_instance(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.get_name_of_global_instance(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.get_name_of_global_instance().

Referenced by exahype2.solvers.aderdg.ADERDG.ADERDG._store_boundary_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:

◆ _unknown_identifier()

exahype2.solvers.fv.FV.FV._unknown_identifier ( self)
protected

Definition at line 982 of file FV.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, and tarch::services::ServiceRepository::ServiceEntry._name.

Referenced by 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.add_actions_to_plot_solution(), exahype2.solvers.fv.FV.FV.add_actions_to_plot_solution(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.add_actions_to_plot_solution(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.add_actions_to_plot_solution(), and exahype2.solvers.elliptic.AMRMarker.AMRMarker.couple_with_FV_solver().

Here is the caller graph for this function:

◆ add_actions_to_create_grid()

exahype2.solvers.fv.FV.FV.add_actions_to_create_grid ( self,
step,
evaluate_refinement_criterion )

The boundary information is set only once.

It is therefore important that we ues the face label and initialise it properly.

Reimplemented in exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.

Definition at line 1102 of file FV.py.

References exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_AMR_commit_without_further_analysis, exahype2.solvers.fv.FV.FV._action_set_AMR_commit_without_further_analysis, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_AMR_commit_without_further_analysis, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_AMR_commit_without_further_analysis, exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_AMR_throughout_grid_construction, exahype2.solvers.fv.FV.FV._action_set_AMR_throughout_grid_construction, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_AMR_throughout_grid_construction, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_AMR_throughout_grid_construction, exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_initial_conditions_for_grid_construction, exahype2.solvers.fv.FV.FV._action_set_initial_conditions_for_grid_construction, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_initial_conditions_for_grid_construction, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_initial_conditions_for_grid_construction, exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_update_cell_label, exahype2.solvers.fv.FV.FV._action_set_update_cell_label, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_update_cell_label, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_update_cell_label, exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_update_face_label, exahype2.solvers.fv.FV.FV._action_set_update_face_label, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_update_face_label, and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_update_face_label.

◆ add_actions_to_init_grid()

exahype2.solvers.fv.FV.FV.add_actions_to_init_grid ( self,
step )

Add all the action sets to init grid.

The AMR stuff has to be the very first thing. Actually, the AMR routines' interpolation doesn't play any role here. But the restriction indeed is very important, as we have to get the face data for BCs et al. The action set order is inverted while we ascend within the tree again. Therefore, we add the AMR action set first which means it will be called last when we go from fine to coarse levels within the tree.

Ordering

The order of the action sets is preserved throughout the steps down within the tree hierarchy. It is inverted throughout the backrolling.

This is what we want to achieve:

  • Project solution onto faces. This happens in touchCellLastTime(). See exahype2.solvers.fv.actionsets.ProjectPatchOntoFaces for comments. The project will end up in QUpdate.
  • Roll updates over on the faces from QUpdate into Q_new. This is done by RollOverUpdateFace, which requires in turn that the getUpdated() flag is set. As the roll-over plugs into touchFaceLastTime(), it will always be called after the projection, since the latter is a cell operation.
  • Copy new face data Q_new into old face data Q_old, as this is the initial sweep, i.e. the old face data otherwise might hold rubbish. This is a backup operation realised through the action set BackupPatchOverlap. This one plugs into touchFaceLastTime() too. Therefore, it is important that its priority is smaller than the one of the roll-over, since we invert the call order for the touch-last events.
  • Restrict the data to the coarser level if we are on a hanging face.
  • The postprocessing is the very last thing. It does not matter if it plugs into touchCellFirstTime() or touchCellLastTime(). As we invert the order when we backtrace, the postprocessing will have completed before we invoke _action_set_project_patch_onto_faces, i.e. any update will be projected onto the faces.

Reimplemented in exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.

Definition at line 1043 of file FV.py.

References exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_AMR, exahype2.solvers.fv.FV.FV._action_set_AMR, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_AMR, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_AMR, exahype2.solvers.fv.FV.FV._action_set_copy_new_faces_onto_old_faces, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_copy_new_faces_onto_old_faces, exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_couple_resolution_transitions_and_handle_dynamic_mesh_refinement, exahype2.solvers.fv.FV.FV._action_set_couple_resolution_transitions_and_handle_dynamic_mesh_refinement, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_couple_resolution_transitions_and_handle_dynamic_mesh_refinement, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_couple_resolution_transitions_and_handle_dynamic_mesh_refinement, exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_initial_conditions, exahype2.solvers.fv.FV.FV._action_set_initial_conditions, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_initial_conditions, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_initial_conditions, SSInfall.SSInfallSolver._action_set_postprocess_solution, SBH.FD4SolverWithLimiter._action_set_postprocess_solution, exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_postprocess_solution, exahype2.solvers.fv.FV.FV._action_set_postprocess_solution, exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting._action_set_postprocess_solution, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_postprocess_solution, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_postprocess_solution, SBH.FD4SolverWithLimiter._action_set_preprocess_solution, exahype2.solvers.fv.FV.FV._action_set_preprocess_solution, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_preprocess_solution, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_preprocess_solution, exahype2.solvers.fv.FV.FV._action_set_project_patch_onto_faces, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_project_patch_onto_faces, exahype2.solvers.fv.FV.FV._action_set_roll_over_update_of_faces, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_roll_over_update_of_faces, exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_update_cell_label, exahype2.solvers.fv.FV.FV._action_set_update_cell_label, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_update_cell_label, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_update_cell_label, exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_update_face_label, exahype2.solvers.fv.FV.FV._action_set_update_face_label, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_update_face_label, and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_update_face_label.

◆ add_actions_to_perform_time_step()

exahype2.solvers.fv.FV.FV.add_actions_to_perform_time_step ( self,
step )

Add action sets to time step.

See exahype2.solvers.fv.FV.add_actions_to_init_grid() for details on the ordering of the action sets.

AMR

It is important that we do the inter-grid transfer operators before we apply the boundary conditions.

Reimplemented in exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.

Definition at line 1203 of file FV.py.

References exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_AMR, exahype2.solvers.fv.FV.FV._action_set_AMR, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_AMR, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_AMR, exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_couple_resolution_transitions_and_handle_dynamic_mesh_refinement, exahype2.solvers.fv.FV.FV._action_set_couple_resolution_transitions_and_handle_dynamic_mesh_refinement, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_couple_resolution_transitions_and_handle_dynamic_mesh_refinement, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_couple_resolution_transitions_and_handle_dynamic_mesh_refinement, exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_handle_boundary, exahype2.solvers.fv.FV.FV._action_set_handle_boundary, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_handle_boundary, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_handle_boundary, SSInfall.SSInfallSolver._action_set_postprocess_solution, SBH.FD4SolverWithLimiter._action_set_postprocess_solution, exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_postprocess_solution, exahype2.solvers.fv.FV.FV._action_set_postprocess_solution, exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting._action_set_postprocess_solution, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_postprocess_solution, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_postprocess_solution, SBH.FD4SolverWithLimiter._action_set_preprocess_solution, exahype2.solvers.fv.FV.FV._action_set_preprocess_solution, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_preprocess_solution, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_preprocess_solution, exahype2.solvers.fv.FV.FV._action_set_project_patch_onto_faces, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_project_patch_onto_faces, exahype2.solvers.fv.FV.FV._action_set_roll_over_update_of_faces, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_roll_over_update_of_faces, 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, exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_update_cell_label, exahype2.solvers.fv.FV.FV._action_set_update_cell_label, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_update_cell_label, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_update_cell_label, exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_update_face_label, exahype2.solvers.fv.FV.FV._action_set_update_face_label, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_update_face_label, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_update_face_label, exahype2.solvers.aderdg.ADERDG.ADERDG._init_dictionary_with_default_parameters(), exahype2.solvers.aderdg.SingleSweep.SingleSweep._init_dictionary_with_default_parameters(), exahype2.solvers.fv.FV.FV._init_dictionary_with_default_parameters(), exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting._init_dictionary_with_default_parameters(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting._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.add_entries_to_text_replacement_dictionary(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.add_entries_to_text_replacement_dictionary(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.add_entries_to_text_replacement_dictionary(), exahype2.solvers.fv.FV.FV.add_entries_to_text_replacement_dictionary(), exahype2.solvers.fv.SingleSweep.SingleSweep.add_entries_to_text_replacement_dictionary(), exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting.add_entries_to_text_replacement_dictionary(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting.add_entries_to_text_replacement_dictionary(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.add_entries_to_text_replacement_dictionary(), exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_entries_to_text_replacement_dictionary(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.add_entries_to_text_replacement_dictionary(), exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.add_entries_to_text_replacement_dictionary(), exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.add_entries_to_text_replacement_dictionary(), exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep.add_entries_to_text_replacement_dictionary(), exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps.add_entries_to_text_replacement_dictionary(), and exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_entries_to_text_replacement_dictionary().

Here is the call graph for this function:

◆ add_actions_to_plot_solution()

exahype2.solvers.fv.FV.FV.add_actions_to_plot_solution ( self,
step,
output_path )

Add action sets to plot solution step.

Consult the discussion in add_actions_to_init_grid() around the order of the individual action sets.

It is important that we have the coupling/dynamic AMR part in here, as there might be pending AMR refinement requests that now are realised. For the same reason, we need the update of the face label and the update of the cell label in here: The AMR might just propagate over into the plotting, i.e. we might create new grid entities throughout the plot. These entities (faces and cells) have to be initialised properly. Otherwise, their un-initialised data will propagate through to the next time step.

To make the restriction work, we have to project the solutions onto the faces.

Definition at line 1135 of file FV.py.

References exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_couple_resolution_transitions_and_handle_dynamic_mesh_refinement, exahype2.solvers.fv.FV.FV._action_set_couple_resolution_transitions_and_handle_dynamic_mesh_refinement, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_couple_resolution_transitions_and_handle_dynamic_mesh_refinement, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_couple_resolution_transitions_and_handle_dynamic_mesh_refinement, exahype2.solvers.fv.FV.FV._action_set_project_patch_onto_faces, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_project_patch_onto_faces, exahype2.solvers.fv.FV.FV._action_set_roll_over_update_of_faces, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_roll_over_update_of_faces, exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_update_cell_label, exahype2.solvers.fv.FV.FV._action_set_update_cell_label, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_update_cell_label, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_update_cell_label, exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_update_face_label, exahype2.solvers.fv.FV.FV._action_set_update_face_label, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_update_face_label, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_update_face_label, exahype2.solvers.fv.FV.FV._baseline_action_set_descend_invocation_order, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._baseline_action_set_descend_invocation_order, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._baseline_action_set_descend_invocation_order, exahype2.solvers.aderdg.ADERDG.ADERDG._init_dictionary_with_default_parameters(), exahype2.solvers.aderdg.SingleSweep.SingleSweep._init_dictionary_with_default_parameters(), exahype2.solvers.fv.FV.FV._init_dictionary_with_default_parameters(), exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting._init_dictionary_with_default_parameters(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting._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(), 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.limiting.PosterioriLimiting.PosterioriLimiting._load_cell_data_default_guard(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting._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._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, exahype2.solvers.fv.FV.FV._patch, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._patch, exahype2.solvers.fv.FV.FV._plot_description, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._plot_description, exahype2.solvers.aderdg.ADERDG.ADERDG._plot_grid_properties, exahype2.solvers.fv.FV.FV._plot_grid_properties, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._plot_grid_properties, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._plot_grid_properties, 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.limiting.PosterioriLimiting.PosterioriLimiting._unknown_identifier(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting._unknown_identifier(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._unknown_identifier(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._unknown_identifier(), exahype2.solvers.aderdg.ADERDG.ADERDG.add_entries_to_text_replacement_dictionary(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.add_entries_to_text_replacement_dictionary(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.add_entries_to_text_replacement_dictionary(), exahype2.solvers.fv.FV.FV.add_entries_to_text_replacement_dictionary(), exahype2.solvers.fv.SingleSweep.SingleSweep.add_entries_to_text_replacement_dictionary(), exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting.add_entries_to_text_replacement_dictionary(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting.add_entries_to_text_replacement_dictionary(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.add_entries_to_text_replacement_dictionary(), exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_entries_to_text_replacement_dictionary(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.add_entries_to_text_replacement_dictionary(), exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.add_entries_to_text_replacement_dictionary(), exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.add_entries_to_text_replacement_dictionary(), exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep.add_entries_to_text_replacement_dictionary(), exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps.add_entries_to_text_replacement_dictionary(), exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_entries_to_text_replacement_dictionary(), exahype2.solvers.aderdg.ADERDG.ADERDG.select_dofs_to_print, exahype2.solvers.fv.FV.FV.select_dofs_to_print, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.select_dofs_to_print, and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.select_dofs_to_print.

Here is the call graph for this function:

◆ add_entries_to_text_replacement_dictionary()

◆ add_implementation_files_to_project()

exahype2.solvers.fv.FV.FV.add_implementation_files_to_project ( self,
namespace,
output,
dimensions,
subdirectory = "",
abstract_overwrite = True )

The ExaHyPE project will call this operation when it sets up the overall environment.

This routine is typically not invoked by a user.

output: peano4.output.Output

Reimplemented in exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.

Definition at line 1237 of file FV.py.

◆ add_solver_constants()

◆ add_to_Peano4_datamodel()

exahype2.solvers.fv.FV.FV.add_to_Peano4_datamodel ( self,
datamodel,
verbose )

◆ add_use_data_statements_to_Peano4_solver_step()

exahype2.solvers.fv.FV.FV.add_use_data_statements_to_Peano4_solver_step ( self,
step )

Tell Peano what data to move around.

Inform Peano4 step which data are to be moved around via the use_cell and use_face commands. This operation is generic from ExaHyPE's point of view, i.e. I use it for all grid sweep types.

It is important that the cell label comes first, as some other data might make their load/store decisions depend on the label.

Definition at line 1013 of file FV.py.

References exahype2.solvers.aderdg.ADERDG.ADERDG._cell_label, exahype2.solvers.fv.FV.FV._cell_label, exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting._cell_label, exahype2.solvers.limiting.StaticLimiting.StaticLimiting._cell_label, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._cell_label, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._cell_label, exahype2.solvers.aderdg.ADERDG.ADERDG._face_label, exahype2.solvers.fv.FV.FV._face_label, exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting._face_label, exahype2.solvers.limiting.StaticLimiting.StaticLimiting._face_label, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._face_label, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._face_label, exahype2.solvers.fv.FV.FV._patch, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._patch, exahype2.solvers.fv.FV.FV._patch_overlap_new, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._patch_overlap_new, exahype2.solvers.fv.FV.FV._patch_overlap_old, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._patch_overlap_old, exahype2.solvers.fv.FV.FV._patch_overlap_update, and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._patch_overlap_update.

◆ add_user_action_set_includes()

exahype2.solvers.fv.FV.FV.add_user_action_set_includes ( self,
value )

◆ add_user_solver_includes()

exahype2.solvers.fv.FV.FV.add_user_solver_includes ( self,
value )

◆ auxiliary_variables() [1/2]

◆ auxiliary_variables() [2/2]

exahype2.solvers.fv.FV.FV.auxiliary_variables ( self,
value )

Definition at line 1448 of file FV.py.

References ccz4.CCZ4Solver._auxiliary_variables, SSInfall.SSInfallSolver._auxiliary_variables, mgccz4.MGCCZ4Solver._auxiliary_variables, SBH.FD4SolverWithLimiter._auxiliary_variables, SBH.FD4SolverWithoutLimiter._auxiliary_variables, exahype2.solvers.aderdg.ADERDG.ADERDG._auxiliary_variables, exahype2.solvers.fv.FV.FV._auxiliary_variables, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._auxiliary_variables, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._auxiliary_variables, ccz4.CCZ4Solver.create_action_sets(), kernel_testbed.CCZ4Solver.create_action_sets(), performance_testbed.CCZ4Solver.create_action_sets(), SBH.Limiter.create_action_sets(), SBH.FD4SolverWithLimiter.create_action_sets(), SBH.FD4SolverWithoutLimiter.create_action_sets(), SBH.FVSolver.create_action_sets(), exahype2.solvers.aderdg.ADERDG.ADERDG.create_action_sets(), exahype2.solvers.aderdg.SingleSweep.SingleSweep.create_action_sets(), exahype2.solvers.elliptic.AMRMarker.AMRMarker.create_action_sets(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.create_action_sets(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.create_action_sets(), exahype2.solvers.fv.FV.FV.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.fv.SingleSweep.SingleSweep.create_action_sets(), exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting.create_action_sets(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting.create_action_sets(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.create_action_sets(), exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps.create_action_sets(), exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_action_sets(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.create_action_sets(), exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep.create_action_sets(), exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps.create_action_sets(), exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_action_sets(), exahype2.solvers.aderdg.ADERDG.ADERDG.create_data_structures(), exahype2.solvers.aderdg.SingleSweep.SingleSweep.create_data_structures(), exahype2.solvers.elliptic.AMRMarker.AMRMarker.create_data_structures(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.create_data_structures(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.create_data_structures(), exahype2.solvers.fv.FV.FV.create_data_structures(), exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.create_data_structures(), exahype2.solvers.fv.rusanov.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking.create_data_structures(), exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking.create_data_structures(), exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking.create_data_structures(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep.create_data_structures(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking.create_data_structures(), exahype2.solvers.fv.SingleSweep.SingleSweep.create_data_structures(), exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting.create_data_structures(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting.create_data_structures(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.create_data_structures(), exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps.create_data_structures(), exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_data_structures(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.create_data_structures(), exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep.create_data_structures(), exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps.create_data_structures(), and exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_data_structures().

Referenced by exahype2.symhype.PDE.PDE._implementation_of_mapping_onto_named_quantities(), exahype2.symhype.PDE.PDE.implementation_of_boundary_conditions(), exahype2.symhype.PDE.PDE.implementation_of_homogeneous_Neumann_BC(), exahype2.symhype.PDE.PDE.implementation_of_initial_conditions(), and exahype2.symhype.PDE.PDE.unknown_identifier_for_plotter().

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

◆ create_action_sets()

exahype2.solvers.fv.FV.FV.create_action_sets ( self)

Create all the action sets.

Overwrite in subclasses if you wanna create different action sets. Subclasses also might redefine the invocation order.

Call order and ownership

This operation can be called multiple times. However, only the very last call matters. All previous calls are wiped out.

If you have a hierarchy of solvers, every create_data_structures() should first(!) call its parent version. This way, you always ensure that all data are in place before you continue to alter the more specialised versions. So it is (logically) a top-down (general to specialised) run through all create_data_structures() variants within the inheritance tree.

Recreation vs backup (state discussion)

We faced some issues with action sets that should not be overwritten. For example, the postprocessing should not be overwritten as users might want to set it and then later on reset the number of unknowns, e.g. In this case, you would loose your postprocessing if create_action_sets() recreated them. So I decided to make an exception here: the postprocessing step is never overwritten by the standard classes.

There are further action sets which have a state, which users might want to alter. The most prominent one is the AMR routines, where users often alter the interpolation and restriction scheme. Here, things are tricky: If we keep the default one, the action set would not pick up if you changed the number of unknowns, e.g. However, if we recreated the action set, we'd miss out on any changed interpolation/restriction scheme. Therefore, I have to hold the interpolation and restriction scheme separate.

Reimplemented in kernel_testbed.CCZ4Solver, SBH.Limiter, SBH.FVSolver, exahype2.solvers.fv.EnclaveTasking.EnclaveTasking, exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking, exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking, and exahype2.solvers.fv.SingleSweep.SingleSweep.

Definition at line 730 of file FV.py.

References exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_AMR, exahype2.solvers.fv.FV.FV._action_set_AMR, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_AMR, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_AMR, exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_AMR_commit_without_further_analysis, exahype2.solvers.fv.FV.FV._action_set_AMR_commit_without_further_analysis, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_AMR_commit_without_further_analysis, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_AMR_commit_without_further_analysis, exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_AMR_throughout_grid_construction, exahype2.solvers.fv.FV.FV._action_set_AMR_throughout_grid_construction, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_AMR_throughout_grid_construction, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_AMR_throughout_grid_construction, exahype2.solvers.fv.FV.FV._action_set_copy_new_faces_onto_old_faces, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_copy_new_faces_onto_old_faces, exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_couple_resolution_transitions_and_handle_dynamic_mesh_refinement, exahype2.solvers.fv.FV.FV._action_set_couple_resolution_transitions_and_handle_dynamic_mesh_refinement, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_couple_resolution_transitions_and_handle_dynamic_mesh_refinement, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_couple_resolution_transitions_and_handle_dynamic_mesh_refinement, exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_handle_boundary, exahype2.solvers.fv.FV.FV._action_set_handle_boundary, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_handle_boundary, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_handle_boundary, exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_initial_conditions, exahype2.solvers.fv.FV.FV._action_set_initial_conditions, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_initial_conditions, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_initial_conditions, exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_initial_conditions_for_grid_construction, exahype2.solvers.fv.FV.FV._action_set_initial_conditions_for_grid_construction, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_initial_conditions_for_grid_construction, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_initial_conditions_for_grid_construction, SSInfall.SSInfallSolver._action_set_postprocess_solution, SBH.FD4SolverWithLimiter._action_set_postprocess_solution, exahype2.solvers.aderdg.ADERDG.ADERDG._action_set_postprocess_solution, exahype2.solvers.fv.FV.FV._action_set_postprocess_solution, exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting._action_set_postprocess_solution, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_postprocess_solution, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_postprocess_solution, SBH.FD4SolverWithLimiter._action_set_preprocess_solution, exahype2.solvers.fv.FV.FV._action_set_preprocess_solution, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_preprocess_solution, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_preprocess_solution, exahype2.solvers.fv.FV.FV._action_set_project_patch_onto_faces, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_project_patch_onto_faces, exahype2.solvers.fv.FV.FV._action_set_roll_over_update_of_faces, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._action_set_roll_over_update_of_faces, exahype2.solvers.aderdg.ADERDG.ADERDG._get_default_includes(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells._get_default_includes(), exahype2.solvers.fv.FV.FV._get_default_includes(), exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting._get_default_includes(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting._get_default_includes(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._get_default_includes(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._get_default_includes(), exahype2.solvers.fv.FV.FV._interpolation, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._interpolation, exahype2.solvers.fv.FV.FV._patch_overlap_new, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._patch_overlap_new, exahype2.solvers.fv.FV.FV._patch_overlap_old, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._patch_overlap_old, exahype2.solvers.fv.FV.FV._restriction, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._restriction, 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.limiting.PosterioriLimiting.PosterioriLimiting._store_cell_data_default_guard(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting._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.limiting.PosterioriLimiting.PosterioriLimiting._store_face_data_default_guard(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting._store_face_data_default_guard(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._store_face_data_default_guard(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._store_face_data_default_guard().

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(), 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:

◆ create_data_structures()

exahype2.solvers.fv.FV.FV.create_data_structures ( self)

Create data structures required by all Finite Volume solvers.

Recall in subclasses if you wanna change the number of unknowns or auxiliary variables. See class description's subsection on data flow.

:: Call order and ownership

This operation can be called multiple times. However, only the very last call matters. All previous calls are wiped out.

If you have a hierarchy of solvers, every create_data_structures() should first(!) call its parent version. This way, you always ensure that all data are in place before you continue to alter the more specialised versions. So it is (logically) a top-down (general to specialised) run through all create_data_structures() variants within the inheritance tree.

:: Arguments

_patch: Patch (NxNxN) Actual patch data. We use Finite Volumes, so this is always the current snapshot, i.e. the valid data at one point.

_patch_overlap_old, _patch_overlap_new: Patch (2xNxN) This is a copy/excerpt from the two adjacent finite volume snapshots plus the old data as backup. If I want to implement local timestepping, I don't have to backup the whole patch (see _patch), but I need a backup of the face data to be able to interpolate in time.

_patch_overlap_update: Patch (2xNxN) This is the new update. After the time step, I roll this information over into _patch_overlap_new, while I backup the previous _patch_overlap_new into _patch_overlap_old. If I worked with regular meshes only, I would not need this update field and could work directly with _patch_overlap_new. However, AMR requires me to accumulate data within new while I need the new and old data temporarily. Therefore, I employ this accumulation/roll-over data which usually is not stored persistently.

Reimplemented in exahype2.solvers.fv.EnclaveTasking.EnclaveTasking, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking, exahype2.solvers.fv.rusanov.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking, exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking, exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep, exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking, and exahype2.solvers.fv.SingleSweep.SingleSweep.

Definition at line 526 of file FV.py.

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.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 caller graph for this function:

◆ create_readme_descriptor()

exahype2.solvers.fv.FV.FV.create_readme_descriptor ( self,
domain_offset,
domain_size )

Definition at line 430 of file FV.py.

References exahype2.solvers.fv.FV.FV._max_volume_h, exahype2.solvers.fv.FV.FV._min_volume_h, ccz4.CCZ4Solver._patch_size, ccz4_archived.CCZ4Solver._patch_size, ccz4_archived_24_01_19.CCZ4Solver._patch_size, SSInfall.SSInfallSolver._patch_size, kernel_testbed.CCZ4Solver._patch_size, performance_testbed.CCZ4Solver._patch_size, exahype2.solvers.fv.FV.FV._patch_size, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._patch_size, exahype2.solvers.fv.FV.FV.get_coarsest_number_of_finite_volumes(), exahype2.solvers.fv.FV.FV.get_coarsest_number_of_patches(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.get_coarsest_number_of_patches(), exahype2.solvers.fv.FV.FV.get_coarsest_volume_size(), exahype2.solvers.fv.FV.FV.get_finest_number_of_finite_volumes(), exahype2.solvers.fv.FV.FV.get_finest_number_of_patches(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.get_finest_number_of_patches(), exahype2.solvers.fv.FV.FV.get_finest_volume_size(), exahype2.solvers.fv.FV.FV.get_max_number_of_spacetree_levels(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.get_max_number_of_spacetree_levels(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.get_max_number_of_spacetree_levels(), exahype2.solvers.fv.FV.FV.get_min_number_of_spacetree_levels(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.get_min_number_of_spacetree_levels(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.get_min_number_of_spacetree_levels().

Here is the call graph for this function:

◆ get_coarsest_number_of_finite_volumes()

◆ get_coarsest_number_of_patches()

◆ get_coarsest_volume_size()

exahype2.solvers.fv.FV.FV.get_coarsest_volume_size ( self,
domain_size )

Definition at line 422 of file FV.py.

References exahype2.solvers.fv.FV.FV.get_coarsest_number_of_finite_volumes().

Referenced by exahype2.solvers.fv.FV.FV.create_readme_descriptor().

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

◆ get_finest_number_of_finite_volumes()

◆ get_finest_number_of_patches()

◆ get_finest_volume_size()

exahype2.solvers.fv.FV.FV.get_finest_volume_size ( self,
domain_size )

Definition at line 426 of file FV.py.

References exahype2.solvers.fv.FV.FV.get_finest_number_of_finite_volumes().

Referenced by exahype2.solvers.fv.FV.FV.create_readme_descriptor().

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

◆ get_max_number_of_spacetree_levels()

◆ get_min_number_of_spacetree_levels()

◆ get_name_of_global_instance()

exahype2.solvers.fv.FV.FV.get_name_of_global_instance ( self)

Definition at line 986 of file FV.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, and tarch::services::ServiceRepository::ServiceEntry._name.

Referenced by exahype2.solvers.aderdg.SingleSweep.SingleSweep._delete_face_data_default_guard(), 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(), 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(), 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(), 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(), exahype2.solvers.aderdg.SingleSweep.SingleSweep._store_boundary_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(), 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.SingleSweep.SingleSweep.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(), and exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_data_structures().

Here is the caller graph for this function:

◆ interpolation() [1/2]

exahype2.solvers.fv.FV.FV.interpolation ( self)

◆ interpolation() [2/2]

exahype2.solvers.fv.FV.FV.interpolation ( self,
value )

Definition at line 1603 of file FV.py.

References exahype2.solvers.fv.FV.FV._interpolation, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._interpolation, ccz4.CCZ4Solver.create_action_sets(), kernel_testbed.CCZ4Solver.create_action_sets(), performance_testbed.CCZ4Solver.create_action_sets(), SBH.Limiter.create_action_sets(), SBH.FD4SolverWithLimiter.create_action_sets(), SBH.FD4SolverWithoutLimiter.create_action_sets(), SBH.FVSolver.create_action_sets(), exahype2.solvers.aderdg.ADERDG.ADERDG.create_action_sets(), exahype2.solvers.aderdg.SingleSweep.SingleSweep.create_action_sets(), exahype2.solvers.elliptic.AMRMarker.AMRMarker.create_action_sets(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.create_action_sets(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.create_action_sets(), exahype2.solvers.fv.FV.FV.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.fv.SingleSweep.SingleSweep.create_action_sets(), exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting.create_action_sets(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting.create_action_sets(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.create_action_sets(), exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps.create_action_sets(), exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_action_sets(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.create_action_sets(), exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep.create_action_sets(), exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps.create_action_sets(), exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_action_sets(), exahype2.solvers.aderdg.ADERDG.ADERDG.create_data_structures(), exahype2.solvers.aderdg.SingleSweep.SingleSweep.create_data_structures(), exahype2.solvers.elliptic.AMRMarker.AMRMarker.create_data_structures(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.create_data_structures(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.create_data_structures(), exahype2.solvers.fv.FV.FV.create_data_structures(), exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.create_data_structures(), exahype2.solvers.fv.rusanov.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking.create_data_structures(), exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking.create_data_structures(), exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking.create_data_structures(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep.create_data_structures(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking.create_data_structures(), exahype2.solvers.fv.SingleSweep.SingleSweep.create_data_structures(), exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting.create_data_structures(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting.create_data_structures(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.create_data_structures(), exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps.create_data_structures(), exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_data_structures(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.create_data_structures(), exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep.create_data_structures(), exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps.create_data_structures(), and exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_data_structures().

Here is the call graph for this function:

◆ name()

exahype2.solvers.fv.FV.FV.name ( self)

Definition at line 1511 of file FV.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, and tarch::services::ServiceRepository::ServiceEntry._name.

Referenced by exahype2.solvers.aderdg.kernels.Gemms.Gemms.__repr__(), swift2.particle.ExplicitEulerFixedSearchRadius.ExplicitEulerFixedSearchRadius.__setup_algorithm_steps(), swift2.particle.LeapfrogFixedSearchRadius.LeapfrogFixedSearchRadius.__setup_algorithm_steps(), swift2.particle.AlgorithmStep.AlgorithmStep.__str__(), peano4.datamodel.DoF.DoF.additional_load_and_store_arguments_for_other_dof(), swift2.particle.ExplicitEulerDynamicSearchRadius.ExplicitEulerDynamicSearchRadius.algorithm_steps(), swift2.particle.tests.DastgenTestDummyParticle.DastgenTestDummyParticle.algorithm_steps(), peano4.solversteps.UserActionSet.UserActionSet.get_action_set_name(), peano4.datamodel.DoF.DoF.get_full_qualified_type(), peano4.datamodel.DoF.DoF.get_logical_type_name(), dastgen2.attributes.Enumeration.Enumeration.get_to_string(), and swift2.particle.Particle.Particle.readme_descriptor().

Here is the caller graph for this function:

◆ overlap() [1/2]

exahype2.solvers.fv.FV.FV.overlap ( self)

◆ overlap() [2/2]

exahype2.solvers.fv.FV.FV.overlap ( self,
value )

Definition at line 1585 of file FV.py.

References exahype2.solvers.fv.FV.FV._overlap, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._overlap, ccz4.CCZ4Solver.create_action_sets(), kernel_testbed.CCZ4Solver.create_action_sets(), performance_testbed.CCZ4Solver.create_action_sets(), SBH.Limiter.create_action_sets(), SBH.FD4SolverWithLimiter.create_action_sets(), SBH.FD4SolverWithoutLimiter.create_action_sets(), SBH.FVSolver.create_action_sets(), exahype2.solvers.aderdg.ADERDG.ADERDG.create_action_sets(), exahype2.solvers.aderdg.SingleSweep.SingleSweep.create_action_sets(), exahype2.solvers.elliptic.AMRMarker.AMRMarker.create_action_sets(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.create_action_sets(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.create_action_sets(), exahype2.solvers.fv.FV.FV.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.fv.SingleSweep.SingleSweep.create_action_sets(), exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting.create_action_sets(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting.create_action_sets(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.create_action_sets(), exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps.create_action_sets(), exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_action_sets(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.create_action_sets(), exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep.create_action_sets(), exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps.create_action_sets(), exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_action_sets(), exahype2.solvers.aderdg.ADERDG.ADERDG.create_data_structures(), exahype2.solvers.aderdg.SingleSweep.SingleSweep.create_data_structures(), exahype2.solvers.elliptic.AMRMarker.AMRMarker.create_data_structures(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.create_data_structures(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.create_data_structures(), exahype2.solvers.fv.FV.FV.create_data_structures(), exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.create_data_structures(), exahype2.solvers.fv.rusanov.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking.create_data_structures(), exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking.create_data_structures(), exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking.create_data_structures(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep.create_data_structures(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking.create_data_structures(), exahype2.solvers.fv.SingleSweep.SingleSweep.create_data_structures(), exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting.create_data_structures(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting.create_data_structures(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.create_data_structures(), exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps.create_data_structures(), exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_data_structures(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.create_data_structures(), exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep.create_data_structures(), exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps.create_data_structures(), and exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_data_structures().

Here is the call graph for this function:

◆ patch_size() [1/2]

◆ patch_size() [2/2]

exahype2.solvers.fv.FV.FV.patch_size ( self,
value )

Definition at line 1434 of file FV.py.

References ccz4.CCZ4Solver._patch_size, ccz4_archived.CCZ4Solver._patch_size, ccz4_archived_24_01_19.CCZ4Solver._patch_size, SSInfall.SSInfallSolver._patch_size, kernel_testbed.CCZ4Solver._patch_size, performance_testbed.CCZ4Solver._patch_size, exahype2.solvers.fv.FV.FV._patch_size, exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._patch_size, ccz4.CCZ4Solver.create_action_sets(), kernel_testbed.CCZ4Solver.create_action_sets(), performance_testbed.CCZ4Solver.create_action_sets(), SBH.Limiter.create_action_sets(), SBH.FD4SolverWithLimiter.create_action_sets(), SBH.FD4SolverWithoutLimiter.create_action_sets(), SBH.FVSolver.create_action_sets(), exahype2.solvers.aderdg.ADERDG.ADERDG.create_action_sets(), exahype2.solvers.aderdg.SingleSweep.SingleSweep.create_action_sets(), exahype2.solvers.elliptic.AMRMarker.AMRMarker.create_action_sets(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.create_action_sets(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.create_action_sets(), exahype2.solvers.fv.FV.FV.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.fv.SingleSweep.SingleSweep.create_action_sets(), exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting.create_action_sets(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting.create_action_sets(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.create_action_sets(), exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps.create_action_sets(), exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_action_sets(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.create_action_sets(), exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep.create_action_sets(), exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps.create_action_sets(), exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_action_sets(), exahype2.solvers.aderdg.ADERDG.ADERDG.create_data_structures(), exahype2.solvers.aderdg.SingleSweep.SingleSweep.create_data_structures(), exahype2.solvers.elliptic.AMRMarker.AMRMarker.create_data_structures(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.create_data_structures(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.create_data_structures(), exahype2.solvers.fv.FV.FV.create_data_structures(), exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.create_data_structures(), exahype2.solvers.fv.rusanov.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking.create_data_structures(), exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking.create_data_structures(), exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking.create_data_structures(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep.create_data_structures(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking.create_data_structures(), exahype2.solvers.fv.SingleSweep.SingleSweep.create_data_structures(), exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting.create_data_structures(), exahype2.solvers.limiting.StaticLimiting.StaticLimiting.create_data_structures(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.create_data_structures(), exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps.create_data_structures(), exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_data_structures(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.create_data_structures(), exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep.create_data_structures(), exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps.create_data_structures(), and exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_data_structures().

Here is the call graph for this function: