![]() |
Peano
|
Two separate sweeps per Runge-Kutta sweep where volumetric operations are outsourced into dedicated tasks. More...
Public Member Functions | |
__init__ (self, name, rk_order, polynomial_basis, number_of_face_projections, unknowns, auxiliary_variables, min_cell_h, max_cell_h, plot_grid_properties, pde_terms_without_state) | |
See superclass constructor for all the interesting info. | |
create_data_structures (self) | |
First, call the superclass' create_data_structures() to ensure that all the data structures are in place. | |
create_action_sets (self) | |
Call superclass routine and then reconfigure the update cell call. | |
add_implementation_files_to_project (self, namespace, output, dimensions, subdirectory="") | |
The ExaHyPE project will call this operation when it sets up the overall environment. | |
add_actions_to_perform_time_step (self, step) | |
Add enclave aspect to time stepping. | |
add_entries_to_text_replacement_dictionary (self, d) | |
switch_storage_scheme (self, Storage cell_data_storage, Storage face_data_storage) | |
By default, we hold all data on the call stacks. | |
![]() | |
__str__ (self) | |
get_min_number_of_spacetree_levels (self, domain_size) | |
get_max_number_of_spacetree_levels (self, domain_size) | |
get_coarsest_number_of_cells (self, domain_size) | |
get_finest_number_of_cells (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. | |
get_name_of_global_instance (self) | |
add_to_Peano4_datamodel (self, datamodel, verbose) | |
Add all required data to the Peano4 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 the action sets to the grid initialisation. | |
add_actions_to_create_grid (self, step, evaluate_refinement_criterion) | |
set_plot_description (self, description) | |
Use this one to set a description within the output patch file that tells the vis solver what the semantics of the entries are. | |
add_actions_to_plot_solution (self, step, output_path) | |
Dump snapshot of solution. | |
set_solver_constants (self, datastring) | |
add_solver_constants (self, datastring) | |
unknowns (self) | |
auxiliary_variables (self) | |
unknowns (self, value) | |
auxiliary_variables (self, value) | |
number_of_Runge_Kutta_steps (self) | |
set_implementation (self, flux=None, ncp=None, eigenvalues=None, boundary_conditions=None, refinement_criterion=None, initial_conditions=None, source_term=None, point_source=None, additional_action_set_includes="", additional_user_includes="") | |
If you pass in User_Defined, then the generator will create C++ stubs that you have to befill manually. | |
postprocess_updated_cell_after_Runge_Kutta_step (self) | |
postprocess_updated_cell_after_final_linear_combination (self) | |
postprocess_updated_cell_after_Runge_Kutta_step (self, kernel) | |
Define a postprocessing routine over the data. | |
postprocess_updated_cell_after_final_linear_combination (self, kernel) | |
Define a postprocessing routine over the data. | |
Data Fields | |
enclave_task_priority | |
make_copy_of_enclave_task_data | |
![]() | |
plot_description | |
select_dofs_to_print | |
Protected Member Functions | |
_volumetric_solver_enclave_task_name (self) | |
![]() | |
_query_fine_grid_cell_in_action_set_if_it_holds_solution (self) | |
_provide_cell_data_to_compute_kernels_default_guard (self) | |
_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(). | |
Two separate sweeps per Runge-Kutta sweep where volumetric operations are outsourced into dedicated tasks.
Use the attributes self.enclave_task_priority to change the priority of the task. This value can either be a string that C++ can evaluate into a priority or a plain numerical value. I set it to
self.enclave_task_priority = "tarch::multicore::Task::DefaultPriority-1"
by default.
Definition at line 83 of file SeparateSweepsWithEnclaveTasking.py.
exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.__init__ | ( | self, | |
name, | |||
rk_order, | |||
polynomial_basis, | |||
number_of_face_projections, | |||
unknowns, | |||
auxiliary_variables, | |||
min_cell_h, | |||
max_cell_h, | |||
plot_grid_properties, | |||
pde_terms_without_state ) |
See superclass constructor for all the interesting info.
It is important to notice that we still use the separate sweep template classes here.
Reimplemented from exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps.
Reimplemented in create-dg-benchmark-executable-with-limiter.MyDGSolver, CCZ4Solver.CCZ4Solver_RKDG_GlobalAdaptiveTimeStepWithEnclaveTasking, and exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.
Definition at line 101 of file SeparateSweepsWithEnclaveTasking.py.
References exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.__init__().
Referenced by exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.__init__().
|
protected |
Definition at line 215 of file SeparateSweepsWithEnclaveTasking.py.
Referenced by exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_implementation_files_to_project().
exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_actions_to_perform_time_step | ( | self, | |
step ) |
Add enclave aspect to time stepping.
If you study the superclass' routine add_actions_to_perform_time_step() and consider that this action set is invoked in the secondary grid sweep, then it becomes clear that this merger has to come first, i.e. we first add the action set and then we call the superclass' add_action_set().
We need the result of the volumetric operation before we sum up this volumetric solution and the Riemann solution.
Reimplemented from exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.
Definition at line 219 of file SeparateSweepsWithEnclaveTasking.py.
References exahype2.solvers.fv.EnclaveTasking.EnclaveTasking._action_set_merge_enclave_task_outcome, exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._action_set_merge_enclave_task_outcome, exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._action_set_merge_enclave_task_outcome, and exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_actions_to_perform_time_step().
Referenced by exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_actions_to_perform_time_step().
exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_entries_to_text_replacement_dictionary | ( | self, | |
d ) |
Reimplemented from exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.
Definition at line 236 of file SeparateSweepsWithEnclaveTasking.py.
References exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._fused_Riemann_compute_kernel_call_stateless_cpu, exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._fused_Riemann_compute_kernel_call_stateless_gpu, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._fused_volumetric_compute_kernel_call_stateless_cpu, exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._fused_volumetric_compute_kernel_call_stateless_cpu, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._fused_volumetric_compute_kernel_call_stateless_gpu, exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._fused_volumetric_compute_kernel_call_stateless_gpu, 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.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_entries_to_text_replacement_dictionary(), SBH.Limiter.enclave_task_priority, exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.enclave_task_priority, exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.enclave_task_priority, exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.enclave_task_priority, exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.make_copy_of_enclave_task_data, exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.make_copy_of_enclave_task_data, and exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.make_copy_of_enclave_task_data.
Referenced by exahype2.solvers.aderdg.ADERDG.ADERDG._generate_kernels(), exahype2.solvers.fv.FV.FV.add_actions_to_checkpoint_solution(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.add_actions_to_checkpoint_solution(), 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.rkdg.RungeKuttaDG.RungeKuttaDG.add_actions_to_plot_solution(), exahype2.solvers.fv.FV.FV.add_actions_to_plot_solution(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.add_actions_to_plot_solution(), exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_entries_to_text_replacement_dictionary(), 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().
exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_implementation_files_to_project | ( | self, | |
namespace, | |||
output, | |||
dimensions, | |||
subdirectory = "" ) |
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 from exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.
Definition at line 177 of file SeparateSweepsWithEnclaveTasking.py.
References 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.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._volumetric_solver_enclave_task_name(), 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.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_implementation_files_to_project(), exahype2.solvers.aderdg.ADERDG.ADERDG.user_action_set_includes, exahype2.solvers.fv.FV.FV.user_action_set_includes(), exahype2.solvers.fv.musclhancock.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.user_action_set_includes(), exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.user_action_set_includes(), exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.user_action_set_includes(), exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep.user_action_set_includes(), exahype2.solvers.fv.riemann.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking.user_action_set_includes(), exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.user_action_set_includes(), exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.user_action_set_includes(), exahype2.solvers.fv.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep.user_action_set_includes(), exahype2.solvers.fv.rusanov.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking.user_action_set_includes(), exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking.user_action_set_includes(), exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking.user_action_set_includes(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking.user_action_set_includes(), exahype2.solvers.fv.SingleSweep.SingleSweep.user_action_set_includes(), exahype2.solvers.limiting.PosterioriLimiting.PosterioriLimiting.user_action_set_includes, exahype2.solvers.limiting.StaticLimiting.StaticLimiting.user_action_set_includes, exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.user_action_set_includes(), exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.user_action_set_includes(), exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.user_action_set_includes(), exahype2.solvers.rkdg.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep.user_action_set_includes(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.user_action_set_includes(), exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.user_action_set_includes(), exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.user_action_set_includes(), exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep.user_action_set_includes(), exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps.user_action_set_includes(), exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.user_action_set_includes(), 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.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_implementation_files_to_project().
exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_action_sets | ( | self | ) |
Call superclass routine and then reconfigure the update cell call.
Only the UpdateCell action set is specific to an enclave solver.
This operation is implicitly called via the superconstructor.
It is important that we add the action set at the right point. See add_actions_to_perform_time_step() for a discussion.
Reimplemented from exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps.
Definition at line 157 of file SeparateSweepsWithEnclaveTasking.py.
References exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._action_set_solve_volume_integral, and exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_action_sets().
Referenced by mgccz4.MGCCZ4Solver.add_derivative_calculation(), exahype2.solvers.aderdg.ADERDG.ADERDG.add_kernel_optimisations(), ccz4.CCZ4Solver.add_Psi4W(), exahype2.solvers.fv.FV.FV.auxiliary_variables(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.auxiliary_variables(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.auxiliary_variables(), exahype2.solvers.elliptic.AMRMarker.AMRMarker.couple_with_FV_solver(), exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_action_sets(), exahype2.solvers.fv.FV.FV.interpolation(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.interpolation(), exahype2.solvers.fv.FV.FV.overlap(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.overlap(), exahype2.solvers.fv.FV.FV.patch_size(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.patch_size(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.postprocess_updated_cell(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.postprocess_updated_cell_after_final_linear_combination(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.postprocess_updated_cell_after_Runge_Kutta_step(), exahype2.solvers.aderdg.ADERDG.ADERDG.postprocess_updated_patch(), exahype2.solvers.fv.FV.FV.postprocess_updated_patch(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.postprocess_updated_patch(), exahype2.solvers.aderdg.ADERDG.ADERDG.preprocess_reconstructed_patch(), exahype2.solvers.fv.FV.FV.preprocess_reconstructed_patch(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.preprocess_reconstructed_patch(), exahype2.solvers.fv.FV.FV.restriction(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.restriction(), exahype2.solvers.aderdg.ADERDG.ADERDG.set_implementation(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.set_implementation(), exahype2.solvers.aderdg.ADERDG.ADERDG.switch_storage_scheme(), exahype2.solvers.fv.FV.FV.switch_storage_scheme(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.switch_storage_scheme(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.switch_storage_scheme(), exahype2.solvers.fv.FV.FV.unknowns(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.unknowns(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.unknowns().
exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_data_structures | ( | self | ) |
First, call the superclass' create_data_structures() to ensure that all the data structures are in place.
The linear combination is to be computed if and only if
Reimplemented from exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps.
Definition at line 147 of file SeparateSweepsWithEnclaveTasking.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.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_data_structures(), 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().
exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.switch_storage_scheme | ( | self, | |
Storage | cell_data_storage, | ||
Storage | face_data_storage ) |
By default, we hold all data on the call stacks.
You can explicitly switch to storage on the heap via smart pointers.
Reimplemented from exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.
Definition at line 259 of file SeparateSweepsWithEnclaveTasking.py.
|
protected |
Definition at line 171 of file SeparateSweepsWithEnclaveTasking.py.
Referenced by exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.add_actions_to_perform_time_step(), exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_actions_to_perform_time_step(), exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_actions_to_perform_time_step(), SBH.Limiter.create_action_sets(), and exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking.create_action_sets().
|
protected |
Definition at line 138 of file SeparateSweepsWithEnclaveTasking.py.
Referenced by exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_entries_to_text_replacement_dictionary().
|
protected |
Definition at line 139 of file SeparateSweepsWithEnclaveTasking.py.
Referenced by exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_entries_to_text_replacement_dictionary().
|
protected |
Definition at line 136 of file SeparateSweepsWithEnclaveTasking.py.
Referenced by exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_entries_to_text_replacement_dictionary().
|
protected |
Definition at line 137 of file SeparateSweepsWithEnclaveTasking.py.
Referenced by exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_entries_to_text_replacement_dictionary().
|
protected |
Definition at line 216 of file SeparateSweepsWithEnclaveTasking.py.
Referenced by exahype2.solvers.aderdg.ADERDG.ADERDG.__str__(), exahype2.solvers.elliptic.AMRMarker.AMRMarker.__str__(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.__str__(), exahype2.solvers.fv.FV.FV.__str__(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.__str__(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.__str__(), solvers.api.Solver.Solver.__str__(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking._enclave_task_name(), exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking._enclave_task_name(), dastgen2.attributes.Enumeration.Enumeration._enum_name(), exahype2.solvers.aderdg.ADERDG.ADERDG._generate_kernels(), exahype2.solvers.aderdg.ADERDG.ADERDG._init_dictionary_with_default_parameters(), exahype2.solvers.fv.FV.FV._init_dictionary_with_default_parameters(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._init_dictionary_with_default_parameters(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._init_dictionary_with_default_parameters(), exahype2.solvers.aderdg.ADERDG.ADERDG._interpolate_face_data_default_guard(), exahype2.solvers.aderdg.SingleSweep.SingleSweep._interpolate_face_data_default_guard(), SBH.Limiter._load_cell_data_default_guard(), exahype2.solvers.aderdg.ADERDG.ADERDG._load_cell_data_default_guard(), exahype2.solvers.fv.FV.FV._load_cell_data_default_guard(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._load_cell_data_default_guard(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._load_cell_data_default_guard(), SBH.Limiter._load_face_data_default_guard(), exahype2.solvers.aderdg.ADERDG.ADERDG._load_face_data_default_guard(), exahype2.solvers.fv.FV.FV._load_face_data_default_guard(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._load_face_data_default_guard(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._load_face_data_default_guard(), SBH.Limiter._provide_cell_data_to_compute_kernels_default_guard(), exahype2.solvers.aderdg.ADERDG.ADERDG._provide_cell_data_to_compute_kernels_default_guard(), exahype2.solvers.fv.FV.FV._provide_cell_data_to_compute_kernels_default_guard(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._provide_cell_data_to_compute_kernels_default_guard(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._provide_cell_data_to_compute_kernels_default_guard(), exahype2.solvers.aderdg.ADERDG.ADERDG._provide_face_data_to_compute_kernels_default_guard(), exahype2.solvers.fv.FV.FV._provide_face_data_to_compute_kernels_default_guard(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._provide_face_data_to_compute_kernels_default_guard(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._provide_face_data_to_compute_kernels_default_guard(), exahype2.solvers.aderdg.SingleSweep.SingleSweep._restrict_face_data_default_guard(), exahype2.solvers.aderdg.ADERDG.ADERDG._store_boundary_data_default_guard(), SBH.Limiter._store_cell_data_default_guard(), exahype2.solvers.aderdg.ADERDG.ADERDG._store_cell_data_default_guard(), exahype2.solvers.fv.FV.FV._store_cell_data_default_guard(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._store_cell_data_default_guard(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._store_cell_data_default_guard(), SBH.Limiter._store_face_data_default_guard(), exahype2.solvers.aderdg.ADERDG.ADERDG._store_face_data_default_guard(), exahype2.solvers.fv.FV.FV._store_face_data_default_guard(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._store_face_data_default_guard(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._store_face_data_default_guard(), exahype2.solvers.aderdg.ADERDG.ADERDG._unknown_identifier(), exahype2.solvers.elliptic.AMRMarker.AMRMarker._unknown_identifier(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells._unknown_identifier(), exahype2.solvers.fv.FV.FV._unknown_identifier(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._unknown_identifier(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._unknown_identifier(), exahype2.solvers.fv.FV.FV.add_actions_to_checkpoint_solution(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.add_actions_to_checkpoint_solution(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.add_actions_to_create_grid(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.add_actions_to_init_grid(), exahype2.solvers.aderdg.ADERDG.ADERDG.add_actions_to_plot_solution(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.add_actions_to_plot_solution(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.add_actions_to_plot_solution(), exahype2.solvers.fv.FV.FV.add_actions_to_plot_solution(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.add_actions_to_plot_solution(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.add_entries_to_text_replacement_dictionary(), exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_entries_to_text_replacement_dictionary(), exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_entries_to_text_replacement_dictionary(), exahype2.solvers.aderdg.ADERDG.ADERDG.add_implementation_files_to_project(), exahype2.solvers.elliptic.AMRMarker.AMRMarker.add_to_Peano4_datamodel(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.add_to_Peano4_datamodel(), SBH.Limiter.create_action_sets(), exahype2.solvers.aderdg.SingleSweep.SingleSweep.create_action_sets(), exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking.create_action_sets(), exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking.create_action_sets(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep.create_action_sets(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking.create_action_sets(), exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps.create_action_sets(), exahype2.solvers.fv.SingleSweep.SingleSweep.create_data_structures(), exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep.create_data_structures(), exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps.create_data_structures(), exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.create_data_structures(), dastgen2.attributes.Attribute.Attribute.get_accessor_name(), dastgen2.attributes.BooleanArray.BooleanArray.get_constructor_arguments(), peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray.get_constructor_arguments(), peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray.get_constructor_arguments(), api.solvers.CollocatedLowOrderDiscretisation.AssemblePetscMatrix.get_constructor_body(), dastgen2.attributes.BooleanArray.BooleanArray.get_first_plain_C_attribute(), dastgen2.attributes.DoubleArray.DoubleArray.get_first_plain_C_attribute(), dastgen2.attributes.IntegerArray.IntegerArray.get_first_plain_C_attribute(), peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray.get_first_plain_C_attribute(), peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray.get_first_plain_C_attribute(), dastgen2.attributes.Boolean.Boolean.get_method_body(), dastgen2.attributes.BooleanArray.BooleanArray.get_method_body(), dastgen2.attributes.Double.Double.get_method_body(), dastgen2.attributes.DoubleArray.DoubleArray.get_method_body(), dastgen2.attributes.Enumeration.Enumeration.get_method_body(), dastgen2.attributes.Integer.Integer.get_method_body(), dastgen2.attributes.IntegerArray.IntegerArray.get_method_body(), dastgen2.attributes.String.String.get_method_body(), dastgen2.attributes.UserDefinedType.UserDefinedType.get_method_body(), peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray.get_method_body(), peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray.get_method_body(), dastgen2.attributes.BooleanArray.BooleanArray.get_methods(), dastgen2.attributes.DoubleArray.DoubleArray.get_methods(), dastgen2.attributes.IntegerArray.IntegerArray.get_methods(), peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray.get_methods(), peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray.get_methods(), exahype2.solvers.aderdg.ADERDG.ADERDG.get_name_of_global_instance(), exahype2.solvers.elliptic.AMRMarker.AMRMarker.get_name_of_global_instance(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.get_name_of_global_instance(), exahype2.solvers.fv.FV.FV.get_name_of_global_instance(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.get_name_of_global_instance(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.get_name_of_global_instance(), dastgen2.attributes.Boolean.Boolean.get_plain_C_attributes(), dastgen2.attributes.BooleanArray.BooleanArray.get_plain_C_attributes(), dastgen2.attributes.Double.Double.get_plain_C_attributes(), dastgen2.attributes.DoubleArray.DoubleArray.get_plain_C_attributes(), dastgen2.attributes.Integer.Integer.get_plain_C_attributes(), dastgen2.attributes.IntegerArray.IntegerArray.get_plain_C_attributes(), dastgen2.attributes.String.String.get_plain_C_attributes(), dastgen2.attributes.UserDefinedType.UserDefinedType.get_plain_C_attributes(), peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray.get_plain_C_attributes(), peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray.get_plain_C_attributes(), dastgen2.attributes.String.String.get_setter_getter_name(), dastgen2.attributes.Boolean.Boolean.get_to_string(), dastgen2.attributes.BooleanArray.BooleanArray.get_to_string(), dastgen2.attributes.Double.Double.get_to_string(), dastgen2.attributes.DoubleArray.DoubleArray.get_to_string(), dastgen2.attributes.Enumeration.Enumeration.get_to_string(), dastgen2.attributes.Integer.Integer.get_to_string(), dastgen2.attributes.IntegerArray.IntegerArray.get_to_string(), dastgen2.attributes.UserDefinedType.UserDefinedType.get_to_string(), peano4.dastgen2.Peano4DoubleArray.Peano4DoubleArray.get_to_string(), peano4.dastgen2.Peano4IntegerArray.Peano4IntegerArray.get_to_string(), dastgen2.attributes.Attribute.Attribute.name(), exahype2.solvers.elliptic.ConstrainedPoissonEquationForMarkerOnCells.ConstrainedPoissonEquationForMarkerOnCells.name(), exahype2.solvers.fv.FV.FV.name(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.name(), solvers.api.Solver.Solver.name(), api.solvers.Solver.Solver.name(), solvers.api.Solver.Solver.typename(), and api.solvers.Solver.Solver.typename().
|
protected |
Definition at line 134 of file SeparateSweepsWithEnclaveTasking.py.
Referenced by exahype2.solvers.fv.FV.FV.__str__(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.__str__(), exahype2.solvers.fv.FV.FV._init_dictionary_with_default_parameters(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._init_dictionary_with_default_parameters(), exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_entries_to_text_replacement_dictionary(), exahype2.solvers.aderdg.AbstractSolverDeclarations.AbstractSolverDeclarations.create_abstract_solver_user_declarations(), exahype2.solvers.aderdg.AbstractSolverDefinitions.AbstractSolverDefinitions.create_abstract_solver_user_definitions(), exahype2.solvers.aderdg.SolverDeclarations.SolverDeclarations.create_solver_user_declarations(), and exahype2.solvers.aderdg.SolverDefinitions.SolverDefinitions.create_solver_user_definitions().
|
protected |
Definition at line 133 of file SeparateSweepsWithEnclaveTasking.py.
Referenced by exahype2.solvers.aderdg.ADERDG.ADERDG.add_implementation_files_to_project().
exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.enclave_task_priority |
Definition at line 141 of file SeparateSweepsWithEnclaveTasking.py.
Referenced by exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.add_entries_to_text_replacement_dictionary(), exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_entries_to_text_replacement_dictionary(), and exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_entries_to_text_replacement_dictionary().
exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.make_copy_of_enclave_task_data |
Definition at line 265 of file SeparateSweepsWithEnclaveTasking.py.
Referenced by exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.add_entries_to_text_replacement_dictionary(), exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_entries_to_text_replacement_dictionary(), and exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_entries_to_text_replacement_dictionary().