Peano
Loading...
Searching...
No Matches
solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking Class Reference

RKDG solver with global adaptive time step. More...

Inheritance diagram for solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking:
Collaboration diagram for solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking:

Public Member Functions

 __init__ (self, name, rk_order, polynomials, unknowns, auxiliary_variables, min_cell_h, max_cell_h, time_step_relaxation, flux=PDETerms.User_Defined_Implementation, eigenvalues=PDETerms.User_Defined_Implementation, ncp=PDETerms.None_Implementation, point_source=PDETerms.None_Implementation, boundary_conditions=PDETerms.User_Defined_Implementation, refinement_criterion=PDETerms.Empty_Implementation, initial_conditions=PDETerms.User_Defined_Implementation, source_term=PDETerms.None_Implementation, plot_grid_properties=False, pde_terms_without_state=False)
 Construct RKDG solver with adaptive global time step and enclave tasking.
 
 set_implementation (self, flux=None, ncp=None, eigenvalues=None, boundary_conditions=None, refinement_criterion=None, initial_conditions=None, source_term=None, point_source=None, additional_action_set_includes="", additional_user_includes="")
 If you pass in User_Defined, then the generator will create C++ stubs that you have to befill manually.
 
 user_action_set_includes (self)
 

Protected Attributes

 _time_step_relaxation
 
 _compute_eigenvalue
 
 _kernel_namespace
 
 _volumetric_compute_kernel_call
 
 _volumetric_compute_kernel_call_stateless
 
 _Riemann_compute_kernel_call
 
 _fused_volumetric_compute_kernel_call_stateless_cpu
 
 _fused_volumetric_compute_kernel_call_stateless_gpu
 
 _add_solver_contributions_call
 
 _multiply_with_inverted_mass_matrix_call
 
 _unknowns
 
 _auxiliary_variables
 
 _abstract_solver_user_declarations
 
 _abstract_solver_user_definitions
 
 _solver_user_declarations
 
 _solver_user_definitions
 
 _compute_time_step_size
 
 _compute_new_time_step_size
 
 _start_time_step_implementation
 
 _finish_time_step_implementation
 
 _constructor_implementation
 

Detailed Description

RKDG solver with global adaptive time step.

Please consult GlobalAdaptiveTimeStep for more documentation. This version is basically the same with the "only" exception being that we employ enclave tasking here.

Definition at line 26 of file GlobalAdaptiveTimeStepWithEnclaveTasking.py.

Constructor & Destructor Documentation

◆ __init__()

solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.__init__ (   self,
  name,
  rk_order,
  polynomials,
  unknowns,
  auxiliary_variables,
  min_cell_h,
  max_cell_h,
  time_step_relaxation,
  flux = PDETerms.User_Defined_Implementation,
  eigenvalues = PDETerms.User_Defined_Implementation,
  ncp = PDETerms.None_Implementation,
  point_source = PDETerms.None_Implementation,
  boundary_conditions = PDETerms.User_Defined_Implementation,
  refinement_criterion = PDETerms.Empty_Implementation,
  initial_conditions = PDETerms.User_Defined_Implementation,
  source_term = PDETerms.None_Implementation,
  plot_grid_properties = False,
  pde_terms_without_state = False 
)

Construct RKDG solver with adaptive global time step and enclave tasking.

Definition at line 36 of file GlobalAdaptiveTimeStepWithEnclaveTasking.py.

References solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.__init__().

Referenced by solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.__init__().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Function Documentation

◆ set_implementation()

solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.set_implementation (   self,
  flux = None,
  ncp = None,
  eigenvalues = None,
  boundary_conditions = None,
  refinement_criterion = None,
  initial_conditions = None,
  source_term = None,
  point_source = None,
  additional_action_set_includes = "",
  additional_user_includes = "" 
)

If you pass in User_Defined, then the generator will create C++ stubs that you have to befill manually.

If you pass in None_Implementation, it will create nop, i.e., no implementation or defaults. Any other string is copied 1:1 into the implementation. If you pass in None, then the set value so far won't be overwritten.

Please note that not all options are supported by all solvers.

This routine should be the very last invoked by the constructor.

Definition at line 102 of file GlobalAdaptiveTimeStepWithEnclaveTasking.py.

References solvers.aderdg.ADERDG.ADERDG._basis, solvers.rkdg.RungeKuttaDG.RungeKuttaDG._basis, solvers.fv.FV.FV._kernel_namespace, solvers.rkdg.RungeKuttaDG.RungeKuttaDG._kernel_namespace, solvers.rkdg.rusanov.GlobalAdaptiveTimeStep.GlobalAdaptiveTimeStep._kernel_namespace, solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._kernel_namespace, solvers.rkdg.rusanov.GlobalFixedTimeStep.GlobalFixedTimeStep._kernel_namespace, and solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.set_implementation().

Referenced by CCZ4Solver.CCZ4Solver_FV_GlobalAdaptiveTimeStep.__init__(), CCZ4Solver.CCZ4Solver_FV_MUSCL_GlobalAdaptiveTimeStep.__init__(), CCZ4Solver.CCZ4Solver_FV_GlobalAdaptiveTimeStepWithEnclaveTasking.__init__(), CCZ4Solver.CCZ4Solver_FV_MUSCL_GlobalAdaptiveTimeStepWithEnclaveTasking.__init__(), CCZ4Solver.CCZ4Solver_FD4_GlobalAdaptiveTimeStepWithEnclaveTasking.__init__(), CCZ4Solver.CCZ4Solver_FD4_GlobalAdaptiveTimeStep.__init__(), CCZ4Solver.CCZ4Solver_RKDG_GlobalAdaptiveTimeStepWithEnclaveTasking.__init__(), CCZ4Solver.CCZ4Solver_RKDG_GlobalAdaptiveTimeStep.__init__(), and solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking.set_implementation().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ user_action_set_includes()

Field Documentation

◆ _abstract_solver_user_declarations

solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._abstract_solver_user_declarations
protected

◆ _abstract_solver_user_definitions

solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._abstract_solver_user_definitions
protected

◆ _add_solver_contributions_call

solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._add_solver_contributions_call
protected

◆ _auxiliary_variables

◆ _compute_eigenvalue

solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._compute_eigenvalue
protected

◆ _compute_new_time_step_size

solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._compute_new_time_step_size
protected

◆ _compute_time_step_size

solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._compute_time_step_size
protected

◆ _constructor_implementation

solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._constructor_implementation
protected

◆ _finish_time_step_implementation

solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._finish_time_step_implementation
protected

◆ _fused_volumetric_compute_kernel_call_stateless_cpu

solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._fused_volumetric_compute_kernel_call_stateless_cpu
protected

◆ _fused_volumetric_compute_kernel_call_stateless_gpu

solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._fused_volumetric_compute_kernel_call_stateless_gpu
protected

◆ _kernel_namespace

◆ _multiply_with_inverted_mass_matrix_call

solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._multiply_with_inverted_mass_matrix_call
protected

◆ _Riemann_compute_kernel_call

solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._Riemann_compute_kernel_call
protected

◆ _solver_user_declarations

solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._solver_user_declarations
protected

◆ _solver_user_definitions

solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._solver_user_definitions
protected

◆ _start_time_step_implementation

solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._start_time_step_implementation
protected

◆ _time_step_relaxation

◆ _unknowns

◆ _volumetric_compute_kernel_call

solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._volumetric_compute_kernel_call
protected

◆ _volumetric_compute_kernel_call_stateless

solvers.rkdg.rusanov.GlobalAdaptiveTimeStepWithEnclaveTasking.GlobalAdaptiveTimeStepWithEnclaveTasking._volumetric_compute_kernel_call_stateless
protected

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