![]() |
Peano
|
CCZ4 solver using fourth-order finite differences and global adaptive time stepping incl enclave tasking. More...
Public Member Functions | |
__init__ (self, name, patch_size, rk_order, min_meshcell_h, max_meshcell_h, pde_terms_without_state, second_order=False) | |
Constructor. | |
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, source_term=None, eigenvalues=None, boundary_conditions=None, refinement_criterion=None, initial_conditions=None, memory_location=None, additional_action_set_includes="", additional_user_includes="", KOSigma=None) | |
If you pass in User_Defined, then the generator will create C++ stubs that you have to befill manually. | |
user_action_set_includes (self) | |
Add further includes to this property, if your action sets require some additional routines from other header files. | |
add_entries_to_text_replacement_dictionary (self, d) | |
Invoce superclass and then add one more field: | |
![]() | |
create_data_structures (self) | |
Call the superclass' create_data_structures() to ensure that all the data structures are in place, i.e. | |
create_action_sets (self) | |
Call superclass routine and then reconfigure the update cell call. | |
add_implementation_files_to_project (self, namespace, output, dimensions, subdirectory="") | |
Add the enclave task for the GPU. | |
add_actions_to_perform_time_step (self, step) | |
Add enclave aspect. | |
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_patches (self, domain_size) | |
get_finest_number_of_patches (self, domain_size) | |
get_coarsest_number_of_compute_grid_cells (self, domain_size) | |
get_finest_number_of_compute_grid_cells (self, domain_size) | |
get_coarsest_compute_grid_cell_size (self, domain_size) | |
get_finest_compute_grid_cell_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. | |
number_of_Runge_Kutta_steps (self) | |
Return number of steps required to realise the Runge-Kutta scheme. | |
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, restart_from_checkpoint=False) | |
Add your actions 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) | |
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, restart_from_checkpoint=False) | |
Add action sets to plotting grid sweep. | |
add_actions_to_checkpoint_solution (self, step, output_path, restart_from_checkpoint=False) | |
Add action sets to checkpoint grid sweep. | |
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) | |
Please consult exahype2.solvers.fv.FV.preprocess_reconstructed_patch() for a documentation on this routine. | |
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) | |
Set the interpolation scheme. | |
restriction (self) | |
Set the restriction scheme. | |
restriction (self, value) | |
CCZ4 solver using fourth-order finite differences 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 714 of file CCZ4Solver.py.
CCZ4Solver.CCZ4Solver_FD4_GlobalAdaptiveTimeStepWithEnclaveTasking.__init__ | ( | self, | |
name, | |||
patch_size, | |||
rk_order, | |||
min_meshcell_h, | |||
max_meshcell_h, | |||
pde_terms_without_state, | |||
second_order = False ) |
Constructor.
Calibrate the default time step size calibration with 1/16 to take into account that we have a higher-order numerical scheme.
Reimplemented from CCZ4Solver.AbstractCCZ4Solver.
Reimplemented in SBH.FD4SolverWithoutLimiter, and SBH.FD4SolverWithLimiter.
Definition at line 742 of file CCZ4Solver.py.
References CCZ4Solver.AbstractCCZ4Solver._add_standard_includes(), CCZ4Solver.AbstractCCZ4Solver._FO_formulation_unknowns, CCZ4Solver.construct_FD4_eigenvalues(), CCZ4Solver.construct_FD4_ncp(), CCZ4Solver.construct_FD4_postprocessing_kernel(), CCZ4Solver.construct_FD4_source_term(), CCZ4Solver.AbstractCCZ4Solver.Default_Time_Step_Size_Relaxation, 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_FD4_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.
This is a delegate to add_tracer_to_FD4_solver() which passes the object in as first argument.
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 |
tracer_unknowns | Integer You can set this variable to None. In this case, all variables are dumped. |
Reimplemented from CCZ4Solver.AbstractCCZ4Solver.
Definition at line 825 of file CCZ4Solver.py.
References CCZ4Solver.add_tracer_to_FD4_solver().