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

Public Member Functions

 __init__ (self, name, patch_size, unknowns, auxiliary_variables, min_volume_h, max_volume_h, time_step_relaxation, flux=PDETerms.User_Defined_Implementation, ncp=PDETerms.None_Implementation, eigenvalues=PDETerms.User_Defined_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, overlap=1)
 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.
 user_action_set_includes (self)
 Add further includes to this property, if your action sets require some additional routines from other header files.
Public Member Functions inherited from exahype2.solvers.fv.SingleSweep.SingleSweep
 __init__ (self, name, patch_size, overlap, unknowns, auxiliary_variables, min_volume_h, max_volume_h, bool pde_terms_without_state, bool 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., each cell can host a patch, that each face hosts patch overlaps, and so forth.
 create_action_sets (self)
 Call superclass routine and then reconfigure the update cell call.
 add_entries_to_text_replacement_dictionary (self, d)
 d: Dictionary of string to string in/out argument
Public Member Functions inherited from exahype2.solvers.fv.FV.FV
 __init__ (self, name, patch_size, overlap, unknowns, auxiliary_variables, min_volume_h, max_volume_h, plot_grid_properties, bool pde_terms_without_state, kernel_namespace, baseline_action_set_descend_invocation_order=0)
 Create 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_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.
 add_actions_to_init_grid (self, step, restart_from_checkpoint=False)
 Add all the action sets 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)
 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.
 add_actions_to_perform_time_step (self, step)
 Add action sets to time step.
 add_implementation_files_to_project (self, namespace, output, dimensions, subdirectory="", abstract_overwrite=True)
 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)
 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)
 switch_storage_scheme (self, Storage cell_data_storage, Storage face_data_storage)
 By default, we hold all data on the heap using smart pointers.

Protected Attributes

 _time_step_relaxation = time_step_relaxation
 _flux_implementation = PDETerms.None_Implementation
 _ncp_implementation = PDETerms.None_Implementation
 _eigenvalues_implementation = PDETerms.None_Implementation
 _source_term_implementation = PDETerms.None_Implementation
Protected Attributes inherited from exahype2.solvers.fv.SingleSweep.SingleSweep
 _use_split_loop = use_split_loop
Protected Attributes inherited from exahype2.solvers.fv.FV.FV
 _name = name
 _min_volume_h = min_volume_h
 _max_volume_h = max_volume_h
 _plot_grid_properties = plot_grid_properties
 _patch_size = patch_size
 _overlap = overlap
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 = ""
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
 _action_set_AMR_throughout_grid_construction = 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 _compute_kernel_call_stateless = "#error Not yet defined"
 _pde_terms_without_state = pde_terms_without_state
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 = "piecewise_constant"
str _restriction = "averaging"
 _kernel_namespace = kernel_namespace
 _baseline_action_set_descend_invocation_order = baseline_action_set_descend_invocation_order
 _patch
 _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)
 _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.fv.FV.FV
 select_dofs_to_print = None
Protected Member Functions inherited from exahype2.solvers.fv.FV.FV
 _provide_cell_data_to_compute_kernels_default_guard (self)
 Default logic when to create cell data or not.
 _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.fv.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.__init__ ( self,
name,
patch_size,
unknowns,
auxiliary_variables,
min_volume_h,
max_volume_h,
time_step_relaxation,
flux = PDETerms.User_Defined_Implementation,
ncp = PDETerms.None_Implementation,
eigenvalues = PDETerms.User_Defined_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,
overlap = 1 )

Definition at line 22 of file GlobalAdaptiveTimeStep.py.

References __init__().

Referenced by __init__().

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

Member Function Documentation

◆ set_implementation()

exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.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.

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.fv.SingleSweep.SingleSweep.

Definition at line 62 of file GlobalAdaptiveTimeStep.py.

References exahype2.solvers.aderdg.AbstractSolverDeclarations.AbstractSolverDeclarations._eigenvalues_implementation, exahype2.solvers.aderdg.AbstractSolverDefinitions.AbstractSolverDefinitions._eigenvalues_implementation, exahype2.solvers.aderdg.ADERDG.ADERDG._eigenvalues_implementation, exahype2.solvers.aderdg.SolverDeclarations.SolverDeclarations._eigenvalues_implementation, exahype2.solvers.aderdg.SolverDefinitions.SolverDefinitions._eigenvalues_implementation, exahype2.solvers.fv.musclhancock.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._eigenvalues_implementation, exahype2.solvers.fv.musclhancock.GlobalFixedTimeStep.GlobalFixedTimeStep._eigenvalues_implementation, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._eigenvalues_implementation, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._eigenvalues_implementation, exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep._eigenvalues_implementation, exahype2.solvers.fv.riemann.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._eigenvalues_implementation, _eigenvalues_implementation, exahype2.solvers.aderdg.AbstractSolverDeclarations.AbstractSolverDeclarations._flux_implementation, exahype2.solvers.aderdg.AbstractSolverDefinitions.AbstractSolverDefinitions._flux_implementation, exahype2.solvers.aderdg.ADERDG.ADERDG._flux_implementation, exahype2.solvers.aderdg.SolverDeclarations.SolverDeclarations._flux_implementation, exahype2.solvers.aderdg.SolverDefinitions.SolverDefinitions._flux_implementation, exahype2.solvers.fv.musclhancock.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._flux_implementation, exahype2.solvers.fv.musclhancock.GlobalFixedTimeStep.GlobalFixedTimeStep._flux_implementation, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._flux_implementation, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._flux_implementation, exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep._flux_implementation, exahype2.solvers.fv.riemann.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._flux_implementation, _flux_implementation, exahype2.solvers.aderdg.AbstractSolverDeclarations.AbstractSolverDeclarations._ncp_implementation, exahype2.solvers.aderdg.AbstractSolverDefinitions.AbstractSolverDefinitions._ncp_implementation, exahype2.solvers.aderdg.ADERDG.ADERDG._ncp_implementation, exahype2.solvers.aderdg.SolverDeclarations.SolverDeclarations._ncp_implementation, exahype2.solvers.aderdg.SolverDefinitions.SolverDefinitions._ncp_implementation, exahype2.solvers.fv.musclhancock.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._ncp_implementation, exahype2.solvers.fv.musclhancock.GlobalFixedTimeStep.GlobalFixedTimeStep._ncp_implementation, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._ncp_implementation, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._ncp_implementation, exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep._ncp_implementation, exahype2.solvers.fv.riemann.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._ncp_implementation, _ncp_implementation, exahype2.solvers.aderdg.AbstractSolverDeclarations.AbstractSolverDeclarations._source_term_implementation, exahype2.solvers.aderdg.AbstractSolverDefinitions.AbstractSolverDefinitions._source_term_implementation, exahype2.solvers.aderdg.ADERDG.ADERDG._source_term_implementation, exahype2.solvers.aderdg.SolverDeclarations.SolverDeclarations._source_term_implementation, exahype2.solvers.aderdg.SolverDefinitions.SolverDefinitions._source_term_implementation, exahype2.solvers.fv.musclhancock.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._source_term_implementation, exahype2.solvers.fv.musclhancock.GlobalFixedTimeStep.GlobalFixedTimeStep._source_term_implementation, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._source_term_implementation, exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._source_term_implementation, exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep._source_term_implementation, exahype2.solvers.fv.riemann.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking._source_term_implementation, and _source_term_implementation.

Referenced by ccz4.CCZ4Solver.__init__(), CCZ4Solver.CCZ4Solver_FD4_GlobalAdaptiveTimeStep.__init__(), CCZ4Solver.CCZ4Solver_FD4_GlobalAdaptiveTimeStepWithEnclaveTasking.__init__(), CCZ4Solver.CCZ4Solver_FV_GlobalAdaptiveTimeStep.__init__(), CCZ4Solver.CCZ4Solver_RKDG_GlobalAdaptiveTimeStep.__init__(), and CCZ4Solver.CCZ4Solver_RKDG_GlobalAdaptiveTimeStepWithEnclaveTasking.__init__().

Here is the caller graph for this function:

◆ user_action_set_includes()

exahype2.solvers.fv.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.fv.SingleSweep.SingleSweep.

Definition at line 128 of file GlobalAdaptiveTimeStep.py.

Referenced by exahype2.solvers.rkdg.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_implementation_files_to_project(), and exahype2.solvers.rkfd.SeparateSweepsWithEnclaveTasking.SeparateSweepsWithEnclaveTasking.add_implementation_files_to_project().

Here is the caller graph for this function:

Field Documentation

◆ _eigenvalues_implementation

◆ _flux_implementation

◆ _ncp_implementation

◆ _source_term_implementation

◆ _time_step_relaxation


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