Neko 0.9.99
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.