![]() |
Peano
|
Construct 4th order Finite Differences solver without a limiter. More...
Public Member Functions | |
__init__ (self, name, patch_size, min_cell_size, max_cell_size) | |
Constructor. | |
create_action_sets (self) | |
Tailor action set behaviour. | |
![]() | |
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. | |
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) | |
Construct 4th order Finite Differences solver without a limiter.
SBH.FD4SolverWithoutLimiter.__init__ | ( | self, | |
name, | |||
patch_size, | |||
rk_order, | |||
min_meshcell_h ) |
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.CCZ4Solver_FD4_GlobalAdaptiveTimeStepWithEnclaveTasking.
SBH.FD4SolverWithoutLimiter.create_action_sets | ( | self | ) |
Tailor action set behaviour.
We first make a few additional cells skeleton cells. The rationale behind additional skeletons is given in the generic overview. Given the first remark there on FD4-FV coupling, one would be tempted to use the predicate
Once we study the other items (notably the fourth), we see that it is reasonable to make all the overlap region a skeleton within the FD4 solver.
Reimplemented from exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.
Definition at line 612 of file SBH.py.
References 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, and SBH.FD4SolverWithoutLimiter.create_action_sets().
Referenced by mgccz4.MGCCZ4Solver.add_derivative_calculation(), exahype2.solvers.aderdg.ADERDG.ADERDG.add_kernel_optimisations(), ccz4.CCZ4Solver.add_Psi4W(), exahype2.solvers.fv.FV.FV.auxiliary_variables(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.auxiliary_variables(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.auxiliary_variables(), exahype2.solvers.elliptic.AMRMarker.AMRMarker.couple_with_FV_solver(), SBH.FD4SolverWithoutLimiter.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().
|
protected |
Definition at line 667 of file SBH.py.
Referenced by exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.__str__(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.__str__(), 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(), mgccz4.MGCCZ4Solver.add_derivative_calculation(), SSInfall.SSInfallSolver.add_mass_cal_rhointer(), ccz4.CCZ4Solver.add_Psi4W(), 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.fv.FV.FV.auxiliary_variables(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.auxiliary_variables(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.auxiliary_variables().
|
protected |