41 use,
intrinsic :: iso_c_binding
65 integer,
intent(in),
target :: order
91 real(kind=
rp),
intent(inout) :: t, t_past, t_future
92 type(
field_t),
intent(inout) :: f, f_past, f_future
93 real(kind=
rp) :: w_past, w_future
96 if (this%order .eq. 2)
then
99 w_past = ( t_future - t ) / ( t_future - t_past )
100 w_future = ( t - t_past ) / ( t_future - t_past )
106 call add3s2(f%x, f_past%x, f_future%x, w_past, w_future, n)
110 call neko_error(
"Time interpolation of required order is not implemented")
subroutine, public device_add3s2(a_d, b_d, c_d, c1, c2, n)
subroutine, public add3s2(a, b, c, c1, c2, 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.
Provides a tool to perform interpolation in time.