![]() |
Peano
|
RKDG solver with Rusanov Riemann solver employing global adaptive time stepping. More...
Public Member Functions | |
__init__ (self, name, rk_order, polynomials, unknowns, auxiliary_variables, min_cell_h, max_cell_h, time_step_relaxation, flux=PDETerms.User_Defined_Implementation, eigenvalues=PDETerms.User_Defined_Implementation, ncp=PDETerms.None_Implementation, point_source=PDETerms.None_Implementation, boundary_conditions=PDETerms.User_Defined_Implementation, refinement_criterion=PDETerms.Empty_Implementation, initial_conditions=PDETerms.User_Defined_Implementation, source_term=PDETerms.None_Implementation, plot_grid_properties=False, pde_terms_without_state=False) | |
Construct RKDG solver with adaptive global time step. | |
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. | |
user_action_set_includes (self) | |
Add further includes to this property, if your action sets require some additional routines from other header files. | |
![]() | |
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) | |
We invoke the superclass which creates all the action sets, and then we set the appropriate guards. | |
![]() | |
__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_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. | |
add_actions_to_perform_time_step (self, step) | |
The tricky part here is that we have to get the order right. | |
add_entries_to_text_replacement_dictionary (self, d) | |
add_implementation_files_to_project (self, namespace, output, dimensions, subdirectory="") | |
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) | |
auxiliary_variables (self) | |
unknowns (self, value) | |
auxiliary_variables (self, value) | |
number_of_Runge_Kutta_steps (self) | |
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. | |
switch_storage_scheme (self, Storage cell_data_storage, Storage face_data_storage) | |
By default, we hold all data on the call stacks. | |
Additional Inherited Members | |
![]() | |
plot_description | |
select_dofs_to_print | |
![]() | |
_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(). | |
RKDG solver with Rusanov Riemann solver employing global adaptive time stepping.
Please consult GlobalFixedTimeStep for details. This version is very similar with the big difference being that we add the evaluation and global reduction of the maximum eigenvalue and then adopt the time step size accordingly.
Definition at line 23 of file GlobalAdaptiveTimeStep.py.
exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.__init__ | ( | self, | |
name, | |||
rk_order, | |||
polynomials, | |||
unknowns, | |||
auxiliary_variables, | |||
min_cell_h, | |||
max_cell_h, | |||
time_step_relaxation, | |||
flux = PDETerms.User_Defined_Implementation, | |||
eigenvalues = PDETerms.User_Defined_Implementation, | |||
ncp = PDETerms.None_Implementation, | |||
point_source = PDETerms.None_Implementation, | |||
boundary_conditions = PDETerms.User_Defined_Implementation, | |||
refinement_criterion = PDETerms.Empty_Implementation, | |||
initial_conditions = PDETerms.User_Defined_Implementation, | |||
source_term = PDETerms.None_Implementation, | |||
plot_grid_properties = False, | |||
pde_terms_without_state = False ) |
Construct RKDG solver with adaptive global time step.
Reimplemented from exahype2.solvers.rkdg.SeparateSweeps.SeparateSweeps.
Reimplemented in CCZ4Solver.CCZ4Solver_RKDG_GlobalAdaptiveTimeStep.
Definition at line 34 of file GlobalAdaptiveTimeStep.py.
References exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.__init__().
Referenced by exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.__init__().
exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.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.
If you pass in None_Implementation, it will create nop, i.e., no implementation or defaults. Any other string is copied 1:1 into the implementation. If you pass in None, then the set value so far won't be overwritten.
Please note that not all options are supported by all solvers.
This routine should be the very last invoked by the constructor.
Reimplemented from exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.
Definition at line 95 of file GlobalAdaptiveTimeStep.py.
References exahype2.solvers.fv.AdaptiveSubcyclingTimeSteppingCodeSnippets.AdaptiveSubcyclingTimeSteppingCodeSnippets._time_step_relaxation, exahype2.solvers.fv.AdaptiveTimeSteppingCodeSnippets.AdaptiveTimeSteppingCodeSnippets._time_step_relaxation, exahype2.solvers.fv.LocalTimeSteppingCodeSnippets.LocalTimeSteppingCodeSnippets._time_step_relaxation, exahype2.solvers.fv.musclhancock.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._time_step_relaxation, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._time_step_relaxation, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._time_step_relaxation, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._time_step_relaxation, exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._time_step_relaxation, exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking._time_step_relaxation, exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking._time_step_relaxation, exahype2.solvers.rkdg.AdaptiveTimeSteppingCodeSnippets.AdaptiveTimeSteppingCodeSnippets._time_step_relaxation, exahype2.solvers.rkdg.OptimisticAdaptiveTimeSteppingCodeSnippets.OptimisticAdaptiveTimeSteppingCodeSnippets._time_step_relaxation, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._time_step_relaxation, exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._time_step_relaxation, exahype2.solvers.rkfd.AdaptiveTimeSteppingCodeSnippets.AdaptiveTimeSteppingCodeSnippets._time_step_relaxation, exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._time_step_relaxation, exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._time_step_relaxation, and exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.set_implementation().
Referenced by SBH.FVSolver.__init__(), ccz4.CCZ4Solver.__init__(), CCZ4Solver.CCZ4Solver_FV_GlobalAdaptiveTimeStep.__init__(), CCZ4Solver.CCZ4Solver_FV_GlobalAdaptiveTimeStepWithEnclaveTasking.__init__(), CCZ4Solver.CCZ4Solver_FD4_GlobalAdaptiveTimeStepWithEnclaveTasking.__init__(), CCZ4Solver.CCZ4Solver_FD4_GlobalAdaptiveTimeStep.__init__(), CCZ4Solver.CCZ4Solver_RKDG_GlobalAdaptiveTimeStepWithEnclaveTasking.__init__(), CCZ4Solver.CCZ4Solver_RKDG_GlobalAdaptiveTimeStep.__init__(), and exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.set_implementation().
exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.user_action_set_includes | ( | self | ) |
Add further includes to this property, if your action sets require some additional routines from other header files.
Reimplemented from exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.
Definition at line 149 of file GlobalAdaptiveTimeStep.py.
Referenced by exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.add_implementation_files_to_project(), exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_implementation_files_to_project(), exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_implementation_files_to_project(), exahype2.solvers.aderdg.ADERDG.ADERDG.add_user_action_set_includes(), exahype2.solvers.aderdg.ADERDG.ADERDG.get_user_action_set_includes(), and exahype2.solvers.aderdg.ADERDG.ADERDG.set_implementation().
|
protected |
Definition at line 132 of file GlobalAdaptiveTimeStep.py.
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(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._init_dictionary_with_default_parameters().
|
protected |
Definition at line 134 of file GlobalAdaptiveTimeStep.py.
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(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._init_dictionary_with_default_parameters().
|
protected |
Definition at line 79 of file GlobalAdaptiveTimeStep.py.
Referenced by exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._init_dictionary_with_default_parameters().
|
protected |
Definition at line 72 of file GlobalAdaptiveTimeStep.py.
Referenced by exahype2.solvers.fv.FV.FV._init_dictionary_with_default_parameters(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._init_dictionary_with_default_parameters(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._init_dictionary_with_default_parameters().
|
protected |
Definition at line 141 of file GlobalAdaptiveTimeStep.py.
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(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._init_dictionary_with_default_parameters().
|
protected |
Definition at line 140 of file GlobalAdaptiveTimeStep.py.
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(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._init_dictionary_with_default_parameters().
|
protected |
Definition at line 145 of file GlobalAdaptiveTimeStep.py.
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(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._init_dictionary_with_default_parameters().
|
protected |
Definition at line 144 of file GlobalAdaptiveTimeStep.py.
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(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._init_dictionary_with_default_parameters().
|
protected |
Definition at line 74 of file GlobalAdaptiveTimeStep.py.
Referenced by exahype2.solvers.fv.FV.FV._init_dictionary_with_default_parameters(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._init_dictionary_with_default_parameters(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._init_dictionary_with_default_parameters().
|
protected |
Definition at line 80 of file GlobalAdaptiveTimeStep.py.
Referenced by exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._init_dictionary_with_default_parameters().
|
protected |
Definition at line 77 of file GlobalAdaptiveTimeStep.py.
Referenced by exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._init_dictionary_with_default_parameters().
|
protected |
Definition at line 137 of file GlobalAdaptiveTimeStep.py.
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(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._init_dictionary_with_default_parameters().
|
protected |
Definition at line 138 of file GlobalAdaptiveTimeStep.py.
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(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._init_dictionary_with_default_parameters().
|
protected |
Definition at line 143 of file GlobalAdaptiveTimeStep.py.
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(), and exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences._init_dictionary_with_default_parameters().
|
protected |
Definition at line 71 of file GlobalAdaptiveTimeStep.py.
Referenced by exahype2.solvers.fv.AdaptiveSubcyclingTimeSteppingCodeSnippets.AdaptiveSubcyclingTimeSteppingCodeSnippets.create_finish_time_step_implementation(), exahype2.solvers.fv.AdaptiveTimeSteppingCodeSnippets.AdaptiveTimeSteppingCodeSnippets.create_finish_time_step_implementation(), exahype2.solvers.rkdg.AdaptiveTimeSteppingCodeSnippets.AdaptiveTimeSteppingCodeSnippets.create_finish_time_step_implementation(), exahype2.solvers.rkdg.OptimisticAdaptiveTimeSteppingCodeSnippets.OptimisticAdaptiveTimeSteppingCodeSnippets.create_finish_time_step_implementation(), exahype2.solvers.rkfd.AdaptiveTimeSteppingCodeSnippets.AdaptiveTimeSteppingCodeSnippets.create_finish_time_step_implementation(), exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.set_implementation(), and exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.set_implementation().
|
protected |
Definition at line 75 of file GlobalAdaptiveTimeStep.py.
Referenced by exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._init_dictionary_with_default_parameters().
|
protected |
Definition at line 76 of file GlobalAdaptiveTimeStep.py.
Referenced by exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG._init_dictionary_with_default_parameters().