interpol_coeff Interface

public interface interpol_coeff

Calculates interpolation coefficients

Called by

interface~~interpol_coeff~~CalledByGraph interface~interpol_coeff interpol_coeff proc~bt_cx_rates bt_cx_rates proc~bt_cx_rates->interface~interpol_coeff proc~get_ddpt_anisotropy get_ddpt_anisotropy proc~get_ddpt_anisotropy->interface~interpol_coeff proc~get_rate_matrix get_rate_matrix proc~get_rate_matrix->interface~interpol_coeff proc~bb_cx_rates bb_cx_rates proc~bb_cx_rates->interface~interpol_coeff proc~in_plasma in_plasma proc~in_plasma->interface~interpol_coeff proc~get_dd_rate get_dd_rate proc~get_dd_rate->interface~interpol_coeff proc~pnpa_mc pnpa_mc proc~pnpa_mc->proc~bt_cx_rates proc~get_plasma get_plasma proc~pnpa_mc->proc~get_plasma proc~get_fields get_fields proc~pnpa_mc->proc~get_fields proc~attenuate attenuate proc~pnpa_mc->proc~attenuate proc~store_npa store_npa proc~pnpa_mc->proc~store_npa proc~dcx_spec dcx_spec proc~dcx_spec->proc~in_plasma proc~dcx_spec->proc~get_plasma proc~store_photons store_photons proc~dcx_spec->proc~store_photons proc~pnpa_f pnpa_f proc~pnpa_f->proc~bt_cx_rates proc~pnpa_f->proc~get_plasma proc~mc_fastion_pass_grid mc_fastion_pass_grid proc~pnpa_f->proc~mc_fastion_pass_grid proc~pnpa_f->proc~attenuate proc~pnpa_f->proc~store_npa proc~get_plasma->proc~in_plasma proc~pfida_mc pfida_mc proc~pfida_mc->proc~bt_cx_rates proc~pfida_mc->proc~get_plasma proc~colrad colrad proc~pfida_mc->proc~colrad proc~track_cylindrical track_cylindrical proc~pfida_mc->proc~track_cylindrical proc~pfida_mc->proc~get_fields proc~store_fida_photons store_fida_photons proc~pfida_mc->proc~store_fida_photons proc~colrad->proc~get_rate_matrix proc~track track proc~track->proc~in_plasma proc~track->proc~get_plasma proc~track->proc~get_fields proc~halo_spec halo_spec proc~halo_spec->proc~in_plasma proc~halo_spec->proc~get_plasma proc~halo_spec->proc~store_photons proc~make_beam_grid make_beam_grid proc~make_beam_grid->proc~in_plasma proc~neutral_cx_rate neutral_cx_rate proc~neutral_cx_rate->proc~bb_cx_rates proc~read_mc read_mc proc~read_mc->proc~in_plasma proc~neutron_f neutron_f proc~neutron_f->proc~get_dd_rate proc~neutron_f->proc~get_plasma proc~neutron_f->proc~get_fields proc~fida_weights_los fida_weights_los proc~fida_weights_los->proc~bt_cx_rates proc~fida_weights_los->proc~bb_cx_rates proc~fida_weights_los->proc~in_plasma proc~fida_weights_los->proc~get_plasma proc~fida_weights_los->proc~colrad proc~fida_weights_los->proc~track proc~fida_weights_los->proc~get_fields proc~mc_nbi mc_nbi proc~mc_nbi->proc~in_plasma proc~cfpd_f cfpd_f proc~cfpd_f->proc~get_ddpt_anisotropy proc~cfpd_f->proc~get_dd_rate proc~cfpd_f->proc~get_plasma proc~cfpd_f->proc~get_fields proc~track_cylindrical->proc~in_plasma proc~track_cylindrical->proc~get_plasma proc~track_cylindrical->proc~get_fields proc~neutron_mc neutron_mc proc~neutron_mc->proc~get_dd_rate proc~neutron_mc->proc~get_plasma proc~neutron_mc->proc~get_fields proc~pfida_f pfida_f proc~pfida_f->proc~bt_cx_rates proc~pfida_f->proc~get_plasma proc~pfida_f->proc~colrad proc~pfida_f->proc~track_cylindrical proc~pfida_f->proc~mc_fastion_pass_grid proc~pfida_f->proc~store_fida_photons proc~get_fields->proc~in_plasma proc~nbi_spec nbi_spec proc~nbi_spec->proc~in_plasma proc~nbi_spec->proc~store_photons proc~get_plasma_extrema get_plasma_extrema proc~get_plasma_extrema->proc~in_plasma proc~mc_fastion_pass_grid->proc~get_fields proc~dcx dcx proc~dcx->proc~get_plasma proc~dcx->proc~colrad proc~dcx->proc~track proc~get_total_cx_rate get_total_cx_rate proc~dcx->proc~get_total_cx_rate proc~dcx->proc~store_photons proc~attenuate->proc~get_plasma proc~attenuate->proc~colrad proc~npa_weights npa_weights proc~npa_weights->proc~get_fields proc~npa_weights->proc~attenuate proc~npa_weights->proc~get_total_cx_rate proc~read_distribution read_distribution proc~read_distribution->proc~read_mc proc~store_fw_photons store_fw_photons proc~store_fw_photons->proc~get_fields proc~fida_f fida_f proc~fida_f->proc~get_plasma proc~fida_f->proc~colrad proc~fida_f->proc~track proc~fida_f->proc~get_total_cx_rate proc~mc_fastion mc_fastion proc~fida_f->proc~mc_fastion proc~fida_f->proc~store_fida_photons proc~make_passive_grid make_passive_grid proc~make_passive_grid->proc~get_plasma_extrema proc~cold_spec cold_spec proc~cold_spec->proc~get_plasma proc~cold_spec->proc~store_photons proc~npa_f npa_f proc~npa_f->proc~get_plasma proc~npa_f->proc~attenuate proc~npa_f->proc~get_total_cx_rate proc~npa_f->proc~mc_fastion proc~npa_f->proc~store_npa proc~get_total_cx_rate->proc~neutral_cx_rate proc~mc_fastion->proc~get_fields proc~fida_mc fida_mc proc~fida_mc->proc~get_plasma proc~fida_mc->proc~colrad proc~fida_mc->proc~track proc~fida_mc->proc~get_fields proc~fida_mc->proc~get_total_cx_rate proc~fida_mc->proc~store_fida_photons program~fidasim fidasim program~fidasim->proc~pnpa_mc program~fidasim->proc~dcx_spec program~fidasim->proc~pnpa_f program~fidasim->proc~pfida_mc program~fidasim->proc~halo_spec program~fidasim->proc~make_beam_grid program~fidasim->proc~neutron_f program~fidasim->proc~fida_weights_los program~fidasim->proc~cfpd_f program~fidasim->proc~neutron_mc program~fidasim->proc~pfida_f program~fidasim->proc~nbi_spec program~fidasim->proc~dcx program~fidasim->proc~npa_weights program~fidasim->proc~read_distribution program~fidasim->proc~fida_f program~fidasim->proc~cold_spec program~fidasim->proc~npa_f program~fidasim->proc~fida_mc proc~ndmc ndmc program~fidasim->proc~ndmc proc~bremsstrahlung bremsstrahlung program~fidasim->proc~bremsstrahlung proc~halo halo program~fidasim->proc~halo proc~fida_weights_mc fida_weights_mc program~fidasim->proc~fida_weights_mc proc~read_equilibrium read_equilibrium program~fidasim->proc~read_equilibrium proc~npa_mc npa_mc program~fidasim->proc~npa_mc proc~make_diagnostic_grids make_diagnostic_grids program~fidasim->proc~make_diagnostic_grids proc~ndmc->proc~get_plasma proc~ndmc->proc~colrad proc~ndmc->proc~track proc~ndmc->proc~mc_nbi proc~ndmc->proc~get_fields proc~store_nbi_photons store_nbi_photons proc~ndmc->proc~store_nbi_photons proc~bremsstrahlung->proc~get_plasma proc~store_npa->proc~get_fields proc~store_photons->proc~get_fields proc~halo->proc~get_plasma proc~halo->proc~colrad proc~halo->proc~track proc~halo->proc~neutral_cx_rate proc~halo->proc~store_photons proc~fida_weights_mc->proc~get_plasma proc~fida_weights_mc->proc~colrad proc~fida_weights_mc->proc~track proc~fida_weights_mc->proc~get_fields proc~fida_weights_mc->proc~store_fw_photons proc~fida_weights_mc->proc~get_total_cx_rate proc~read_equilibrium->proc~colrad proc~npa_mc->proc~get_fields proc~npa_mc->proc~attenuate proc~npa_mc->proc~get_total_cx_rate proc~npa_mc->proc~store_npa proc~make_diagnostic_grids->proc~track proc~make_diagnostic_grids->proc~track_cylindrical proc~make_diagnostic_grids->proc~get_fields proc~make_diagnostic_grids->proc~make_passive_grid proc~store_fida_photons->proc~store_photons proc~store_nbi_photons->proc~store_photons

Contents


Module Procedures

private subroutine interpol1D_coeff(xmin, dx, nx, xout, c, err)

Linear interpolation coefficients and index for a 1D grid y(x)

Arguments

TypeIntentOptionalAttributesName
real(kind=Float64), intent(in) :: xmin

Minimum abscissa value

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

Absissa spacing

integer, intent(in) :: nx

Number of abscissa

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

Abscissa value to interpolate

type(InterpolCoeffs1D), intent(out) :: c

Interpolation Coefficients

integer, intent(out), optional :: err

Error code

private subroutine interpol1D_coeff_arr(x, xout, c, err)

Linear interpolation coefficients and index for a 1D grid y(x)

Arguments

TypeIntentOptionalAttributesName
real(kind=Float64), intent(in), dimension(:):: x

Abscissa values

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

Abscissa value to interpolate

type(InterpolCoeffs1D), intent(out) :: c

Interpolation Coefficients

integer, intent(out), optional :: err

Error code

private subroutine interpol2D_coeff(xmin, dx, nx, ymin, dy, ny, xout, yout, c, err)

Bilinear interpolation coefficients and indicies for a 2D grid z(x,y)

Arguments

TypeIntentOptionalAttributesName
real(kind=Float64), intent(in) :: xmin

Minimum abscissa

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

Abscissa spacing

integer, intent(in) :: nx

Number of abscissa

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

Minimum ordinate

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

Ordinate spacing

integer, intent(in) :: ny

Number of ordinates points

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

Abscissa value to interpolate

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

Ordinate value to interpolate

type(InterpolCoeffs2D), intent(out) :: c

Interpolation Coefficients

integer, intent(out), optional :: err

Error code

private subroutine interpol2D_coeff_arr(x, y, xout, yout, c, err)

Arguments

TypeIntentOptionalAttributesName
real(kind=Float64), intent(in), dimension(:):: x

Abscissa values

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

Ordinate values

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

Abscissa value to interpolate

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

Ordinate value to interpolate

type(InterpolCoeffs2D), intent(out) :: c

Interpolation Coefficients

integer, intent(out), optional :: err

Error code

private subroutine cyl_interpol3D_coeff(rmin, dr, nr, zmin, dz, nz, phimin, dphi, nphi, rout, zout, phiout, c, err)

Cylindrical interpolation coefficients and indicies for a 3D grid

Arguments

TypeIntentOptionalAttributesName
real(kind=Float64), intent(in) :: rmin

Minimum R

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

R spacing

integer, intent(in) :: nr

Number of R points

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

Minimum Z

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

Z spacing

integer, intent(in) :: nz

Number of Z points

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

Minimum phi

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

Phi spacing

integer, intent(in) :: nphi

Number of phi points

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

type(InterpolCoeffs3D), intent(out) :: c

Interpolation Coefficients

integer, intent(out), optional :: err

Error code

private subroutine cyl_interpol3D_coeff_arr(r, z, phi, rout, zout, phiout, c, err)

Cylindrical interpolation coefficients and indicies for a 3D grid

Arguments

TypeIntentOptionalAttributesName
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) :: 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

type(InterpolCoeffs3D), intent(out) :: c

Interpolation Coefficients

integer, intent(out), optional :: err

Error code