Peano
Loading...
Searching...
No Matches
exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep Class Reference
Inheritance diagram for exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep:
Collaboration diagram for exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep:

Public Member Functions

 __init__ (self, name, patch_size, rk_order, unknowns, auxiliary_variables, min_meshcell_h, max_meshcell_h, time_step_relaxation, reconstruction_with_rk=False, flux=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, eigenvalues=PDETerms.User_Defined_Implementation, plot_grid_properties=False, KOSigma=8.0)
 Construct solver.
 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, reconstruction_with_rk=False)
 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)
 d: Dictionary of string to string in/out argument
Public Member Functions inherited from exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps
 __init__ (self, name, patch_size, overlap, rk_order, unknowns, auxiliary_variables, min_meshcell_h, max_meshcell_h, plot_grid_properties, kernel_namespace)
 Instantiate a generic FV scheme with an overlap of 1.
 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.
Public Member Functions inherited from exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences
 __init__ (self, name, patch_size, overlap, rk_order, unknowns, auxiliary_variables, min_meshcell_h, max_meshcell_h, plot_grid_properties, kernel_namespace, baseline_action_set_descend_invocation_order=0)
 name: string A unique name for the solver.
 __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.
 add_actions_to_perform_time_step (self, step)
 AMR.
 add_implementation_files_to_project (self, namespace, output, dimensions, subdirectory="")
 The ExaHyPE2 project will call this operation when it sets up the overall environment.
 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)
 switch_storage_scheme (self, Storage cell_data_storage, Storage face_data_storage)
 By default, we hold all data on the call stacks.

Protected Attributes

 _time_step_relaxation = time_step_relaxation
 _KO_Sigma = KOSigma
Protected Attributes inherited from exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps
 _flux_implementation = PDETerms.None_Implementation
 _ncp_implementation = PDETerms.None_Implementation
 _eigenvalues_implementation = PDETerms.None_Implementation
 _source_term_implementation = PDETerms.None_Implementation
 _reconstruction_stages
Protected Attributes inherited from exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences
 _name = name
 _min_meshcell_h = min_meshcell_h
 _max_meshcell_h = max_meshcell_h
 _plot_grid_properties = plot_grid_properties
 _patch_size = patch_size
 _overlap = overlap
 _rk_order = rk_order
bool _use_var_shortcut = False
list _variable_names = []
list _variable_pos = [0]
 _unknowns = sum(unknowns.values())
 _auxiliary_variables = sum(auxiliary_variables.values())
str _solver_constants = ""
str _user_action_set_includes = ""
str _user_solver_includes = ""
 _kernel_namespace = kernel_namespace
tuple _reconstructed_array_memory_location
 _solver_template_file_class_name = None
str _plot_description = ""
tuple _action_set_initial_conditions = None
tuple _action_set_initial_conditions_for_grid_construction = None
 _action_set_AMR = None
tuple _action_set_AMR_commit_without_further_analysis = None
tuple _action_set_handle_boundary = None
tuple _action_set_project_patch_onto_faces = None
tuple _action_set_roll_over_update_of_faces = None
tuple _action_set_copy_new_faces_onto_old_faces = None
tuple _action_set_couple_resolution_transitions_and_handle_dynamic_mesh_refinement
tuple _action_set_postprocess_solution = None
tuple _action_set_preprocess_solution = None
str _compute_time_step_size = "#error Not yet defined"
str _compute_new_time_step_size = "#error Not yet defined"
str _preprocess_reconstructed_patch = ""
str _postprocess_updated_patch = ""
str _compute_kernel_call = "#error Not yet defined"
str _reconstruction_kernel_call = "#error Not yet defined"
str _primary_variables_indices = "#error Not yet defined"
str _auxiliary_variables_indices = "#error Not yet defined"
bool _compute_eigenvalue = False
str _abstract_solver_user_declarations = ""
str _abstract_solver_user_definitions = ""
str _solver_user_declarations = ""
str _solver_user_definitions = ""
str _start_time_step_implementation = ""
str _finish_time_step_implementation = ""
str _constructor_implementation = ""
 _boundary_conditions_implementation = None
 _refinement_criterion_implementation = None
 _initial_conditions_implementation = None
str _interpolation = "#error Not yet defined"
str _restriction = "#error Not yet defined"
 _baseline_action_set_descend_invocation_order = baseline_action_set_descend_invocation_order
 _patch
 _patch_estimates
 _patch_overlap_old
 _patch_overlap_new
 _patch_overlap_update
 _cell_data_storage = Storage.CallStack:
 _face_data_storage = Storage.CallStack:
 _cell_label = exahype2.grid.create_cell_label(self._name)
 _face_label = exahype2.grid.create_face_label(self._name)
tuple _action_set_AMR_throughout_grid_construction
tuple _action_set_compute_final_linear_combination
 _action_set_update_face_label = exahype2.grid.UpdateFaceLabel(self._name)
 _action_set_update_cell_label = exahype2.grid.UpdateCellLabel(self._name)
 _action_set_update_cell = None

Additional Inherited Members

Data Fields inherited from exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences
 select_dofs_to_print = None
Protected Member Functions inherited from exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences
 _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().

Detailed Description

Definition at line 21 of file GlobalAdaptiveTimeStep.py.

Constructor & Destructor Documentation

◆ __init__()

exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.__init__ ( self,
name,
patch_size,
rk_order,
unknowns,
auxiliary_variables,
min_meshcell_h,
max_meshcell_h,
time_step_relaxation,
reconstruction_with_rk = False,
flux = 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,
eigenvalues = PDETerms.User_Defined_Implementation,
plot_grid_properties = False,
KOSigma = 8.0 )

Construct solver.

time_step_relaxation: Float Calibration factor of CFL condition. The Runge-Kutta order is multiplied with this value following the formula for Cockburn-Shu damping. However, also the actual polynomial order has to enter the chosen time step size through an additional \( p^{-2} \) scaling. We expect the user to incorporate such an additional scaling within time_step_relaxation.

Definition at line 22 of file GlobalAdaptiveTimeStep.py.

Member Function Documentation

◆ add_entries_to_text_replacement_dictionary()

exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.add_entries_to_text_replacement_dictionary ( self,
d )

d: Dictionary of string to string in/out argument

Reimplemented from exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps.

Definition at line 157 of file GlobalAdaptiveTimeStep.py.

References _reconstruction_stages.

◆ set_implementation()

exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.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,
reconstruction_with_rk = False )

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.rkfd.SeparateSweeps.SeparateSweeps.

Definition at line 80 of file GlobalAdaptiveTimeStep.py.

References _KO_Sigma, and set_implementation().

Referenced by ccz4.CCZ4Solver.__init__(), CCZ4Solver.CCZ4Solver_FD4_GlobalAdaptiveTimeStep.__init__(), CCZ4Solver.CCZ4Solver_FD4_GlobalAdaptiveTimeStepWithEnclaveTasking.__init__(), and set_implementation().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ user_action_set_includes()

exahype2.solvers.rkfd.fd4.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.rkfd.SeparateSweeps.SeparateSweeps.

Definition at line 151 of file GlobalAdaptiveTimeStep.py.

Field Documentation

◆ _KO_Sigma

◆ _time_step_relaxation

exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._time_step_relaxation = time_step_relaxation
protected

Definition at line 65 of file GlobalAdaptiveTimeStep.py.


The documentation for this class was generated from the following file: