4 subroutine ezlinear_init1_r8(spline_o, n1, ier)
7 type(EZspline1_r8) spline_o
8 integer,
intent(in) :: n1
13 integer,
intent(out) :: ier
29 spline_o%isHermite = 0
33 allocate(spline_o%x1(n1), stat=iok)
35 allocate(spline_o%fspl(1,n1), stat=iok)
37 allocate(spline_o%x1pkg(n1, 4), stat=iok)
41 spline_o%x1min = 0.0_ezspline_r8
42 spline_o%x1max = 1.0_ezspline_r8
44 spline_o%x1 = spline_o%x1min + (spline_o%x1max - spline_o%x1min)* &
45 & (/ (real(i-1,ezspline_r8)/real(spline_o%n1-1, ezspline_r8), i=1,spline_o%n1 ) /)
50 end subroutine ezlinear_init1_r8
54 subroutine ezlinear_init2_r8(spline_o, n1, n2, ier)
57 type(EZspline2_r8) spline_o
58 integer,
intent(in) :: n1, n2
63 integer,
intent(out) :: ier
81 spline_o%isHermite = 0
87 allocate(spline_o%x1(n1), stat=iok)
89 allocate(spline_o%x2(n2), stat=iok)
91 allocate(spline_o%fspl(1,n1,n2), stat=iok)
93 allocate(spline_o%bcval1min(n2), stat=iok)
95 allocate(spline_o%bcval1max(n2), stat=iok)
97 allocate(spline_o%bcval2min(n1), stat=iok)
99 allocate(spline_o%bcval2max(n1), stat=iok)
101 allocate(spline_o%x1pkg(n1, 4), stat=iok)
103 allocate(spline_o%x2pkg(n2, 4), stat=iok)
107 spline_o%x1min = 0.0_ezspline_r8
108 spline_o%x1max = 1.0_ezspline_r8
110 spline_o%x1 = spline_o%x1min + (spline_o%x1max - spline_o%x1min)* &
111 & (/ (real(i-1,ezspline_r8)/real(spline_o%n1-1, ezspline_r8), i=1,spline_o%n1 ) /)
112 spline_o%x2min = 0.0_ezspline_r8
113 spline_o%x2max = 1.0_ezspline_r8
114 spline_o%x2 = spline_o%x2min + (spline_o%x2max - spline_o%x2min)* &
115 & (/ (real(i-1,ezspline_r8)/real(spline_o%n2-1, ezspline_r8), i=1,spline_o%n2 ) /)
120 end subroutine ezlinear_init2_r8
125 subroutine ezlinear_init3_r8(spline_o, n1, n2, n3, ier)
128 type(EZspline3_r8) spline_o
129 integer,
intent(in) :: n1, n2, n3
134 integer,
intent(out) :: ier
150 spline_o%klookup1 = 3
151 spline_o%klookup2 = 3
152 spline_o%klookup3 = 3
154 spline_o%isHermite = 0
155 spline_o%isLinear = 1
156 spline_o%isHybrid = 0
160 allocate(spline_o%x1(n1), stat=iok)
162 allocate(spline_o%x2(n2), stat=iok)
164 allocate(spline_o%x3(n3), stat=iok)
166 allocate(spline_o%fspl(1,n1,n2,n3), stat=iok)
168 allocate(spline_o%bcval1min(n2, n3), stat=iok)
170 allocate(spline_o%bcval1max(n2, n3), stat=iok)
172 allocate(spline_o%bcval2min(n1, n3), stat=iok)
174 allocate(spline_o%bcval2max(n1, n3), stat=iok)
176 allocate(spline_o%bcval3min(n1, n2), stat=iok)
178 allocate(spline_o%bcval3max(n1, n2), stat=iok)
180 allocate(spline_o%x1pkg(n1, 4), stat=iok)
182 allocate(spline_o%x2pkg(n2, 4), stat=iok)
184 allocate(spline_o%x3pkg(n3, 4), stat=iok)
188 spline_o%x1min = 0.0_ezspline_r8
189 spline_o%x1max = 1.0_ezspline_r8
190 spline_o%x1 = spline_o%x1min + (spline_o%x1max - spline_o%x1min)* &
191 & (/ (real(i-1,ezspline_r8)/real(spline_o%n1-1, ezspline_r8), i=1,spline_o%n1 ) /)
193 spline_o%x2min = 0.0_ezspline_r8
194 spline_o%x2max = 1.0_ezspline_r8
195 spline_o%x2 = spline_o%x2min + (spline_o%x2max - spline_o%x2min)* &
196 & (/ (real(i-1,ezspline_r8)/real(spline_o%n2-1, ezspline_r8), i=1,spline_o%n2 ) /)
198 spline_o%x3min = 0.0_ezspline_r8
199 spline_o%x3max = 1.0_ezspline_r8
200 spline_o%x3 = spline_o%x3min + (spline_o%x3max - spline_o%x3min)* &
201 & (/ (real(i-1,ezspline_r8)/real(spline_o%n3-1, ezspline_r8), i=1,spline_o%n3 ) /)
206 end subroutine ezlinear_init3_r8
211 subroutine ezlinear_init1_r4(spline_o, n1, ier)
214 type(EZspline1_r4) spline_o
215 integer,
intent(in) :: n1
220 integer,
intent(out) :: ier
234 spline_o%klookup1 = 3
236 spline_o%isHermite = 0
237 spline_o%isLinear = 1
240 allocate(spline_o%x1(n1), stat=iok)
242 allocate(spline_o%fspl(1,n1), stat=iok)
244 allocate(spline_o%x1pkg(n1, 4), stat=iok)
248 spline_o%x1min = 0.0_ezspline_r4
249 spline_o%x1max = 1.0_ezspline_r4
250 spline_o%x1 = spline_o%x1min + (spline_o%x1max - spline_o%x1min)* &
251 & (/ (real(i-1,ezspline_r4)/real(spline_o%n1-1, ezspline_r4), i=1,spline_o%n1 ) /)
256 end subroutine ezlinear_init1_r4
261 subroutine ezlinear_init2_r4(spline_o, n1, n2, ier)
264 type(EZspline2_r4) spline_o
265 integer,
intent(in) :: n1, n2
270 integer,
intent(out) :: ier
285 spline_o%klookup1 = 3
286 spline_o%klookup2 = 3
288 spline_o%isHermite = 0
289 spline_o%isLinear = 1
290 spline_o%isHybrid = 0
294 allocate(spline_o%x1(n1), stat=iok)
296 allocate(spline_o%x2(n2), stat=iok)
298 allocate(spline_o%fspl(1,n1,n2), stat=iok)
300 allocate(spline_o%bcval1min(n2), stat=iok)
302 allocate(spline_o%bcval1max(n2), stat=iok)
304 allocate(spline_o%bcval2min(n1), stat=iok)
306 allocate(spline_o%bcval2max(n1), stat=iok)
308 allocate(spline_o%x1pkg(n1, 4), stat=iok)
310 allocate(spline_o%x2pkg(n2, 4), stat=iok)
314 spline_o%x1min = 0.0_ezspline_r4
315 spline_o%x1max = 1.0_ezspline_r4
316 spline_o%x1 = spline_o%x1min + (spline_o%x1max - spline_o%x1min)* &
317 & (/ (real(i-1,ezspline_r4)/real(spline_o%n1-1, ezspline_r4), i=1,spline_o%n1 ) /)
319 spline_o%x2min = 0.0_ezspline_r4
320 spline_o%x2max = 1.0_ezspline_r4
321 spline_o%x2 = spline_o%x2min + (spline_o%x2max - spline_o%x2min)* &
322 & (/ (real(i-1,ezspline_r4)/real(spline_o%n2-1, ezspline_r4), i=1,spline_o%n2 ) /)
327 end subroutine ezlinear_init2_r4
332 subroutine ezlinear_init3_r4(spline_o, n1, n2, n3, ier)
335 type(EZspline3_r4) spline_o
336 integer,
intent(in) :: n1, n2, n3
341 integer,
intent(out) :: ier
357 spline_o%klookup1 = 3
358 spline_o%klookup2 = 3
359 spline_o%klookup3 = 3
361 spline_o%isHermite = 0
362 spline_o%isLinear = 1
363 spline_o%isHybrid = 0
367 allocate(spline_o%x1(n1), stat=iok)
369 allocate(spline_o%x2(n2), stat=iok)
371 allocate(spline_o%x3(n3), stat=iok)
373 allocate(spline_o%fspl(1,n1,n2,n3), stat=iok)
375 allocate(spline_o%bcval1min(n2, n3), stat=iok)
377 allocate(spline_o%bcval1max(n2, n3), stat=iok)
379 allocate(spline_o%bcval2min(n1, n3), stat=iok)
381 allocate(spline_o%bcval2max(n1, n3), stat=iok)
383 allocate(spline_o%bcval3min(n1, n2), stat=iok)
385 allocate(spline_o%bcval3max(n1, n2), stat=iok)
387 allocate(spline_o%x1pkg(n1, 4), stat=iok)
389 allocate(spline_o%x2pkg(n2, 4), stat=iok)
391 allocate(spline_o%x3pkg(n3, 4), stat=iok)
395 spline_o%x1min = 0.0_ezspline_r4
396 spline_o%x1max = 1.0_ezspline_r4
398 spline_o%x1 = spline_o%x1min + (spline_o%x1max - spline_o%x1min)* &
399 & (/ (real(i-1,ezspline_r4)/real(spline_o%n1-1, ezspline_r4), i=1,spline_o%n1 ) /)
401 spline_o%x2min = 0.0_ezspline_r4
402 spline_o%x2max = 1.0_ezspline_r4
403 spline_o%x2 = spline_o%x2min + (spline_o%x2max - spline_o%x2min)* &
404 & (/ (real(i-1,ezspline_r4)/real(spline_o%n2-1, ezspline_r4), i=1,spline_o%n2 ) /)
406 spline_o%x3min = 0.0_ezspline_r4
407 spline_o%x3max = 1.0_ezspline_r4
408 spline_o%x3 = spline_o%x3min + (spline_o%x3max - spline_o%x3min)* &
409 & (/ (real(i-1,ezspline_r4)/real(spline_o%n3-1, ezspline_r4), i=1,spline_o%n3 ) /)
414 end subroutine ezlinear_init3_r4