Peano
SBH.FVSolver Class Reference
Inheritance diagram for SBH.FVSolver:
Collaboration diagram for SBH.FVSolver:

Public Member Functions

def __init__ (self, name, patch_size, min_cell_size, max_cell_size)
 
def create_action_sets (self)
 
- Public Member Functions inherited from CCZ4Solver.CCZ4Solver_FV_GlobalAdaptiveTimeStepWithEnclaveTasking
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)
 
- Public Member Functions inherited from CCZ4Solver.AbstractCCZ4Solver
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

- Data Fields inherited from CCZ4Solver.AbstractCCZ4Solver
 integer_constants
 
 double_constants
 
 Default_Time_Step_Size_Relaxation
 
- Static Public Attributes inherited from CCZ4Solver.AbstractCCZ4Solver
float Default_Time_Step_Size_Relaxation = 0.1
 

Detailed Description

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.

Definition at line 691 of file SBH.py.

Constructor & Destructor Documentation

◆ __init__()

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().

Here is the call graph for this function:

Member Function Documentation

◆ create_action_sets()

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().

Here is the caller graph for this function:

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