interpol Interface

public interface interpol

Performs linear/bilinear/cylindrical interpolation

Calls

interface~~interpol~~CallsGraph interface~interpol interpol proc~interpol3d_arr interpol3D_arr interface~interpol->proc~interpol3d_arr proc~interpol2d_arr interpol2D_arr interface~interpol->proc~interpol2d_arr proc~interpol1d_arr interpol1D_arr interface~interpol->proc~interpol1d_arr proc~interpol2d_2d_arr interpol2D_2D_arr interface~interpol->proc~interpol2d_2d_arr proc~interpol3d_2d_arr interpol3D_2D_arr interface~interpol->proc~interpol3d_2d_arr interface~interpol_coeff interpol_coeff proc~interpol3d_arr->interface~interpol_coeff proc~interpol2d_arr->interface~interpol_coeff proc~interpol1d_arr->interface~interpol_coeff proc~interpol2d_2d_arr->interface~interpol_coeff proc~interpol3d_2d_arr->interface~interpol_coeff proc~cyl_interpol3d_coeff cyl_interpol3D_coeff interface~interpol_coeff->proc~cyl_interpol3d_coeff proc~interpol1d_coeff interpol1D_coeff interface~interpol_coeff->proc~interpol1d_coeff proc~interpol2d_coeff_arr interpol2D_coeff_arr interface~interpol_coeff->proc~interpol2d_coeff_arr proc~interpol2d_coeff interpol2D_coeff interface~interpol_coeff->proc~interpol2d_coeff proc~cyl_interpol3d_coeff_arr cyl_interpol3D_coeff_arr interface~interpol_coeff->proc~cyl_interpol3d_coeff_arr proc~interpol1d_coeff_arr interpol1D_coeff_arr interface~interpol_coeff->proc~interpol1d_coeff_arr proc~cyl_interpol3d_coeff->proc~interpol2d_coeff proc~interpol2d_coeff_arr->proc~interpol2d_coeff proc~cyl_interpol3d_coeff_arr->proc~cyl_interpol3d_coeff proc~cyl_interpol3d_coeff_arr->proc~interpol2d_coeff proc~interpol1d_coeff_arr->proc~interpol1d_coeff

Called by

interface~~interpol~~CalledByGraph interface~interpol interpol proc~get_distribution get_distribution proc~get_distribution->interface~interpol proc~get_ep_denf get_ep_denf proc~get_ep_denf->interface~interpol proc~mc_fastion mc_fastion proc~mc_fastion->proc~get_distribution proc~mc_fastion_pass_grid mc_fastion_pass_grid proc~mc_fastion_pass_grid->proc~get_distribution proc~fida_weights_mc fida_weights_mc proc~fida_weights_mc->proc~get_ep_denf proc~fida_f fida_f proc~fida_f->proc~mc_fastion proc~pnpa_f pnpa_f proc~pnpa_f->proc~mc_fastion_pass_grid proc~pfida_f pfida_f proc~pfida_f->proc~mc_fastion_pass_grid proc~npa_f npa_f proc~npa_f->proc~mc_fastion program~fidasim fidasim program~fidasim->proc~fida_weights_mc program~fidasim->proc~fida_f program~fidasim->proc~pnpa_f program~fidasim->proc~pfida_f program~fidasim->proc~npa_f

Contents


Module Procedures

public subroutine interpol1D_arr(x, y, xout, yout, err, coeffs)

Performs linear interpolation on a uniform 1D grid y(x)

Arguments

Type IntentOptional AttributesName
real(kind=Float64), intent(in), dimension(:):: x

The abscissa values of y

real(kind=Float64), intent(in), dimension(:):: y

Values at abscissa values x: y(x)

real(kind=Float64), intent(in) :: xout

Abscissa value to interpolate

real(kind=Float64), intent(out) :: yout

Interpolant: y(xout)

integer, intent(out), optional :: err

Error code

type(InterpolCoeffs1D), intent(in), optional :: coeffs

Precomputed Linear Interpolation Coefficients

public subroutine interpol2D_arr(x, y, z, xout, yout, zout, err, coeffs)

Performs bilinear interpolation on a 2D grid z(x,y)

Arguments

Type IntentOptional AttributesName
real(kind=Float64), intent(in), dimension(:):: x

The abscissa values of z

real(kind=Float64), intent(in), dimension(:):: y

The ordinate values of z

real(kind=Float64), intent(in), dimension(:,:):: z

Values at the abscissa/ordinates: z(x,y)

real(kind=Float64), intent(in) :: xout

The abscissa value to interpolate

real(kind=Float64), intent(in) :: yout

The ordinate value to interpolate

real(kind=Float64), intent(out) :: zout

Interpolant: z(xout,yout)

integer, intent(out), optional :: err

Error code

type(InterpolCoeffs2D), intent(in), optional :: coeffs

Precomputed Linear Interpolation Coefficients

public subroutine interpol2D_2D_arr(x, y, z, xout, yout, zout, err, coeffs)

Performs bilinear interpolation on a 2D grid of 2D arrays z(:,:,x,y)

Arguments

Type IntentOptional AttributesName
real(kind=Float64), intent(in), dimension(:):: x

The abscissa values of z

real(kind=Float64), intent(in), dimension(:):: y

The ordinate values of z

real(kind=Float64), intent(in), dimension(:,:,:,:):: z

Values at the abscissa/ordinates: z(:,:,x,y)

real(kind=Float64), intent(in) :: xout

The abscissa value to interpolate

real(kind=Float64), intent(in) :: yout

The ordinate value to interpolate

real(kind=Float64), intent(out), dimension(:,:):: zout

Interpolant: z(:,:,xout,yout)

integer, intent(out), optional :: err

Error code

type(InterpolCoeffs2D), intent(in), optional :: coeffs

Precomputed Linear Interpolation Coefficients

public subroutine interpol3D_arr(r, z, phi, d, rout, zout, phiout, dout, err, coeffs)

Performs cylindrical interpolation on a 3D grid f(r,z,phi)

Arguments

Type IntentOptional AttributesName
real(kind=Float64), intent(in), dimension(:):: r

R values

real(kind=Float64), intent(in), dimension(:):: z

Z values

real(kind=Float64), intent(in), dimension(:):: phi

Phi values

real(kind=Float64), intent(in), dimension(:,:,:):: d

Values at r,z,phi: d(r,z,phi)

real(kind=Float64), intent(in) :: rout

R value to interpolate

real(kind=Float64), intent(in) :: zout

Z value to interpolate

real(kind=Float64), intent(in) :: phiout

Phi value to interpolate

real(kind=Float64), intent(out) :: dout

Interpolant: d(rout,zout,phiout)

integer, intent(out), optional :: err

Error code

type(InterpolCoeffs3D), intent(in), optional :: coeffs

Precomputed Interpolation Coefficients

public subroutine interpol3D_2D_arr(r, z, phi, f, rout, zout, phiout, fout, err, coeffs)

Performs cylindrical interpolation on a 3D grid of 2D arrays f(:,:,r,z,phi)

Arguments

Type IntentOptional AttributesName
real(kind=Float64), intent(in), dimension(:):: r

R values

real(kind=Float64), intent(in), dimension(:):: z

Z values

real(kind=Float64), intent(in), dimension(:):: phi

Phi values

real(kind=Float64), intent(in), dimension(:,:,:,:,:):: f

Values at r,z,phi: f(:,:,r,z,phi)

real(kind=Float64), intent(in) :: rout

R value to interpolate

real(kind=Float64), intent(in) :: zout

Z value to interpolate

real(kind=Float64), intent(in) :: phiout

Phi value to interpolate

real(kind=Float64), intent(out), dimension(:,:):: fout

Interpolant: f(:,:,rout,zout,phiout)

integer, intent(out), optional :: err

Error code

type(InterpolCoeffs3D), intent(in), optional :: coeffs

Precomputed Interpolation Coefficients