1 MODULE spline3d_fit_coefs
5 INTEGER,
PARAMETER:: ks = 4, ku = 4, kv = 4
6 INTEGER:: is, iphi, itht
7 REAL(rprec):: smin, smax, thmin, thmax, phimin, phimax
8 REAL(rprec),
ALLOCATABLE,
DIMENSION(:):: s_knots, u_knots,
10 REAL(rprec),
ALLOCATABLE,
DIMENSION(:,:,:):: br_coef,
11 & bz_coef, bphi_coef, r_coef, z_coef, phi_coef
12 LOGICAL,
PARAMETER :: is_uniformx = .true.
13 LOGICAL,
PARAMETER :: is_uniformy = .true.
14 LOGICAL,
PARAMETER :: is_uniformz = .true.
15 LOGICAL:: l_test_splines = .false.
19 SUBROUTINE alloc_splines
23 ALLOCATE(s_knots(is+ks), u_knots(itht+ku),
24 & v_knots(iphi+kv), stat = istat)
25 IF (istat .NE. 0) stop
'Allocation error'
26 s_knots = zero; u_knots = zero; v_knots = zero
28 ALLOCATE(r_coef(is,itht,iphi), z_coef(is,itht,iphi),
29 & phi_coef(is,itht,iphi), br_coef(is,itht,iphi),
30 & bz_coef(is,itht,iphi), bphi_coef(is,itht,iphi),
32 IF (istat .NE. 0) stop
'Allocation error'
33 r_coef = zero; z_coef = zero; phi_coef = zero
34 br_coef = zero; bz_coef = zero; bphi_coef = zero
36 END SUBROUTINE alloc_splines
38 SUBROUTINE dealloc_splines
41 DEALLOCATE(s_knots, u_knots, v_knots)
42 DEALLOCATE(r_coef, z_coef, phi_coef, br_coef,
45 END SUBROUTINE dealloc_splines
47 END MODULE spline3d_fit_coefs