![]() |
Peano
|
CCZ4 solver using finite volumes and global adaptive time stepping incl enclave tasking. More...
Public Member Functions | |
__init__ (self, name, patch_size, min_volume_h, max_volume_h, pde_terms_without_state) | |
Construct solver with enclave tasking and adaptive time stepping. | |
add_tracer (self, name, coordinates, project, number_of_entries_between_two_db_flushes, data_delta_between_two_snapsots, time_delta_between_two_snapsots, clear_database_after_flush, tracer_unknowns) | |
Add tracer to project. | |
![]() | |
enable_second_order (self) | |
add_all_solver_constants (self) | |
Add domain-specific constants. | |
add_makefile_parameters (self, peano4_project, path_of_ccz4_application) | |
Add include path and minimal required cpp files to makefile. | |
![]() | |
set_implementation (self, flux=None, ncp=None, eigenvalues=None, boundary_conditions=None, refinement_criterion=None, initial_conditions=None, source_term=None, memory_location=None, use_split_loop=False, additional_action_set_includes="", additional_user_includes="") | |
If you pass in User_Defined, then the generator will create C++ stubs that you have to befill manually. | |
create_data_structures (self) | |
This routine does not really add new data, but it heavily tailors when data are stored, exchanged, ... Each generator has some guard attributes, i.e., some guards, which control when data is stored, sent, received. | |
user_action_set_includes (self) | |
Add further includes to this property, if your action sets require some additional routines from other header files. | |
![]() | |
create_action_sets (self) | |
Adaptive mesh handing. | |
add_entries_to_text_replacement_dictionary (self, d) | |
d: Dictionary of string to string in/out argument | |
add_actions_to_create_grid (self, step, evaluate_refinement_criterion) | |
The boundary information is set only once. | |
add_actions_to_init_grid (self, step) | |
Add all the action sets to init grid. | |
add_actions_to_perform_time_step (self, step) | |
Add enclave aspect to time stepping. | |
add_implementation_files_to_project (self, namespace, output, dimensions, subdirectory="") | |
The ExaHyPE project will call this operation when it sets up the overall environment. | |
switch_storage_scheme (self, Storage cell_data_storage, Storage face_data_storage) | |
By default, we hold all data on the heap using smart pointers. | |
![]() | |
__str__ (self) | |
get_min_number_of_spacetree_levels (self, domain_size) | |
get_max_number_of_spacetree_levels (self, domain_size) | |
get_coarsest_number_of_patches (self, domain_size) | |
get_finest_number_of_patches (self, domain_size) | |
get_coarsest_number_of_finite_volumes (self, domain_size) | |
get_finest_number_of_finite_volumes (self, domain_size) | |
get_coarsest_volume_size (self, domain_size) | |
get_finest_volume_size (self, domain_size) | |
create_readme_descriptor (self, domain_offset, domain_size) | |
user_solver_includes (self) | |
Add further includes to this property, if your solver requires some additional routines from other header files. | |
add_user_action_set_includes (self, value) | |
Add further includes to this property, if your action sets require some additional routines from other header files. | |
add_user_solver_includes (self, value) | |
Add further includes to this property, if your solver requires some additional routines from other header files. | |
get_name_of_global_instance (self) | |
add_to_Peano4_datamodel (self, datamodel, verbose) | |
Add all required data to the Peano project's datamodel so it is properly built up. | |
add_use_data_statements_to_Peano4_solver_step (self, step) | |
Tell Peano what data to move around. | |
plot_description (self) | |
plot_description (self, description) | |
Add a proper description to the plots. | |
add_actions_to_plot_solution (self, step, output_path, restart_from_checkpoint=False) | |
Add action sets to plot solution step. | |
add_actions_to_checkpoint_solution (self, step, output_path, restart_from_checkpoint=False) | |
Add action sets to plot solution step. | |
set_solver_constants (self, datastring) | |
add_solver_constants (self, datastring) | |
unknowns (self) | |
patch_size (self) | |
auxiliary_variables (self) | |
patch_size (self, value) | |
unknowns (self, value) | |
auxiliary_variables (self, value) | |
preprocess_reconstructed_patch (self) | |
preprocess_reconstructed_patch (self, kernel) | |
Set a new processing kernel. | |
name (self) | |
postprocess_updated_patch (self) | |
postprocess_updated_patch (self, kernel) | |
Define a postprocessing routine over the data. | |
overlap (self) | |
overlap (self, value) | |
interpolation (self) | |
interpolation (self, value) | |
restriction (self) | |
restriction (self, value) | |
CCZ4 solver using finite volumes and global adaptive time stepping incl enclave tasking.
The constructor of this classs is straightforward and realises the standard steps of any numerical implementation of the CCZ4 scheme:
Definition at line 364 of file CCZ4Solver.py.
CCZ4Solver.CCZ4Solver_FV_GlobalAdaptiveTimeStepWithEnclaveTasking.__init__ | ( | self, | |
name, | |||
patch_size, | |||
min_volume_h, | |||
max_volume_h, | |||
pde_terms_without_state ) |
Construct solver with enclave tasking and adaptive time stepping.
Reimplemented from CCZ4Solver.AbstractCCZ4Solver.
Reimplemented in SBH.Limiter, and SBH.FVSolver.
Definition at line 390 of file CCZ4Solver.py.
References CCZ4Solver.AbstractCCZ4Solver._add_standard_includes(), CCZ4Solver.AbstractCCZ4Solver._FO_formulation_unknowns, CCZ4Solver.construct_FV_eigenvalues(), CCZ4Solver.construct_FV_ncp(), CCZ4Solver.construct_FV_postprocessing_kernel(), CCZ4Solver.construct_FV_source_term(), ccz4.CCZ4Solver.postprocess_updated_patch, ccz4_archived.CCZ4Solver.postprocess_updated_patch, ccz4_archived_24_01_19.CCZ4Solver.postprocess_updated_patch, kernel_testbed.CCZ4Solver.postprocess_updated_patch, performance_testbed.CCZ4Solver.postprocess_updated_patch, 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.postprocess_updated_patch(), exahype2.solvers.fv.FV.FV.postprocess_updated_patch(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.postprocess_updated_patch(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.set_implementation(), exahype2.solvers.fv.SingleSweep.SingleSweep.set_implementation(), exahype2.solvers.aderdg.ADERDG.ADERDG.set_implementation(), exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep.set_implementation(), exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps.set_implementation(), exahype2.solvers.rkdg.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep.set_implementation(), exahype2.solvers.fv.musclhancock.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.set_implementation(), exahype2.solvers.fv.musclhancock.GlobalFixedTimeStep.GlobalFixedTimeStep.set_implementation(), exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.set_implementation(), exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.fv.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep.set_implementation(), exahype2.solvers.fv.rusanov.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep.set_implementation(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.aderdg.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.set_implementation(), exahype2.solvers.aderdg.GlobalFixedTimeStep.GlobalFixedTimeStep.set_implementation(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.set_implementation(), exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.set_implementation(), exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.set_implementation(), exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.rkfd.fd4.GlobalFixedTimeStep.GlobalFixedTimeStep.set_implementation(), exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.set_implementation(), exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep.set_implementation(), and exahype2.solvers.fv.riemann.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking.set_implementation().
CCZ4Solver.CCZ4Solver_FV_GlobalAdaptiveTimeStepWithEnclaveTasking.add_tracer | ( | self, | |
name, | |||
coordinates, | |||
project, | |||
number_of_entries_between_two_db_flushes, | |||
data_delta_between_two_snapsots, | |||
time_delta_between_two_snapsots, | |||
clear_database_after_flush, | |||
tracer_unknowns ) |
Add tracer to project.
Consult exahype2.tracer.DumpTracerIntoDatabase for an explanation of some of the arguments. Most of them are simply piped through to this class.
project: exahype2.Project
Reimplemented from CCZ4Solver.AbstractCCZ4Solver.
Definition at line 428 of file CCZ4Solver.py.
References CCZ4Solver.add_tracer_to_FV_solver().