|
Neko 1.99.1
A portable framework for high-order spectral element flow simulations
|


Public Member Functions | |
| procedure, pass(this) | compute (this, vx, vy, vz, fx, fy, fz, xh, coef, n, dt) |
| Add the advection term for the fluid, i.e. \(u \cdot \nabla u \), to the RHS. | |
| procedure, pass(this) | compute_scalar (this, vx, vy, vz, s, fs, xh, coef, n, dt) |
| Add the advection term for a scalar, i.e. \(u \cdot \nabla s \), to the RHS. | |
| procedure, pass(this) | init (this, lxd, coef, ctarget, ulag, vlag, wlag, dtlag, tlag, time_scheme, slag) |
| Constructor. | |
| procedure, pass(this) | set_conv_velocity_fst (this, u, v, w) |
| setting characteristic convecting field | |
| procedure, pass(this) | free (this) |
| Destructor. | |
| procedure(compute_adv), deferred, pass | compute (this, vx, vy, vz, fx, fy, fz, xh, coef, n, dt) |
| procedure(compute_scalar_adv), deferred, pass | compute_scalar (this, vx, vy, vz, s, fs, xh, coef, n, dt) |
| procedure(advection_free), deferred, pass | free (this) |
Public Attributes | |
| integer | ntaubd |
| Number of RK4 sub-steps. | |
| type(coef_t) | coef_gl |
| Coeffs of the higher-order space. | |
| type(coef_t), pointer | coef_gll => null() |
| Coeffs of the original space in the simulation. | |
| type(interpolator_t) | gll_to_gl |
| Interpolator between the original and higher-order spaces. | |
| type(space_t) | xh_gl |
| The additional higher-order space used in dealiasing. | |
| type(space_t), pointer | xh_gll => null() |
| The original space used in the simulation. | |
| type(time_interpolator_t) | dtime |
| The time interpolator scheme. | |
| type(field_series_t), pointer | ulag |
| The lagged velocity and scalar fields. | |
| type(field_series_t), pointer | vlag |
| type(field_series_t), pointer | wlag |
| type(field_series_t), pointer | slag => null() |
| real(kind=rp), dimension(:), pointer | ctlag => null() |
| The times corresponding to the lagged fields. | |
| real(kind=rp), dimension(:), pointer | dctlag => null() |
| The time-steps corresponding to the lagged fields. | |
| type(time_scheme_controller_t), pointer | oifs_scheme => null() |
| The time scheme controller for the oifs scheme. | |
| type(field_t) | cr_gl |
| The current convecting field in GL space and rst format. | |
| type(field_t) | cs_gl |
| type(field_t) | ct_gl |
| type(field_series_t) | convr_gl |
| The convecting field series in GL space and rst format. | |
| type(field_series_t) | convs_gl |
| type(field_series_t) | convt_gl |
| type(field_t), pointer | cr_k1 |
| The time interpolated convecting field used in Runge_Kutta method. | |
| type(field_t), pointer | cs_k1 |
| type(field_t), pointer | ct_k1 |
| type(field_t), pointer | cr_k23 |
| type(field_t), pointer | cs_k23 |
| type(field_t), pointer | ct_k23 |
| type(field_t), pointer | cr_k4 |
| type(field_t), pointer | cs_k4 |
| type(field_t), pointer | ct_k4 |
| type(field_list_t) | conv_k1 |
| The field_list containing the time interpolated convecting field. | |
| type(field_list_t) | conv_k23 |
| type(field_list_t) | conv_k4 |
| real(kind=rp), dimension(:), allocatable | cx |
| The convecting velocity field in GL space. | |
| real(kind=rp), dimension(:), allocatable | cy |
| real(kind=rp), dimension(:), allocatable | cz |
| type(c_ptr) | cx_d = C_NULL_PTR |
| Device pointers for cx, cy, cz. | |
| type(c_ptr) | cy_d = C_NULL_PTR |
| type(c_ptr) | cz_d = C_NULL_PTR |
Definition at line 60 of file adv_oifs.f90.
|
pure virtualinherited |
Definition at line 48 of file advection.f90.
| procedure, pass(this) adv_oifs::adv_oifs_t::compute | ( | class(adv_oifs_t), intent(inout) | this, |
| type(field_t), intent(inout) | vx, | ||
| type(field_t), intent(inout) | vy, | ||
| type(field_t), intent(inout) | vz, | ||
| type(field_t), intent(inout) | fx, | ||
| type(field_t), intent(inout) | fy, | ||
| type(field_t), intent(inout) | fz, | ||
| type(space_t), intent(in) | xh, | ||
| type(coef_t), intent(in) | coef, | ||
| integer, intent(in) | n, | ||
| real(kind=rp), intent(in), optional | dt | ||
| ) |
| vx | The x component of velocity. |
| vy | The y component of velocity. |
| vz | The z component of velocity. |
| fx | The x component of source term. |
| fy | The y component of source term. |
| fz | The z component of source term. |
| Xh | The function space. |
| coef | The coefficients of the (Xh, mesh) pair. |
| n | Typically the size of the mesh. |
| dt | Current time-step. |
Definition at line 101 of file adv_oifs.f90.
|
pure virtualinherited |
Definition at line 49 of file advection.f90.
| procedure, pass(this) adv_oifs::adv_oifs_t::compute_scalar | ( | class(adv_oifs_t), intent(inout) | this, |
| type(field_t), intent(inout) | vx, | ||
| type(field_t), intent(inout) | vy, | ||
| type(field_t), intent(inout) | vz, | ||
| type(field_t), intent(inout) | s, | ||
| type(field_t), intent(inout) | fs, | ||
| type(space_t), intent(in) | xh, | ||
| type(coef_t), intent(in) | coef, | ||
| integer, intent(in) | n, | ||
| real(kind=rp), intent(in), optional | dt | ||
| ) |
| this | The object. |
| vx | The x component of velocity. |
| vy | The y component of velocity. |
| vz | The z component of velocity. |
| s | The scalar. |
| fs | The source term. |
| Xh | The function space. |
| coef | The coefficients of the (Xh, mesh) pair. |
| n | Typically the size of the mesh. |
| dt | Current time-step. |
Definition at line 104 of file adv_oifs.f90.
|
pure virtualinherited |
Definition at line 50 of file advection.f90.
Definition at line 110 of file adv_oifs.f90.
| procedure, pass(this) adv_oifs::adv_oifs_t::init | ( | class(adv_oifs_t) | this, |
| integer, intent(in) | lxd, | ||
| type(coef_t), target | coef, | ||
| real(kind=rp), intent(in) | ctarget, | ||
| type(field_series_t), intent(in), target | ulag, | ||
| type(field_series_t), intent(in), target | vlag, | ||
| type(field_series_t), intent(in), target | wlag, | ||
| real(kind=rp), dimension(10), intent(in), target | dtlag, | ||
| real(kind=rp), dimension(10), intent(in), target | tlag, | ||
| type(time_scheme_controller_t), intent(in), target | time_scheme, | ||
| type(field_series_t), optional, target | slag | ||
| ) |
| lxd | The polynomial order of the space used in the dealiasing. |
| coef | The coefficients of the (space, mesh) pair. |
| ctarget | Target CFL number. |
| ulag | The x component of lagged velocity. |
| vlag | The y component of lagged velocity. |
| wlag | The z component of lagged velocity. |
| dtlag | Lagged time steps. |
| tlag | Lagged simulation times. |
| time_scheme | The bdf-ext time scheme used in the method. |
| slag | The lagged scalar field. |
Definition at line 106 of file adv_oifs.f90.
| procedure, pass(this) adv_oifs::adv_oifs_t::set_conv_velocity_fst | ( | class(adv_oifs_t), intent(inout) | this, |
| type(field_t), intent(inout) | u, | ||
| type(field_t), intent(inout) | v, | ||
| type(field_t), intent(inout) | w | ||
| ) |
| u | Velocity component in x-direction |
| v | Velocity component in y-direction |
| w | Velocity component in z-direction |
Definition at line 108 of file adv_oifs.f90.
| type(coef_t) adv_oifs::adv_oifs_t::coef_gl |
Definition at line 64 of file adv_oifs.f90.
Definition at line 66 of file adv_oifs.f90.
| type(field_list_t) adv_oifs::adv_oifs_t::conv_k1 |
Definition at line 92 of file adv_oifs.f90.
| type(field_list_t) adv_oifs::adv_oifs_t::conv_k23 |
Definition at line 92 of file adv_oifs.f90.
| type(field_list_t) adv_oifs::adv_oifs_t::conv_k4 |
Definition at line 92 of file adv_oifs.f90.
| type(field_series_t) adv_oifs::adv_oifs_t::convr_gl |
Definition at line 86 of file adv_oifs.f90.
| type(field_series_t) adv_oifs::adv_oifs_t::convs_gl |
Definition at line 86 of file adv_oifs.f90.
| type(field_series_t) adv_oifs::adv_oifs_t::convt_gl |
Definition at line 86 of file adv_oifs.f90.
| type(field_t) adv_oifs::adv_oifs_t::cr_gl |
Definition at line 84 of file adv_oifs.f90.
Definition at line 88 of file adv_oifs.f90.
Definition at line 89 of file adv_oifs.f90.
Definition at line 90 of file adv_oifs.f90.
| type(field_t) adv_oifs::adv_oifs_t::cs_gl |
Definition at line 84 of file adv_oifs.f90.
Definition at line 88 of file adv_oifs.f90.
Definition at line 89 of file adv_oifs.f90.
Definition at line 90 of file adv_oifs.f90.
| type(field_t) adv_oifs::adv_oifs_t::ct_gl |
Definition at line 84 of file adv_oifs.f90.
Definition at line 88 of file adv_oifs.f90.
Definition at line 89 of file adv_oifs.f90.
Definition at line 90 of file adv_oifs.f90.
Definition at line 78 of file adv_oifs.f90.
| real(kind=rp), dimension(:), allocatable adv_oifs::adv_oifs_t::cx |
Definition at line 94 of file adv_oifs.f90.
| type(c_ptr) adv_oifs::adv_oifs_t::cx_d = C_NULL_PTR |
Definition at line 96 of file adv_oifs.f90.
| real(kind=rp), dimension(:), allocatable adv_oifs::adv_oifs_t::cy |
Definition at line 94 of file adv_oifs.f90.
| type(c_ptr) adv_oifs::adv_oifs_t::cy_d = C_NULL_PTR |
Definition at line 96 of file adv_oifs.f90.
| real(kind=rp), dimension(:), allocatable adv_oifs::adv_oifs_t::cz |
Definition at line 94 of file adv_oifs.f90.
| type(c_ptr) adv_oifs::adv_oifs_t::cz_d = C_NULL_PTR |
Definition at line 96 of file adv_oifs.f90.
Definition at line 80 of file adv_oifs.f90.
| type(time_interpolator_t) adv_oifs::adv_oifs_t::dtime |
Definition at line 74 of file adv_oifs.f90.
| type(interpolator_t) adv_oifs::adv_oifs_t::gll_to_gl |
Definition at line 68 of file adv_oifs.f90.
| integer adv_oifs::adv_oifs_t::ntaubd |
Definition at line 62 of file adv_oifs.f90.
| type(time_scheme_controller_t), pointer adv_oifs::adv_oifs_t::oifs_scheme => null() |
Definition at line 82 of file adv_oifs.f90.
| type(field_series_t), pointer adv_oifs::adv_oifs_t::slag => null() |
Definition at line 76 of file adv_oifs.f90.
| type(field_series_t), pointer adv_oifs::adv_oifs_t::ulag |
Definition at line 76 of file adv_oifs.f90.
| type(field_series_t), pointer adv_oifs::adv_oifs_t::vlag |
Definition at line 76 of file adv_oifs.f90.
| type(field_series_t), pointer adv_oifs::adv_oifs_t::wlag |
Definition at line 76 of file adv_oifs.f90.
| type(space_t) adv_oifs::adv_oifs_t::xh_gl |
Definition at line 70 of file adv_oifs.f90.
Definition at line 72 of file adv_oifs.f90.