![]() |
Peano
|
Public Member Functions | |
def | __init__ (self, name, patch_size, min_cell_size, max_cell_size) |
def | create_action_sets (self) |
![]() | |
def | __init__ (self, name, patch_size, min_volume_h, max_volume_h, pde_terms_without_state) |
def | 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) |
![]() | |
def | __init__ (self) |
def | enable_second_order (self) |
def | add_all_solver_constants (self) |
def | add_makefile_parameters (self, peano4_project, path_of_ccz4_application) |
Additional Inherited Members | |
![]() | |
integer_constants | |
double_constants | |
Default_Time_Step_Size_Relaxation | |
![]() | |
float | Default_Time_Step_Size_Relaxation = 0.1 |
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.
def SBH.FVSolver.__init__ | ( | self, | |
name, | |||
patch_size, | |||
min_cell_size, | |||
max_cell_size | |||
) |
Construct the Finite Volume solver @param patch_size: Integer Defines how big the individual patches are. If you pass in 10, each Finite Volume patch will have the dimensions 10x10x10. @param 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 CCZ4Solver.AbstractCCZ4Solver.add_all_solver_constants(), CCZ4Solver.AbstractCCZ4Solver.double_constants, and SBH.update_solver_parameters_for_single_black_hole().
def 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.
Referenced by mgccz4.MGCCZ4Solver.add_derivative_calculation(), and ccz4.CCZ4Solver.add_Psi4W().