Peano
Loading...
Searching...
No Matches
exahype2.solvers.AdaptiveSubcyclingTimeSteppingCodeSnippets.AdaptiveSubcyclingTimeSteppingCodeSnippets Class Reference

Code snippet generator for all subcycling solvers. More...

Inheritance diagram for exahype2.solvers.AdaptiveSubcyclingTimeSteppingCodeSnippets.AdaptiveSubcyclingTimeSteppingCodeSnippets:
Collaboration diagram for exahype2.solvers.AdaptiveSubcyclingTimeSteppingCodeSnippets.AdaptiveSubcyclingTimeSteppingCodeSnippets:

Public Member Functions

 create_abstract_solver_user_declarations (self)
 
 create_abstract_solver_user_definitions (self)
 
 create_abstract_solver_constructor_statements (self)
 
 create_compute_time_step_size (self)
 Within the actual compute kernels, the kernels ask the solver variant how to determine a new field.
 
 create_compute_new_time_step_size (self)
 This is global, fixed time stepping, i.e.
 
 create_finish_time_step_implementation (self)
 This routine is inserted after we have reduced all global quantities.
 
- Public Member Functions inherited from exahype2.solvers.SolverCodeSnippets.SolverCodeSnippets
 create_start_time_step_implementation (self)
 

Detailed Description

Code snippet generator for all subcycling solvers.

Definition at line 6 of file AdaptiveSubcyclingTimeSteppingCodeSnippets.py.

Member Function Documentation

◆ create_abstract_solver_constructor_statements()

exahype2.solvers.AdaptiveSubcyclingTimeSteppingCodeSnippets.AdaptiveSubcyclingTimeSteppingCodeSnippets.create_abstract_solver_constructor_statements ( self)

◆ create_abstract_solver_user_declarations()

exahype2.solvers.AdaptiveSubcyclingTimeSteppingCodeSnippets.AdaptiveSubcyclingTimeSteppingCodeSnippets.create_abstract_solver_user_declarations ( self)

◆ create_abstract_solver_user_definitions()

exahype2.solvers.AdaptiveSubcyclingTimeSteppingCodeSnippets.AdaptiveSubcyclingTimeSteppingCodeSnippets.create_abstract_solver_user_definitions ( self)

◆ create_compute_new_time_step_size()

exahype2.solvers.AdaptiveSubcyclingTimeSteppingCodeSnippets.AdaptiveSubcyclingTimeSteppingCodeSnippets.create_compute_new_time_step_size ( self)

This is global, fixed time stepping, i.e.

the new time step size will likely be the same as the previous one, unless the mesh changes, as we work with normalised time step sizes, i.e. in this case the time step size might change. Anyway, the new time step size is only for stats anyway, as we'll pick a global one when we determine timeStepSize the next time step.

Reimplemented from exahype2.solvers.SolverCodeSnippets.SolverCodeSnippets.

Definition at line 89 of file AdaptiveSubcyclingTimeSteppingCodeSnippets.py.

◆ create_compute_time_step_size()

exahype2.solvers.AdaptiveSubcyclingTimeSteppingCodeSnippets.AdaptiveSubcyclingTimeSteppingCodeSnippets.create_compute_time_step_size ( self)

Within the actual compute kernels, the kernels ask the solver variant how to determine a new field.

const double timeStepSize = ...;

You can remove the const if you want. Anyway, this routine has to build up the right time step size choice.

Reimplemented from exahype2.solvers.SolverCodeSnippets.SolverCodeSnippets.

Definition at line 51 of file AdaptiveSubcyclingTimeSteppingCodeSnippets.py.

◆ create_finish_time_step_implementation()

exahype2.solvers.AdaptiveSubcyclingTimeSteppingCodeSnippets.AdaptiveSubcyclingTimeSteppingCodeSnippets.create_finish_time_step_implementation ( self)

This routine is inserted after we have reduced all global quantities.

These are the quantities with the postfix ThisTimeStep.

Reimplemented from exahype2.solvers.SolverCodeSnippets.SolverCodeSnippets.

Definition at line 108 of file AdaptiveSubcyclingTimeSteppingCodeSnippets.py.


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