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

Public Member Functions

 __init__ (self, name, patch_size, unknowns, auxiliary_variables, min_volume_h, max_volume_h, normalised_time_step_size, initial_conditions=PDETerms.User_Defined_Implementation, boundary_conditions=PDETerms.User_Defined_Implementation, refinement_criterion=PDETerms.Empty_Implementation, flux=PDETerms.None_Implementation, ncp=PDETerms.None_Implementation, eigenvalues=PDETerms.None_Implementation, riemann_solver=PDETerms.User_Defined_Implementation, source_term=PDETerms.None_Implementation, plot_grid_properties=False, pde_terms_without_state=False, overlap=1)
 time_step_size: Float This is the normalised time step size w.r.t.
 set_implementation (self, initial_conditions=None, boundary_conditions=None, refinement_criterion=None, flux=None, ncp=None, eigenvalues=None, riemann_solver=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.
 __str__ (self)
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

 _normalised_time_step_size = normalised_time_step_size
 _flux_implementation = PDETerms.None_Implementation
 _ncp_implementation = PDETerms.None_Implementation
 _eigenvalues_implementation = PDETerms.None_Implementation
 _riemann_solver_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

Static Private Attributes

 __repr__ = __str__

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 15 of file GlobalFixedTimeStep.py.

Constructor & Destructor Documentation

◆ __init__()

exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep.__init__ ( self,
name,
patch_size,
unknowns,
auxiliary_variables,
min_volume_h,
max_volume_h,
normalised_time_step_size,
initial_conditions = PDETerms.User_Defined_Implementation,
boundary_conditions = PDETerms.User_Defined_Implementation,
refinement_criterion = PDETerms.Empty_Implementation,
flux = PDETerms.None_Implementation,
ncp = PDETerms.None_Implementation,
eigenvalues = PDETerms.None_Implementation,
riemann_solver = PDETerms.User_Defined_Implementation,
source_term = PDETerms.None_Implementation,
plot_grid_properties = False,
pde_terms_without_state = False,
overlap = 1 )

time_step_size: Float This is the normalised time step size w.r.t.

the coarsest admissible h value. If the code employs AMR on top of it and refines further, it will automatically downscale the time step size accordingly. So hand in a valid time step size w.r.t. to max_volume_h.

Definition at line 16 of file GlobalFixedTimeStep.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

◆ __str__()

◆ set_implementation()

exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep.set_implementation ( self,
initial_conditions = None,
boundary_conditions = None,
refinement_criterion = None,
flux = None,
ncp = None,
eigenvalues = None,
riemann_solver = 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 77 of file GlobalFixedTimeStep.py.

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.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep.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 230 of file GlobalFixedTimeStep.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

◆ __repr__

exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep.__repr__ = __str__
staticprivate

Definition at line 249 of file GlobalFixedTimeStep.py.

◆ _eigenvalues_implementation

◆ _flux_implementation

◆ _ncp_implementation

◆ _normalised_time_step_size

◆ _riemann_solver_implementation

exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep._riemann_solver_implementation = PDETerms.None_Implementation
protected

◆ _source_term_implementation


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