|
Peano
|
A finite volume solver. More...


Public Member Functions | |
| __init__ (self, name, patch_size, min_cell_size, max_cell_size) | |
| Construct the Finite Volume solver. | |
| create_action_sets (self) | |
| Public Member Functions inherited from CCZ4Solver.CCZ4Solver_FV_GlobalAdaptiveTimeStepWithEnclaveTasking | |
| __init__ (self, name, patch_size, min_volume_h, max_volume_h, pde_terms_without_state) | |
| Construct solver with enclave tasking and adaptive time stepping. | |
| 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 | |
| __init__ (self) | |
| Constructor. | |
| 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. | |
Additional Inherited Members | |
| Data Fields inherited from CCZ4Solver.AbstractCCZ4Solver | |
| dict | integer_constants |
| dict | double_constants |
| 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. | |
| Static Protected Attributes inherited from CCZ4Solver.AbstractCCZ4Solver | |
| dict | _FO_formulation_unknowns |
| dict | _SO_formulation_unknowns |
A finite volume solver.
This solver is not appropriate to simulate black holes as a stand-alone solver, as it is way too diffusive. If you use it without another scheme, you typically see the black hole disappear after a brief period. So we have it in here merely for performance tests.
| SBH.FVSolver.__init__ | ( | self, | |
| name, | |||
| patch_size, | |||
| min_cell_size, | |||
| max_cell_size ) |
Construct the Finite Volume solver.
| patch_size | Integer Defines how big the individual patches are. If you pass in 10, each Finite Volume patch will have the dimensions 10x10x10. |
| min_cell_size | Float This parameter refers to the cell size, i.e. the size of a whole patch. We use this one here, to make the signature the same as for the FD and DG solver variants. The superclass constructor argues over finite volume sizes, and we hence have to recalibrate this parameter with patch_size. |
Definition at line 703 of file SBH.py.
References __init__(), CCZ4Solver.AbstractCCZ4Solver.add_all_solver_constants(), CCZ4Solver.AbstractCCZ4Solver.double_constants, and SBH.update_solver_parameters_for_single_black_hole().
Referenced by __init__().


| SBH.FVSolver.create_action_sets | ( | self | ) |
Tailor action set behaviour
We first make a few additional cells skeleton cells. The rationale
behind additional skeletons is given in the @ref benchmarks_exahype2_ccz4_single_black_hole "generic overview".
Given the first remark there on FD4-FV coupling, one would be tempted
to use the predicate
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
self._action_set_update_cell.additional_skeleton_guard = " " "(
repositories::instanceOf" " " + self._name_without_FD4_extension + " " "_FV.isCellOverlappingWithBHImpactArea(marker) and not repositories::instanceOf" " " + self._name_without_FD4_extension + " " "_FV.areAllFaceConnectedCellsOverlappingWithBHImpactArea(marker) ) " " " ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Once we study the other items (notably the fourth), we see that it is reasonable to make all the overlap region a skeleton within the FD4 solver.
Definition at line 753 of file SBH.py.
References create_action_sets().
Referenced by mgccz4.MGCCZ4Solver.add_derivative_calculation(), ccz4.CCZ4Solver.add_Psi4W(), and create_action_sets().

