|
Neko 1.99.3
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 |
| type(vector_t) | advection_coeffs |
| Time coefficients for the advection operator. | |
| type(vector_t) | diffusion_coeffs |
| 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 72 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 100 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 98 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 102 of file time_scheme_controller.f90.
| type(ab_time_scheme_t) time_scheme_controller::time_scheme_controller_t::ab |
Definition at line 74 of file time_scheme_controller.f90.
| type(vector_t) time_scheme_controller::time_scheme_controller_t::advection_coeffs |
Definition at line 78 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 92 of file time_scheme_controller.f90.
| integer time_scheme_controller::time_scheme_controller_t::advection_time_order = 3 |
Definition at line 88 of file time_scheme_controller.f90.
| type(bdf_time_scheme_t) time_scheme_controller::time_scheme_controller_t::bdf |
Definition at line 75 of file time_scheme_controller.f90.
| type(vector_t) time_scheme_controller::time_scheme_controller_t::diffusion_coeffs |
Definition at line 80 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 94 of file time_scheme_controller.f90.
| integer time_scheme_controller::time_scheme_controller_t::diffusion_time_order |
Definition at line 90 of file time_scheme_controller.f90.
| type(ext_time_scheme_t) time_scheme_controller::time_scheme_controller_t::ext |
Definition at line 73 of file time_scheme_controller.f90.
| integer time_scheme_controller::time_scheme_controller_t::nadv = 0 |
Definition at line 86 of file time_scheme_controller.f90.
| integer time_scheme_controller::time_scheme_controller_t::ndiff = 0 |
Definition at line 83 of file time_scheme_controller.f90.