42  use, 
intrinsic :: iso_c_binding
 
   69    integer, 
intent(in), 
target :: order
 
 
   96    real(kind=
rp), 
intent(inout) :: t, t_past, t_future
 
   97    type(
field_t), 
intent(inout) :: f, f_past, f_future
 
   98    real(kind=
rp) :: w_past, w_future 
 
  101    if (this%order .eq. 2) 
then 
  104       w_past = ( t_future - t ) / ( t_future - t_past )
 
  105       w_future = ( t - t_past ) / ( t_future - t_past )
 
  111          call add3s2(f%x, f_past%x, f_future%x, w_past, w_future, n)
 
  115       call neko_error(
"Time interpolation of required order & 
  116       &is not implemented")
 
 
  130    real(kind=
rp), 
intent(in) :: t
 
  131    integer, 
intent(in) :: n
 
  133    type(
field_t), 
intent(inout) :: f_interpolated
 
  134    real(kind=
rp), 
dimension(0:this%order), 
intent(in) :: tlag
 
  135    type(c_ptr) :: f_interpolated_d
 
  138    real(kind=
rp), 
dimension(0:this%order - 1) :: wt
 
  144       call device_add4s3(f_interpolated%x_d, f_n%f%x_d, f_n%lf(1)%x_d, &
 
  145                        f_n%lf(2)%x_d, wt(0), wt(1), wt(2), n)
 
  147       call add4s3(f_interpolated%x, f_n%f%x, f_n%lf(1)%x, f_n%lf(2)%x, &
 
  148                  wt(0), wt(1), wt(2), n)
 
 
subroutine, public device_add4s3(a_d, b_d, c_d, d_d, c1, c2, c3, n, strm)
Returns .
 
subroutine, public device_add3s2(a_d, b_d, c_d, c1, c2, n, strm)
Returns .
 
Fast diagonalization methods from NEKTON.
 
subroutine, public fd_weights_full(xi, x, n, m, c)
Compute finite-difference stencil weights for evaluating derivatives up to order  at a point.
 
Contains the field_serties_t type.
 
subroutine, public add3s2(a, b, c, c1, c2, n)
Returns .
 
subroutine, public add4s3(a, b, c, d, c1, c2, c3, n)
Returns .
 
integer, parameter neko_bcknd_device
 
integer, parameter, public rp
Global precision used in computations.
 
Implements type time_interpolator_t.
 
subroutine time_interpolator_interpolate(this, t, f, t_past, f_past, t_future, f_future)
Interpolate a field at time t from fields at time t-dt and t+dt.
 
subroutine time_interpolator_free(this)
Destructor.
 
subroutine time_interpolator_init(this, order)
Constructor.
 
subroutine time_interpolator_scalar(this, t, f_interpolated, f_n, tlag, n)
Interpolate a scalar field at time t from known scalar fields at different time steps.
 
Stores a series (sequence) of fields, logically connected to a base field, and arranged according to ...
 
Provides a tool to perform interpolation in time.