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

Public Member Functions

def __init__ (self, name, patch_size, bool amend_priorities, KernelParallelisation parallelisation_of_kernels)
 
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)
 

Data Fields

 enclave_task_priority
 
- Data Fields inherited from CCZ4Solver.AbstractCCZ4Solver
 integer_constants
 
 double_constants
 
 Default_Time_Step_Size_Relaxation
 

Private Member Functions

def _store_cell_data_default_guard (self)
 
def _load_cell_data_default_guard (self)
 
def _provide_cell_data_to_compute_kernels_default_guard (self)
 
def _provide_face_data_to_compute_kernels_default_guard (self)
 
def _store_face_data_default_guard (self)
 
def _load_face_data_default_guard (self)
 

Private Attributes

 _fused_compute_kernel_call_cpu
 

Additional Inherited Members

- Static Public Attributes inherited from CCZ4Solver.AbstractCCZ4Solver
float Default_Time_Step_Size_Relaxation = 0.1
 

Detailed Description

Construct the Finite Volume (limiter) scheme

We assume that the underlying Finite Differences scheme has a patch
size of 6x6x6. To make the Finite Volume scheme's time stepping (and
accuracy) match this patch size, we have to employ a 16 times finer
mesh.

It is interesting to see that the limiter does not really have a min
and max mesh size. The point is that the higher order solver dictates
the mesh structure, and we then follow this structure with the
Finite Volume scheme.

Definition at line 45 of file SBH.py.

Constructor & Destructor Documentation

◆ __init__()

def SBH.Limiter.__init__ (   self,
  name,
  patch_size,
bool  amend_priorities,
KernelParallelisation  parallelisation_of_kernels 
)
    Construct the limiter

    patch_size: Integer
      Pass in the patch size of the FD4 scheme or, if you are using RKDG,
      hand in the number 1. The Finite Volume patch then will be 16 times
      finer.

Definition at line 62 of file SBH.py.

References CCZ4Solver.AbstractCCZ4Solver.double_constants, and convergence-study.int.

Member Function Documentation

◆ _load_cell_data_default_guard()

def SBH.Limiter._load_cell_data_default_guard (   self)
private

Definition at line 145 of file SBH.py.

References coupling.StaticCoupling.StaticCoupling._name.

◆ _load_face_data_default_guard()

def SBH.Limiter._load_face_data_default_guard (   self)
private

Definition at line 174 of file SBH.py.

References coupling.StaticCoupling.StaticCoupling._name.

◆ _provide_cell_data_to_compute_kernels_default_guard()

def SBH.Limiter._provide_cell_data_to_compute_kernels_default_guard (   self)
private

Definition at line 154 of file SBH.py.

References coupling.StaticCoupling.StaticCoupling._name.

◆ _provide_face_data_to_compute_kernels_default_guard()

def SBH.Limiter._provide_face_data_to_compute_kernels_default_guard (   self)
private

Definition at line 163 of file SBH.py.

References coupling.StaticCoupling.StaticCoupling._name.

◆ _store_cell_data_default_guard()

def SBH.Limiter._store_cell_data_default_guard (   self)
private
    Mask out exterior cells

Definition at line 131 of file SBH.py.

References coupling.StaticCoupling.StaticCoupling._name.

◆ _store_face_data_default_guard()

def SBH.Limiter._store_face_data_default_guard (   self)
private

Definition at line 169 of file SBH.py.

References coupling.StaticCoupling.StaticCoupling._name.

Referenced by coupling.StaticCoupling.StaticCoupling._store_boundary_data_default_guard().

Here is the caller graph for this function:

◆ create_action_sets()

def SBH.Limiter.create_action_sets (   self)
    Not really a lot of things to do here. The only exception that is
    really important is that we have to ensure that we only solve stuff
    inside the local domain of the FV. By default, ExaHyPE 2 solves the
    PDE everywhere. If data is not stored persistently or loaded from
    the persistent stacks, it still solves, as it then would assume that
    such data arises from dynamic AMR. In this particular case, we have
    to really mask out certain subdomains.

    It is not just a nice optimisation to do so. It is absolutely key,
    as the application of the compute kernel on garbage would mean that
    we end up with invalid eigenvalues.

Definition at line 179 of file SBH.py.

References coupling.StaticCoupling.StaticCoupling._name.

Referenced by mgccz4.MGCCZ4Solver.add_derivative_calculation(), and ccz4.CCZ4Solver.add_Psi4W().

Here is the caller graph for this function:

Field Documentation

◆ _fused_compute_kernel_call_cpu

SBH.Limiter._fused_compute_kernel_call_cpu
private

Definition at line 119 of file SBH.py.

◆ enclave_task_priority

SBH.Limiter.enclave_task_priority

Definition at line 96 of file SBH.py.


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