Peano
Loading...
Searching...
No Matches
CCZ4Solver.CCZ4Solver_FV_GlobalAdaptiveTimeStep Class Reference

CCZ4 solver using finite volumes and global adaptive time stepping incl enclave tasking. More...

Inheritance diagram for CCZ4Solver.CCZ4Solver_FV_GlobalAdaptiveTimeStep:
Collaboration diagram for CCZ4Solver.CCZ4Solver_FV_GlobalAdaptiveTimeStep:

Public Member Functions

 __init__ (self, name, patch_size, min_volume_h, max_volume_h, pde_terms_without_state)
 Constructor.
 
 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.
 
- Public Member Functions inherited from CCZ4Solver.AbstractCCZ4Solver
 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.
 
- Public Member Functions inherited from 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.
 
 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
 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
 __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.
 

Additional Inherited Members

- Data Fields inherited from CCZ4Solver.AbstractCCZ4Solver
 integer_constants
 
 double_constants
 
 Default_Time_Step_Size_Relaxation
 
- Data Fields inherited from exahype2.solvers.fv.FV.FV
 select_dofs_to_print
 
- Static Public Attributes inherited from CCZ4Solver.AbstractCCZ4Solver
float Default_Time_Step_Size_Relaxation = 0.1
 
- Protected Member Functions inherited from CCZ4Solver.AbstractCCZ4Solver
 _add_standard_includes (self)
 Add the headers for the compute kernels and initial condition implementations.
 
- 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().
 
- Protected Attributes inherited from exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep
 _time_step_relaxation
 
 _flux_implementation
 
 _ncp_implementation
 
 _eigenvalues_implementation
 
 _source_term_implementation
 
 _compute_eigenvalue
 
 _compute_kernel_call
 
 _compute_kernel_call_stateless
 
 _abstract_solver_user_declarations
 
 _abstract_solver_user_definitions
 
 _solver_user_declarations
 
 _solver_user_definitions
 
 _compute_time_step_size
 
 _compute_new_time_step_size
 
 _start_time_step_implementation
 
 _finish_time_step_implementation
 
 _constructor_implementation
 
- Protected Attributes inherited from exahype2.solvers.fv.SingleSweep.SingleSweep
 _solver_template_file_class_name
 
 _action_set_update_cell
 
 _boundary_conditions_implementation
 
 _refinement_criterion_implementation
 
 _initial_conditions_implementation
 
 _reconstructed_array_memory_location
 
 _use_split_loop
 
- Protected Attributes inherited from exahype2.solvers.fv.FV.FV
 _name
 
 _min_volume_h
 
 _max_volume_h
 
 _plot_grid_properties
 
 _patch_size
 
 _overlap
 
 _use_var_shortcut
 
 _variable_names
 
 _variable_pos
 
 _unknowns
 
 _auxiliary_variables
 
 _solver_constants
 
 _user_action_set_includes
 
 _user_solver_includes
 
 _reconstructed_array_memory_location
 
 _solver_template_file_class_name
 
 _plot_description
 
 _action_set_initial_conditions
 
 _action_set_initial_conditions_for_grid_construction
 
 _action_set_AMR
 
 _action_set_AMR_throughout_grid_construction
 
 _action_set_AMR_commit_without_further_analysis
 
 _action_set_handle_boundary
 
 _action_set_project_patch_onto_faces
 
 _action_set_roll_over_update_of_faces
 
 _action_set_copy_new_faces_onto_old_faces
 
 _action_set_couple_resolution_transitions_and_handle_dynamic_mesh_refinement
 
 _action_set_postprocess_solution
 
 _action_set_preprocess_solution
 
 _compute_time_step_size
 
 _compute_new_time_step_size
 
 _preprocess_reconstructed_patch
 
 _postprocess_updated_patch
 
 _compute_kernel_call
 
 _compute_kernel_call_stateless
 
 _pde_terms_without_state
 
 _compute_eigenvalue
 
 _abstract_solver_user_declarations
 
 _abstract_solver_user_definitions
 
 _solver_user_declarations
 
 _solver_user_definitions
 
 _start_time_step_implementation
 
 _finish_time_step_implementation
 
 _constructor_implementation
 
 _boundary_conditions_implementation
 
 _refinement_criterion_implementation
 
 _initial_conditions_implementation
 
 _interpolation
 
 _restriction
 
 _kernel_namespace
 
 _baseline_action_set_descend_invocation_order
 
 _cell_data_storage
 
 _face_data_storage
 
 _eigenvalues_implementation
 
 _flux_implementation
 
 _ncp_implementation
 
 _source_term_implementation
 
 _patch
 
 _patch_overlap_old
 
 _patch_overlap_new
 
 _patch_overlap_update
 
 _cell_label
 
 _face_label
 
 _action_set_update_face_label
 
 _action_set_update_cell_label
 
 _action_set_update_cell
 
- Static Protected Attributes inherited from CCZ4Solver.AbstractCCZ4Solver
dict _FO_formulation_unknowns
 
dict _SO_formulation_unknowns
 

Detailed Description

CCZ4 solver using finite volumes and global adaptive time stepping incl enclave tasking.

Please consult CCZ4Solver_FV_GlobalAdaptiveTimeStepWithEnclaveTasking.

Definition at line 291 of file CCZ4Solver.py.

Constructor & Destructor Documentation

◆ __init__()

CCZ4Solver.CCZ4Solver_FV_GlobalAdaptiveTimeStep.__init__ ( self,
name,
patch_size,
min_volume_h,
max_volume_h,
pde_terms_without_state )

Constructor.

Initialise the two dictionaries with default values (which work).

Reimplemented from CCZ4Solver.AbstractCCZ4Solver.

Definition at line 302 of file CCZ4Solver.py.

References CCZ4Solver.AbstractCCZ4Solver._add_standard_includes(), CCZ4Solver.AbstractCCZ4Solver._FO_formulation_unknowns, CCZ4Solver.construct_FV_eigenvalues(), CCZ4Solver.construct_FV_ncp(), CCZ4Solver.construct_FV_postprocessing_kernel(), CCZ4Solver.construct_FV_source_term(), ccz4.CCZ4Solver.postprocess_updated_patch, ccz4_archived.CCZ4Solver.postprocess_updated_patch, ccz4_archived_24_01_19.CCZ4Solver.postprocess_updated_patch, kernel_testbed.CCZ4Solver.postprocess_updated_patch, performance_testbed.CCZ4Solver.postprocess_updated_patch, 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.postprocess_updated_patch(), exahype2.solvers.fv.FV.FV.postprocess_updated_patch(), exahype2.solvers.rkfd.CellCenteredFiniteDifferences.CellCenteredFiniteDifferences.postprocess_updated_patch(), exahype2.solvers.fv.EnclaveTasking.EnclaveTasking.set_implementation(), exahype2.solvers.fv.SingleSweep.SingleSweep.set_implementation(), exahype2.solvers.aderdg.ADERDG.ADERDG.set_implementation(), exahype2.solvers.rkfd.OneSweepPerRungeKuttaStep.OneSweepPerRungeKuttaStep.set_implementation(), exahype2.solvers.rkfd.SeparateSweeps.SeparateSweeps.set_implementation(), exahype2.solvers.rkdg.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep.set_implementation(), exahype2.solvers.fv.musclhancock.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.set_implementation(), exahype2.solvers.fv.musclhancock.GlobalFixedTimeStep.GlobalFixedTimeStep.set_implementation(), exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.set_implementation(), exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.fv.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep.set_implementation(), exahype2.solvers.fv.rusanov.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.fv.rusanov.LocalTimeStepWithEnclaveTasking.LocalTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.fv.rusanov.SubcyclingAdaptiveTimeStepWithEnclaveTasking.SubcyclingAdaptiveTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStep.SubcyclingFixedTimeStep.set_implementation(), exahype2.solvers.fv.rusanov.SubcyclingFixedTimeStepWithEnclaveTasking.SubcyclingFixedTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.aderdg.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.set_implementation(), exahype2.solvers.aderdg.GlobalFixedTimeStep.GlobalFixedTimeStep.set_implementation(), exahype2.solvers.rkdg.RungeKuttaDG.RungeKuttaDG.set_implementation(), exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.set_implementation(), exahype2.solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.set_implementation(), exahype2.solvers.rkfd.fd4.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.rkfd.fd4.GlobalFixedTimeStep.GlobalFixedTimeStep.set_implementation(), exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep.set_implementation(), exahype2.solvers.fv.riemann.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.set_implementation(), exahype2.solvers.fv.riemann.GlobalFixedTimeStep.GlobalFixedTimeStep.set_implementation(), and exahype2.solvers.fv.riemann.GlobalFixedTimeStepWithEnclaveTasking.GlobalFixedTimeStepWithEnclaveTasking.set_implementation().

Here is the call graph for this function:

Member Function Documentation

◆ add_tracer()

CCZ4Solver.CCZ4Solver_FV_GlobalAdaptiveTimeStep.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.

Consult exahype2.tracer.DumpTracerIntoDatabase for an explanation of some of the arguments. Most of them are simply piped through to this class.

project: exahype2.Project

Reimplemented from CCZ4Solver.AbstractCCZ4Solver.

Definition at line 329 of file CCZ4Solver.py.

References CCZ4Solver.add_tracer_to_FV_solver().

Here is the call graph for this function:

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