| 
    Neko 0.9.1
    
   A portable framework for high-order spectral element flow simulations 
   | 
 
Implements the logic to compute the time coefficients for the advection and diffusion operators in a transport equation. More...

Public Member Functions | |
| procedure, pass(this) | init (this, torder) | 
| Constructor.   | |
| procedure, pass(this) | free (this) | 
| Destructor.   | |
| procedure, pass(this) | set_coeffs (this, dt) | 
| Set the time coefficients.   | |
Public Attributes | |
| type(ext_time_scheme_t) | ext | 
| type(ab_time_scheme_t) | ab | 
| type(bdf_time_scheme_t) | bdf | 
| real(kind=rp), dimension(4) | advection_coeffs = 0 | 
| Time coefficients for the advection operator.   | |
| real(kind=rp), dimension(4) | diffusion_coeffs = 0 | 
| Time coefficients for the diffusion operator.   | |
| integer | ndiff = 0 | 
| Controls the actual order of the diffusion scheme, e.g. 1 at the first time-step.   | |
| integer | nadv = 0 | 
| Controls the actual order of the advection scheme, e.g. 1 at the first time-step.   | |
| integer | advection_time_order = 3 | 
| Order of the advection scheme.   | |
| integer | diffusion_time_order | 
| Order of the diffusion scheme.   | |
| type(c_ptr) | advection_coeffs_d = C_NULL_PTR | 
Device pointer for advection_coeffs   | |
| type(c_ptr) | diffusion_coeffs_d = C_NULL_PTR | 
Device pointer for diffusion_coeffs   | |
Uses the BDF scheme for the diffusion, where as the term for advection the scheme depends on the orders of the BDF and advection schemes.
nadv and ndiff, which are initialized to 0, hold the current order of the respective scheme. Definition at line 71 of file time_scheme_controller.f90.
| procedure, pass(this) time_scheme_controller::time_scheme_controller_t::free | ( | class(time_scheme_controller_t) | this | ) | 
Definition at line 99 of file time_scheme_controller.f90.
| procedure, pass(this) time_scheme_controller::time_scheme_controller_t::init | ( | class(time_scheme_controller_t) | this, | 
| integer | torder | ||
| ) | 
| torder | Desired order of the scheme: 1, 2, 3. This sets the order for the diffusion scheme only. | 
Definition at line 97 of file time_scheme_controller.f90.
| procedure, pass(this) time_scheme_controller::time_scheme_controller_t::set_coeffs | ( | class(time_scheme_controller_t) | this, | 
| real(kind=rp), dimension(10), intent(inout) | dt | ||
| ) | 
Implements all necessary logic to handle
| t | Timestep values, first element is the current timestep. | 
Definition at line 101 of file time_scheme_controller.f90.
| type(ab_time_scheme_t) time_scheme_controller::time_scheme_controller_t::ab | 
Definition at line 73 of file time_scheme_controller.f90.
Definition at line 77 of file time_scheme_controller.f90.
| type(c_ptr) time_scheme_controller::time_scheme_controller_t::advection_coeffs_d = C_NULL_PTR | 
Definition at line 91 of file time_scheme_controller.f90.
| integer time_scheme_controller::time_scheme_controller_t::advection_time_order = 3 | 
Definition at line 87 of file time_scheme_controller.f90.
| type(bdf_time_scheme_t) time_scheme_controller::time_scheme_controller_t::bdf | 
Definition at line 74 of file time_scheme_controller.f90.
Definition at line 79 of file time_scheme_controller.f90.
| type(c_ptr) time_scheme_controller::time_scheme_controller_t::diffusion_coeffs_d = C_NULL_PTR | 
Definition at line 93 of file time_scheme_controller.f90.
| integer time_scheme_controller::time_scheme_controller_t::diffusion_time_order | 
Definition at line 89 of file time_scheme_controller.f90.
| type(ext_time_scheme_t) time_scheme_controller::time_scheme_controller_t::ext | 
Definition at line 72 of file time_scheme_controller.f90.
| integer time_scheme_controller::time_scheme_controller_t::nadv = 0 | 
Definition at line 85 of file time_scheme_controller.f90.
| integer time_scheme_controller::time_scheme_controller_t::ndiff = 0 | 
Definition at line 82 of file time_scheme_controller.f90.