pf_mod_interpolate Module

Module to do interpolation between pfasst levels


Uses

  • module~~pf_mod_interpolate~~UsesGraph module~pf_mod_interpolate pf_mod_interpolate module~pf_mod_utils pf_mod_utils module~pf_mod_interpolate->module~pf_mod_utils module~pf_mod_restrict pf_mod_restrict module~pf_mod_interpolate->module~pf_mod_restrict module~pf_mod_dtype pf_mod_dtype module~pf_mod_interpolate->module~pf_mod_dtype module~pf_mod_timer pf_mod_timer module~pf_mod_interpolate->module~pf_mod_timer module~pf_mod_hooks pf_mod_hooks module~pf_mod_interpolate->module~pf_mod_hooks module~pf_mod_utils->module~pf_mod_dtype module~pf_mod_utils->module~pf_mod_timer module~pf_mod_restrict->module~pf_mod_dtype module~pf_mod_restrict->module~pf_mod_timer module~pf_mod_restrict->module~pf_mod_hooks iso_c_binding iso_c_binding module~pf_mod_dtype->iso_c_binding module~pf_mod_timer->module~pf_mod_dtype module~pf_mod_hooks->module~pf_mod_dtype

Used by

  • module~~pf_mod_interpolate~~UsedByGraph module~pf_mod_interpolate pf_mod_interpolate module~pf_mod_parallel_oc pf_mod_parallel_oc module~pf_mod_parallel_oc->module~pf_mod_interpolate module~pf_mod_parallel pf_mod_parallel module~pf_mod_parallel->module~pf_mod_interpolate module~pfasst pfasst module~pfasst->module~pf_mod_parallel

Contents


Subroutines

public subroutine interpolate_time_space(pf, t0, dt, level_index, F_INTERP, flags)

Subroutine to interpolate (in time and space) level_index-1 to level_index Interpolation is done by interpolating increments.
The fine function values are re-evaluated after interpolation. create workspaces set time at coarse and fine nodes interpolate coarse level correction in space only interpolate corrections in time

Read more…

Arguments

Type IntentOptional AttributesName
type(pf_pfasst_t), intent(inout), target:: pf

main pfasst structure

real(kind=pfdp), intent(in) :: t0

time at beginning of time interval

real(kind=pfdp), intent(in) :: dt

time step

integer, intent(in) :: level_index

defines which level to interpolate to

logical, intent(in) :: F_INTERP

Flag, if true, then do interp on f not sol

integer, intent(in), optional :: flags

public subroutine interpolate_q0(pf, f_lev_ptr, c_lev_ptr, flags)

Subroutine to update the fine initial condition from coarse increment by spatial interpolation

Read more…

Arguments

Type IntentOptional AttributesName
type(pf_pfasst_t), intent(inout) :: pf

main pfasst structure

class(pf_level_t), intent(inout) :: f_lev_ptr

fine level

class(pf_level_t), intent(inout) :: c_lev_ptr

coarse level

integer, intent(in), optional :: flags

public subroutine interpolate_qend(pf, f_lev_ptr, c_lev_ptr)

Subroutine to update the fine terminal condition from coarse increment by spatial interpolation used for adjoint solver

Read more…

Arguments

Type IntentOptional AttributesName
type(pf_pfasst_t), intent(inout) :: pf

main pfasst structure

class(pf_level_t), intent(inout) :: f_lev_ptr

fine level

class(pf_level_t), intent(inout) :: c_lev_ptr

coarse level