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

CCZ4 solver using fourth-order finite differences and global adaptive time stepping incl enclave tasking. More...

Inheritance diagram for CCZ4Solver.CCZ4Solver_FD4_GlobalAdaptiveTimeStepWithEnclaveTasking:
Collaboration diagram for CCZ4Solver.CCZ4Solver_FD4_GlobalAdaptiveTimeStepWithEnclaveTasking:

Public Member Functions

 __init__ (self, name, patch_size, rk_order, min_meshcell_h, max_meshcell_h, pde_terms_without_state, second_order=False)
 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
 __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

Detailed Description

CCZ4 solver using fourth-order finite differences and global adaptive time stepping incl enclave tasking.

The constructor of this classs is straightforward and realises the standard steps of any numerical implementation of the CCZ4 scheme:

  1. Init the actual numerical scheme. This happens through the constructor of the base class.
  2. Add the header files that we need, i.e. those files which contain the actual CCZ4 implementation.
  3. Add some constants that any CCZ4 C++ code requires.
  4. Set the actual implementation, i.e. link the generic PDE terms to the CCZ4-specific function calls.
  5. Add the CCZ4-specific postprocessing.
  6. Switch to higher-order interpolation and restriction.

Definition at line 714 of file CCZ4Solver.py.

Constructor & Destructor Documentation

◆ __init__()

CCZ4Solver.CCZ4Solver_FD4_GlobalAdaptiveTimeStepWithEnclaveTasking.__init__ ( self,
name,
patch_size,
rk_order,
min_meshcell_h,
max_meshcell_h,
pde_terms_without_state,
second_order = False )

Member Function Documentation

◆ add_tracer()

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

This is a delegate to add_tracer_to_FD4_solver() which passes the object in as first argument.

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

Parameters
projectexahype2.Project
tracer_unknownsInteger You can set this variable to None. In this case, all variables are dumped.

Reimplemented from CCZ4Solver.AbstractCCZ4Solver.

Definition at line 825 of file CCZ4Solver.py.

References CCZ4Solver.add_tracer_to_FD4_solver().

Here is the call graph for this function:

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