# integrate1d.f90

subroutine i2mex_integrate1d (ns, s, f, nsi, si, aifi)

Perform the integration of a function f defined on

the grid s of size ns assuming not-a-knot boundary condirions.

The result, aifi, is an array whose elements aifi(i) are the

integral from node 1 to node i, on the target mesh si of size nsi.

A. Pletzer Oct 10 2000

integer, parameter :: r8=selected_real_kind(12,100)

integer, intent(in) :: ns

real(r8), intent(in) :: s(ns)

real(r8), intent(in) :: f(ns)

integer, intent(in) :: nsi

real(r8), intent(in) :: si(nsi)

real(r8), intent(out) :: aifi(nsi)

subroutine i2mex_integratePeriodic1d (nt1, t, f, nti1, ti, aifi)

Perform the integration of a periodic function f defined

over the grid t of size nt1: f(nt1)=f(1). The result, aifi, is an

array whose elements aifi(i) are the integral from node 1 to

node i, on the target mesh ti of size nti1.

A. Pletzer Oct 10 2000

integer, parameter :: r8=selected_real_kind(12,100)

integer, intent(in) :: nt1

real(r8), intent(in) :: t(nt1)

real(r8), intent(in) :: f(nt1)

integer, intent(in) :: nti1

real(r8), intent(in) :: ti(nti1)

real(r8), intent(out) :: aifi(nti1)

subroutine R8v_ieval (N, X, ni, xi, cspl, aifi)

integer, parameter :: r8=selected_real_kind(12,100)

INTEGER, intent(in) :: N

REAL(R8), intent(in) :: X(N)

INTEGER, intent(in) :: Ni

REAL(R8), intent(in) :: Xi(Ni)

REAL(R8), intent(in) :: cspl(4,N)

REAL(R8), intent(out) :: aifi(ni)

subroutine i2mex_integrateAlongFluxSurface (f, nt1, ns, t, psi, aifi, ier)

Perform the integration of a periodic function f defined

on the *ORIGINAL* grid (t_ori, psi_ori). The result, aifi, is a

2-d array whose elements aifi(i, j) are integrals from node 1 to

node i, on the target mesh (t, psi) of size nt1*ns.

A. Pletzer April 30 2001

integer, parameter :: r8=selected_real_kind(12,100)

real(r8), intent(in) :: f(i2mex_o%nt1, i2mex_o%ns)

integer, intent(in) :: nt1

integer, intent(in) :: ns

real(r8), intent(in) :: t(nt1)

real(r8), intent(in) :: psi(ns)

real(r8), intent(out) :: aifi(nt1, ns)

integer, intent(out) :: ier     0 = OK