#
EZspline2_r4

**type EZspline2_r4 **

`! `

`! 2-d Spline/Akima Hermite/Piecewise Linear interpolation `

`! `

`! Grid `

`! `

` real(ezspline_r4), dimension(:), pointer :: x1, x2
`

`! `

`! The boundary condition values (for slope and 2nd derivative). `

`! Can be optionally set by the user. Not used for periodic and `

`! not a knot boundary conditions. `

`! `

` real(ezspline_r4), dimension(:), pointer :: bcval1min, bcval1max
`

` real(ezspline_r4), dimension(:), pointer :: bcval2min, bcval2max
`

`! `

`! Select between spline (0) and Akima spline (1); default=0 (spline) `

`! `

` integer :: isHermite``! set after EZspline_init call... `

`! `

`! set =0 for Spline, Akima or Hybrid; =1 for piecewise linear: this is set `

`! by EZspline_init, EZhybrid_init, or EZlinear_init; DO NOT SET DIRECTLY: `

`! `

` integer :: isLinear
`

`! `

`! set =0 by init routines other than EZhybrid_init which sets it =1: `

` integer :: isHybrid
`

`! `

`! the following is set by EZhybrid_init; other EZ*_init routines clear: `

` integer :: hspline(2)``! interpolation code along each dimension `

`! -1: zonal step fcn; =0: pc linear; =1: Akima Hermite; =2: Spline `

`! `

`! Grid sizes (set during EZ*_init call). `

`! `

` integer :: n1, n2
`

`! `

`! Grid zone lookup method `

`! `

` integer :: klookup1,klookup2
`

`! `

`! Type of boundary conditions (set during EZspline_init call) on left `

`! and right hand side. Possible values are: `

`! `

`! -1 periodic `

`! 0 not a knot `

`! +1 1st derivative imposed `

`! +2 2nd derivative imposed `

`! `

`! For instance, ibctype1 =(/1, 0/) for 1st derivative set on left-hand `

`! and not a knot boundary conditions on right-hand side. The values of `

`! the derivatives are set via bcval1min. (See above) `

`! `

` integer ibctype1(2), ibctype2(2)
`

`! `

`! Grid lengths. DO NOT SET. `

`! `

` real(ezspline_r4) :: x1min, x1max, x2min, x2max
`

`! `

`! Compact cubic coefficient arrays. DO NOT SET. `

`! `

` real(ezspline_r4), dimension(:,:,:), pointer :: fspl
`

`! `

`! Control/Other. DO NOT SET. `

`! `

` integer :: isInitialized, isAllocated, isReady
`

` integer :: ilin1, ilin2
`

` real(ezspline_r4), dimension(:,:), pointer :: x1pkg, x2pkg
`

`! `

` integer :: nguard
`

` end type EZspline2_r4
`

Send comments about this document to pletzer@pppl.gov.
Tue Apr 24 14:01:03 2007