SF_INTERPOLATE Module


1-DIMENSIONAL SPLINES:


+-------------------------------------------------------------------+ PURPOSE : Linear interpolation of given data +-------------------------------------------------------------------+








2-DIMENSIONAL SPLINES:


+-------------------------------------------------------------------+ PURPOSE : This function uses bilinear interpolation to estimate the value of a function f at point (x,y). f is assumed to be sampled on a regular grid, with the grid x values specified by x_array and the grid y values specified by y_array Reference: http://en.wikipedia.org/wiki/Bilinear_interpolation +-------------------------------------------------------------------+





computational ROUTINES:















Uses

  • module~~sf_interpolate~~UsesGraph module~sf_interpolate SF_INTERPOLATE module~interpolate_nr INTERPOLATE_NR module~sf_interpolate->module~interpolate_nr

Used by

  • module~~sf_interpolate~~UsedByGraph module~sf_interpolate SF_INTERPOLATE module~scifor SCIFOR module~scifor->module~sf_interpolate

Interfaces

public interface linear_spline

  • private subroutine d_linear_spline_s(Xin, Fin, Xout, Fout)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:) :: Xin
    real(kind=8), dimension(size(Xin)) :: Fin
    real(kind=8) :: Xout
    real(kind=8) :: Fout
  • private subroutine d_linear_spline_v(Xin, Fin, Xout, Fout)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:) :: Xin
    real(kind=8), dimension(size(Xin)) :: Fin
    real(kind=8), dimension(:) :: Xout
    real(kind=8), dimension(size(Xout)) :: Fout
  • private subroutine c_linear_spline_s(Xin, Fin, Xout, Fout)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:) :: Xin
    complex(kind=8), dimension(size(Xin)) :: Fin
    real(kind=8) :: Xout
    complex(kind=8) :: Fout
  • private subroutine c_linear_spline_v(Xin, Fin, Xout, Fout)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:) :: Xin
    complex(kind=8), dimension(size(Xin)) :: Fin
    real(kind=8), dimension(:) :: Xout
    complex(kind=8), dimension(size(Xout)) :: Fout
  • private subroutine d_linear_spline_2d_s(xin, yin, fin, xout, yout, fout)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:) :: xin
    real(kind=8), dimension(:) :: yin
    real(kind=8), dimension(size(xin),size(yin)) :: fin
    real(kind=8) :: xout
    real(kind=8) :: yout
    real(kind=8) :: fout
  • private subroutine d_linear_spline_2d_v(xin, yin, fin, xout, yout, fout)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:) :: xin
    real(kind=8), dimension(:) :: yin
    real(kind=8), dimension(size(xin),size(yin)) :: fin
    real(kind=8), dimension(:) :: xout
    real(kind=8), dimension(:) :: yout
    real(kind=8), dimension(size(xout),size(yout)) :: fout
  • private subroutine c_linear_spline_2d_s(xin, yin, fin, xout, yout, fout)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:) :: xin
    real(kind=8), dimension(:) :: yin
    complex(kind=8), dimension(size(xin),size(yin)) :: fin
    real(kind=8) :: xout
    real(kind=8) :: yout
    complex(kind=8) :: fout
  • private subroutine c_linear_spline_2d_v(xin, yin, fin, xout, yout, fout)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:) :: xin
    real(kind=8), dimension(:) :: yin
    complex(kind=8), dimension(size(xin),size(yin)) :: fin
    real(kind=8), dimension(:) :: xout
    real(kind=8), dimension(:) :: yout
    complex(kind=8), dimension(size(xout),size(yout)) :: fout

public interface poly_spline

  • private subroutine d_poly_spline_s(Xin, Fin, Xout, Fout, N)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:) :: Xin
    real(kind=8), dimension(size(Xin)) :: Fin
    real(kind=8) :: Xout
    real(kind=8) :: Fout
    integer, optional :: N
  • private subroutine d_poly_spline_v(Xin, Fin, Xout, Fout, N)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:) :: Xin
    real(kind=8), dimension(size(Xin)) :: Fin
    real(kind=8), dimension(:) :: Xout
    real(kind=8), dimension(size(Xout)) :: Fout
    integer, optional :: N
  • private subroutine c_poly_spline_s(Xin, Fin, Xout, Fout, N)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:) :: Xin
    complex(kind=8), dimension(size(Xin)) :: Fin
    real(kind=8) :: Xout
    complex(kind=8) :: Fout
    integer, optional :: N
  • private subroutine c_poly_spline_v(Xin, Fin, Xout, Fout, N)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:) :: Xin
    complex(kind=8), dimension(size(Xin)) :: Fin
    real(kind=8), dimension(:) :: Xout
    complex(kind=8), dimension(size(Xout)) :: Fout
    integer, optional :: N
  • private subroutine d_poly_spline_2d_s(xin, yin, fin, xout, yout, fout, N)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:) :: xin
    real(kind=8), dimension(:) :: yin
    real(kind=8), dimension(size(xin),size(yin)) :: fin
    real(kind=8) :: xout
    real(kind=8) :: yout
    real(kind=8) :: fout
    integer, optional :: N
  • private subroutine d_poly_spline_2d_v(xin, yin, fin, xout, yout, fout, N)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:) :: xin
    real(kind=8), dimension(:) :: yin
    real(kind=8), dimension(size(xin),size(yin)) :: fin
    real(kind=8), dimension(:) :: xout
    real(kind=8), dimension(:) :: yout
    real(kind=8), dimension(size(xout),size(yout)) :: fout
    integer, optional :: N
  • private subroutine c_poly_spline_2d_s(xin, yin, fin, xout, yout, fout, N)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:) :: xin
    real(kind=8), dimension(:) :: yin
    complex(kind=8), dimension(size(xin),size(yin)) :: fin
    real(kind=8) :: xout
    real(kind=8) :: yout
    complex(kind=8) :: fout
    integer, optional :: N
  • private subroutine c_poly_spline_2d_v(xin, yin, fin, xout, yout, fout, N)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:) :: xin
    real(kind=8), dimension(:) :: yin
    complex(kind=8), dimension(size(xin),size(yin)) :: fin
    real(kind=8), dimension(:) :: xout
    real(kind=8), dimension(:) :: yout
    complex(kind=8), dimension(size(xout),size(yout)) :: fout
    integer, optional :: N

public interface cubic_spline

  • private subroutine d_cub_interp_s(Xin, Fin, Xout, Fout)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:) :: Xin
    real(kind=8), dimension(size(Xin)) :: Fin
    real(kind=8) :: Xout
    real(kind=8) :: Fout
  • private subroutine d_cub_interp_v(Xin, Fin, Xout, Fout)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:) :: Xin
    real(kind=8), dimension(size(Xin)) :: Fin
    real(kind=8), dimension(:) :: Xout
    real(kind=8), dimension(size(Xout)) :: Fout
  • private subroutine c_cub_interp_s(Xin, Fin, Xout, Fout)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:) :: Xin
    complex(kind=8), dimension(size(Xin)) :: Fin
    real(kind=8) :: Xout
    complex(kind=8) :: Fout
  • private subroutine c_cub_interp_v(Xin, Fin, Xout, Fout)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=8), dimension(:) :: Xin
    complex(kind=8), dimension(size(Xin)) :: Fin
    real(kind=8), dimension(:) :: Xout
    complex(kind=8), dimension(size(Xout)) :: Fout

public interface init_finter

  • private subroutine init_finter_d(func, xin, fin, N)

    Arguments

    Type IntentOptional Attributes Name
    type(finter_type) :: func
    real(kind=8) :: xin(:)
    real(kind=8) :: fin(size(xin))
    integer :: N
  • private subroutine init_finter_c(func, xin, fin, N)

    Arguments

    Type IntentOptional Attributes Name
    type(finter_type) :: func
    real(kind=8) :: xin(:)
    complex(kind=8) :: fin(size(xin))
    integer :: N

Derived Types

type, public ::  finter_type

Components

Type Visibility Attributes Name Initial
real(kind=8), public, allocatable :: X(:)
real(kind=8), public, allocatable :: F(:)
real(kind=8), public, allocatable :: G(:)
integer, public :: Imin
integer, public :: Imax
integer, public :: N
logical, public :: status = .false.

type, public ::  finter2d_type

Components

Type Visibility Attributes Name Initial
real(kind=8), public, allocatable :: X(:)
real(kind=8), public, allocatable :: Y(:)
real(kind=8), public, allocatable :: F(:,:)
integer, public :: N = 0
integer, public :: Imin = 0
integer, public :: Imax = 0
integer, public :: Jmin = 0
integer, public :: Jmax = 0
logical, public :: status = .false.

Functions

public function finter(func, x)

Arguments

Type IntentOptional Attributes Name
type(finter_type) :: func
real(kind=8) :: x

Return Value real(kind=8)

public function cinter(func, x)

Arguments

Type IntentOptional Attributes Name
type(finter_type) :: func
real(kind=8) :: x

Return Value complex(kind=8)

public function finter2d(func, x, y)

Arguments

Type IntentOptional Attributes Name
type(finter2d_type) :: func
real(kind=8) :: x
real(kind=8) :: y

Return Value real(kind=8)


Subroutines

public subroutine delete_finter(func)

Arguments

Type IntentOptional Attributes Name
type(finter_type) :: func

public subroutine init_finter2d(func, xin, yin, fin, N)

Arguments

Type IntentOptional Attributes Name
type(finter2d_type) :: func
real(kind=8) :: xin(:)
real(kind=8) :: yin(:)
real(kind=8) :: fin(size(xin),size(yin))
integer :: N

public subroutine delete_finter2d(func)

Arguments

Type IntentOptional Attributes Name
type(finter2d_type) :: func