interpol1D_coeff_arr Subroutine

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

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

Arguments

Type IntentOptional AttributesName
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


Calls

proc~~interpol1d_coeff_arr~~CallsGraph proc~interpol1d_coeff_arr interpol1D_coeff_arr proc~interpol1d_coeff interpol1D_coeff proc~interpol1d_coeff_arr->proc~interpol1d_coeff

Called by

proc~~interpol1d_coeff_arr~~CalledByGraph proc~interpol1d_coeff_arr interpol1D_coeff_arr interface~interpol_coeff interpol_coeff interface~interpol_coeff->proc~interpol1d_coeff_arr proc~in_plasma in_plasma proc~in_plasma->interface~interpol_coeff proc~get_rate_matrix get_rate_matrix proc~get_rate_matrix->interface~interpol_coeff proc~interpol2d_arr interpol2D_arr proc~interpol2d_arr->interface~interpol_coeff proc~bt_cx_rates bt_cx_rates proc~bt_cx_rates->interface~interpol_coeff proc~get_neutron_rate get_neutron_rate proc~get_neutron_rate->interface~interpol_coeff proc~interpol2d_2d_arr interpol2D_2D_arr proc~interpol2d_2d_arr->interface~interpol_coeff proc~bb_cx_rates bb_cx_rates proc~bb_cx_rates->interface~interpol_coeff proc~interpol1d_arr interpol1D_arr proc~interpol1d_arr->interface~interpol_coeff proc~get_fields get_fields proc~get_fields->proc~in_plasma proc~make_beam_grid make_beam_grid proc~make_beam_grid->proc~in_plasma proc~track track proc~track->proc~in_plasma proc~fida_weights_los fida_weights_los proc~fida_weights_los->proc~in_plasma proc~fida_weights_los->proc~bt_cx_rates proc~fida_weights_los->proc~bb_cx_rates proc~fida_weights_los->proc~get_fields proc~fida_weights_los->proc~track proc~get_plasma get_plasma proc~fida_weights_los->proc~get_plasma proc~colrad colrad proc~fida_weights_los->proc~colrad proc~read_mc read_mc proc~read_mc->proc~in_plasma proc~get_plasma->proc~in_plasma proc~neutron_mc neutron_mc proc~neutron_mc->proc~get_neutron_rate proc~neutron_mc->proc~get_fields proc~neutron_mc->proc~get_plasma proc~mc_nbi mc_nbi proc~mc_nbi->proc~in_plasma proc~colrad->proc~get_rate_matrix interface~interpol interpol interface~interpol->proc~interpol2d_arr interface~interpol->proc~interpol2d_2d_arr interface~interpol->proc~interpol1d_arr proc~get_beam_cx_rate get_beam_cx_rate proc~get_beam_cx_rate->proc~bt_cx_rates proc~get_beam_cx_rate->proc~bb_cx_rates proc~get_beam_cx_rate->proc~get_plasma proc~neutron_f neutron_f proc~neutron_f->proc~get_neutron_rate proc~neutron_f->proc~get_fields proc~neutron_f->proc~get_plasma proc~bremsstrahlung bremsstrahlung proc~bremsstrahlung->proc~get_plasma proc~read_distribution read_distribution proc~read_distribution->proc~read_mc proc~get_distribution get_distribution proc~get_distribution->interface~interpol proc~npa_mc npa_mc proc~npa_mc->proc~get_fields proc~npa_mc->proc~get_beam_cx_rate proc~store_npa store_npa proc~npa_mc->proc~store_npa proc~attenuate attenuate proc~npa_mc->proc~attenuate proc~ndmc ndmc proc~ndmc->proc~track proc~ndmc->proc~mc_nbi proc~read_npa read_npa proc~read_npa->proc~get_fields program~fidasim fidasim program~fidasim->proc~make_beam_grid program~fidasim->proc~fida_weights_los program~fidasim->proc~neutron_mc program~fidasim->proc~neutron_f program~fidasim->proc~bremsstrahlung program~fidasim->proc~read_distribution program~fidasim->proc~npa_mc program~fidasim->proc~ndmc program~fidasim->proc~read_npa proc~npa_weights npa_weights program~fidasim->proc~npa_weights proc~fida_mc fida_mc program~fidasim->proc~fida_mc proc~halo halo program~fidasim->proc~halo proc~dcx dcx program~fidasim->proc~dcx proc~fida_f fida_f program~fidasim->proc~fida_f proc~npa_f npa_f program~fidasim->proc~npa_f proc~fida_weights_mc fida_weights_mc program~fidasim->proc~fida_weights_mc proc~read_chords read_chords program~fidasim->proc~read_chords proc~store_bes_photons store_bes_photons proc~store_bes_photons->proc~get_fields proc~npa_weights->proc~get_fields proc~npa_weights->proc~get_beam_cx_rate proc~npa_weights->proc~attenuate proc~store_fida_photons store_fida_photons proc~store_fida_photons->proc~get_fields proc~fida_mc->proc~get_fields proc~fida_mc->proc~track proc~mc_halo mc_halo proc~mc_halo->proc~get_plasma proc~halo->proc~track proc~halo->proc~get_plasma proc~halo->proc~mc_halo proc~dcx->proc~track proc~dcx->proc~get_plasma proc~dcx->proc~mc_halo proc~store_npa->proc~get_fields proc~fida_f->proc~track proc~fida_f->proc~get_plasma proc~mc_fastion mc_fastion proc~fida_f->proc~mc_fastion proc~npa_f->proc~get_plasma proc~npa_f->proc~get_beam_cx_rate proc~npa_f->proc~store_npa proc~npa_f->proc~attenuate proc~npa_f->proc~mc_fastion proc~attenuate->proc~get_plasma proc~attenuate->proc~colrad proc~store_fw_photons store_fw_photons proc~store_fw_photons->proc~get_fields proc~fida_weights_mc->proc~get_fields proc~fida_weights_mc->proc~track proc~fida_weights_mc->proc~get_plasma proc~get_ep_denf get_ep_denf proc~fida_weights_mc->proc~get_ep_denf proc~get_ep_denf->interface~interpol proc~read_chords->proc~track proc~mc_fastion->proc~get_fields proc~mc_fastion->proc~get_distribution

Contents

Source Code


Source Code

subroutine interpol1D_coeff_arr(x,xout,c,err)
    !+ Linear interpolation coefficients and index for a 1D grid y(x)
    real(Float64), dimension(:), intent(in) :: x
        !+ Abscissa values
    real(Float64), intent(in)               :: xout
        !+ Abscissa value to interpolate
    type(InterpolCoeffs1D), intent(out)     :: c
        !+ Interpolation Coefficients
    integer, intent(out), optional          :: err
        !+ Error code

    real(Float64) :: xmin, dx
    integer :: sx,err_status

    err_status = 1
    sx = size(x)
    xmin = x(1)
    dx = abs(x(2)-x(1))

    call interpol1D_coeff(xmin, dx, sx, xout, c, err_status)

    if(present(err)) err = err_status

end subroutine interpol1D_coeff_arr