VMEC 8.52
3D Equilibrium solver with nested flux surfaces.
Loading...
Searching...
No Matches
nestor_io.f90
Go to the documentation of this file.
1
3
6 use stel_kinds, only: dp
7IMPLICIT NONE
8
9 character(len=255) :: input_extension
10 character(len=255) :: mgrid_file
11 real(dp), dimension(:), ALLOCATABLE :: extcur
12 real(dp), dimension(:), ALLOCATABLE :: raxis
13 real(dp), dimension(:), ALLOCATABLE :: zaxis
14 real(dp), dimension(:), ALLOCATABLE :: xm
15 real(dp), dimension(:), ALLOCATABLE :: xn
16 real(dp), dimension(:), ALLOCATABLE :: rmnc
17 real(dp), dimension(:), ALLOCATABLE :: zmns
18 real(dp), dimension(:), ALLOCATABLE :: rmns
19 real(dp), dimension(:), ALLOCATABLE :: zmnc
20 real(dp), dimension(:), ALLOCATABLE :: wint
21
22 integer :: nfp
23 integer :: ntor
24 integer :: mpol
25 integer :: ntheta
26 integer :: nzeta
27 integer :: nextcur
28 integer :: ier_flag
29 integer :: ivac
30 integer :: ivacskip
31 integer :: mnmax
32 integer :: vacuum_calls
33
34 logical :: lasym
35
36 real(dp) :: ctor
37 real(dp) :: rbtor
38 real(dp) :: signgs
39
40 integer :: mnpd2_nestor
41 real(dp), dimension(:), ALLOCATABLE :: amatsav_nestor
42 real(dp), dimension(:), ALLOCATABLE :: bvecsav_nestor
44
45 CHARACTER(LEN=*), PARAMETER, DIMENSION(1) :: mn1dim = (/'mn_mode'/)
46 CHARACTER(LEN=*), PARAMETER, DIMENSION(1) :: mnpotdim = (/'mn_mode_pot'/)
47 CHARACTER(LEN=*), PARAMETER, DIMENSION(1) :: nzntdim = (/'nznt'/)
48 CHARACTER(LEN=*), PARAMETER, DIMENSION(1) :: nzetadim = (/'nzeta'/)
49 CHARACTER(LEN=*), PARAMETER, DIMENSION(1) :: nextcurim = (/'nextcur'/)
50 CHARACTER(LEN=*), PARAMETER, DIMENSION(1) :: bvecsavdim =(/'mnpd2'/)
51 CHARACTER(LEN=*), PARAMETER, DIMENSION(1) :: amatsavdim =(/'mnpd2_times_mnpd2'/)
52
53 CHARACTER(LEN=*), DIMENSION(2), PARAMETER :: r2dim = (/'mn_mode','radius '/)
54
55 character(len=*), parameter :: &
56 vn_vacuum_calls = 'vacuum_calls', &
57 vn_ier_flag = "ier_flag", &
58 vn_mgrid = "mgrid_file", &
59 vn_inputext = "input_extension", &
60 vn_ivacskip = "ivacskip", &
61 vn_ivac = "ivac", &
62 vn_nfp = "nfp", &
63 vn_ntor = "ntor", &
64 vn_mpol = "mpol", &
65 vn_nzeta = "nzeta", &
66 vn_ntheta = "ntheta", &
67 vn_mnmax = "mnmax", &
68 vn_pmod = "xm", &
69 vn_tmod = "xn", &
70 vn_rmnc = "rmnc", &
71 vn_zmns = "zmns", &
72 vn_rmns = "rmns", &
73 vn_zmnc = "zmnc", &
74 vn_rbtor = "rbtor", &
75 vn_ctor = "ctor", &
76 vn_lasym = "lasym", &
77 vn_signgs = "signgs", &
78 vn_extcur = "extcur", &
79 vn_raxis_nestor = "raxis_nestor", &
80 vn_zaxis_nestor = "zaxis_nestor", &
81 vn_wint = "wint"
82
83 character(len=*), parameter :: &
84 vn_bsqvac = "bsqvac", &
85 vn_mnpd = "mnpd", &
86 vn_xmpot = "xmpot", &
87 vn_xnpot = "xnpot", &
88 vn_potvac = "potvac", &
89 vn_brv = "brv", &
90 vn_bphiv = "bphiv", &
91 vn_bzv = "bzv", &
92 vn_bsubvvac = "bsubvvac", &
93 vn_amatsav = "amatsav", &
94 vn_bvecsav = "bvecsav", &
95 vn_mnpd2 = "mnpd2"
96
97 ! for debugging
98 character(len=*), parameter :: &
99 vn_r1b = "r1b" , &
100 vn_rub = "rub" , &
101 vn_rvb = "rvb" , &
102 vn_z1b = "z1b" , &
103 vn_zub = "zub" , &
104 vn_zvb = "zvb" , &
105 vn_ruu = "ruu" , &
106 vn_ruv = "ruv" , &
107 vn_rvv = "rvv" , &
108 vn_zuu = "zuu" , &
109 vn_zuv = "zuv" , &
110 vn_zvv = "zvv" , &
111 vn_guu_b = "guu_b" , &
112 vn_guv_b = "guv_b" , &
113 vn_gvv_b = "gvv_b" , &
114 vn_rzb2 = "rzb2" , &
115 vn_snr = "snr" , &
116 vn_snv = "snv" , &
117 vn_snz = "snz" , &
118 vn_drv = "drv" , &
119 vn_auu = "auu" , &
120 vn_auv = "auv" , &
121 vn_avv = "avv" , &
122 vn_rcosuv = "rcosuv", &
123 vn_rsinuv = "rsinuv", &
124 vn_brad = "brad", &
125 vn_bphi = "bphi", &
126 vn_bz = "bz", &
127 vn_bexu = "bexu", &
128 vn_bexv = "bexv", &
129 vn_bexn = "bexn", &
130 vn_bexni = "bexni", &
131 vn_grpmn = "grpmn", &
132 vn_adp = "adp" , &
133 vn_adm = "adm" , &
134 vn_cma = "cma" , &
135 vn_sqrtc = "sqrtc" , &
136 vn_sqrta = "sqrta" , &
137 vn_delt1u = "delt1u", &
138 vn_azp1u = "azp1u" , &
139 vn_azm1u = "azm1u" , &
140 vn_cma11u = "cma11u", &
141 vn_r1p = "r1p" , &
142 vn_r1m = "r1m" , &
143 vn_r0p = "r0p" , &
144 vn_r0m = "r0m" , &
145 vn_ra1p = "ra1p" , &
146 vn_ra1m = "ra1m" , &
147 vn_sqad1u = "sqad1u", &
148 vn_sqad2u = "sqad2u", &
149 vn_all_tlp = "all_tlp", &
150 vn_all_tlm = "all_tlm", &
151 vn_all_slp = "all_slp", &
152 vn_all_slm = "all_slm", &
153 vn_m_map = "m_map", &
154 vn_n_map = "n_map", &
155 vn_green = "green", &
156 vn_greenp = "greenp", &
157 vn_tanu = "tanu", &
158 vn_tanv = "tanv", &
159 vn_gstore = "gstore", &
160 vn_grpmn_m_map = "grpmn_m_map", &
161 vn_grpmn_n_map = "grpmn_n_map", &
162 vn_imirr = "imirr", &
163 vn_amatrix = "amatrix", &
164 vn_potu = "potu", &
165 vn_potv = "potv", &
166 vn_bsubu = "bsubu", &
167 vn_bsubv = "bsubv"
168
169 CONTAINS
170
171
172subroutine read_nestor_inputs(vac_file)
173 use ezcdf
174 use stel_kinds, only: dp
175 use mgrid_mod, only: read_mgrid
176
177 character(len=*), intent(in) :: vac_file
178
179 integer :: istat_vac, nvac, ierror
180 INTEGER, DIMENSION(3) :: dimlens, mgrid_name_lens
181
182 istat_vac = 0
183 CALL cdf_open(nvac, trim(vac_file), 'r', istat_vac)
184 IF (istat_vac .ne. 0) stop 'Error reading input file of NESTOR'
185
186 CALL cdf_read(nvac, vn_ier_flag, ier_flag)
187
188 CALL cdf_inquire(nvac, vn_mgrid, mgrid_name_lens)
189 CALL cdf_read(nvac, vn_mgrid, mgrid_file(1:mgrid_name_lens(1)))
190 mgrid_file = mgrid_file(1:mgrid_name_lens(1))
191
192 CALL cdf_inquire(nvac, vn_inputext, dimlens)
193 CALL cdf_read(nvac, vn_inputext, input_extension(1:dimlens(1)))
194 input_extension = input_extension(1:dimlens(1))
195
196 CALL cdf_read(nvac, vn_vacuum_calls, vacuum_calls)
197 CALL cdf_read(nvac, vn_ivacskip, ivacskip)
198 CALL cdf_read(nvac, vn_ivac, ivac)
199 !print *, "read in nestor ivac=",ivac
200 CALL cdf_read(nvac, vn_nfp, nfp)
201 CALL cdf_read(nvac, vn_ntor, ntor)
202 CALL cdf_read(nvac, vn_mpol, mpol)
203 CALL cdf_read(nvac, vn_nzeta, nzeta)
204 CALL cdf_read(nvac, vn_ntheta, ntheta)
205 CALL cdf_read(nvac, vn_mnmax, mnmax)
206 CALL cdf_read(nvac, vn_lasym, lasym)
207 CALL cdf_read(nvac, vn_rbtor, rbtor)
208 CALL cdf_read(nvac, vn_ctor, ctor)
209 CALL cdf_read(nvac, vn_signgs, signgs)
210
211 CALL cdf_inquire(nvac, vn_extcur, dimlens)
212 ALLOCATE (extcur(dimlens(1)), stat = ierror)
213
214 CALL cdf_inquire(nvac, vn_raxis_nestor, dimlens)
215 ALLOCATE (raxis(dimlens(1)), stat = ierror)
216 CALL cdf_inquire(nvac, vn_zaxis_nestor, dimlens)
217 ALLOCATE (zaxis(dimlens(1)), stat = ierror)
218
219 CALL cdf_inquire(nvac, vn_pmod, dimlens)
220 ALLOCATE (xm(dimlens(1)), stat = ierror)
221 CALL cdf_inquire(nvac, vn_tmod, dimlens)
222 ALLOCATE (xn(dimlens(1)), stat = ierror)
223
224 CALL cdf_inquire(nvac, vn_rmnc, dimlens)
225 ALLOCATE (rmnc(dimlens(1)), stat = ierror)
226 CALL cdf_inquire(nvac, vn_zmns, dimlens)
227 ALLOCATE (zmns(dimlens(1)), stat = ierror)
228
229 CALL cdf_inquire(nvac, vn_wint, dimlens)
230 ALLOCATE (wint(dimlens(1)), stat = ierror)
231
232 CALL cdf_read(nvac, vn_extcur, extcur)
233 CALL cdf_read(nvac, vn_raxis_nestor, raxis)
234 CALL cdf_read(nvac, vn_zaxis_nestor, zaxis)
235
236 CALL cdf_read(nvac, vn_pmod, xm)
237 CALL cdf_read(nvac, vn_tmod, xn)
238 CALL cdf_read(nvac, vn_rmnc, rmnc)
239 CALL cdf_read(nvac, vn_zmns, zmns)
240
241 if (lasym) then
242 CALL cdf_inquire(nvac, vn_rmns, dimlens)
243 ALLOCATE (rmns(dimlens(1)), stat = ierror)
244 CALL cdf_inquire(nvac, vn_zmnc, dimlens)
245 ALLOCATE (zmnc(dimlens(1)), stat = ierror)
246
247 CALL cdf_read(nvac, vn_rmns, rmns)
248 CALL cdf_read(nvac, vn_zmnc, zmnc)
249 end if ! lasym
250
251 CALL cdf_read(nvac, vn_wint, wint)
252
253 CALL cdf_read(nvac, vn_mnpd2, mnpd2_nestor)
254
255 CALL cdf_inquire(nvac, vn_amatsav, dimlens)
256 if (dimlens(1) .ne. mnpd2_nestor*mnpd2_nestor) then
257 print *, "dimension mismatch in amatsav: shall be mnpd2*mnpd2=", &
258 mnpd2_nestor*mnpd2_nestor," but is ",dimlens(1)
259 end if
260 ALLOCATE (amatsav_nestor(dimlens(1)), stat = ierror)
261
262 CALL cdf_inquire(nvac, vn_bvecsav, dimlens)
263 if (dimlens(1) .ne. mnpd2_nestor) then
264 print *, "dimension mismatch in bvecsav: shall be mnpd2=", &
265 mnpd2_nestor," but is ",dimlens(1)
266 end if
267 ALLOCATE (bvecsav_nestor(dimlens(1)), stat = ierror)
268
269 CALL cdf_read(nvac, vn_amatsav, amatsav_nestor)
270 CALL cdf_read(nvac, vn_bvecsav, bvecsav_nestor)
271
272 CALL cdf_read(nvac, vn_bsubvvac, bsubvvac_nestor)
273
274 call cdf_close(nvac)
275
276 if (ierror .ne. 0) then
277 stop "problem reading NESTOR input file"
278 end if
279
280 ierror = 0
281 CALL read_mgrid (trim(mgrid_file), extcur, nzeta, nfp, .false., ierror)
282 if (ierror .ne. 0) then
283 stop "could not read mgrid file"
284 end if
285
286end subroutine
287
288
289
290subroutine write_nestor_outputs(vac_file, lasym, ivac, ier_flag)
291 USE ezcdf
292 use stel_kinds, only: dp
293 !use vacmod, only: brv, bphiv, bzv, bsqvac, mnpd, xmpot, xnpot, potvac, mnpd2, bsubvvac, &
294 ! amatsav, bvecsav
295 use vacmod
296
297 character(len=*), intent(in) :: vac_file
298 logical, intent(in) :: lasym
299
300 integer, intent(in) :: ivac, ier_flag
301
302 integer :: istat_vac, nvac
303
304 istat_vac = 0
305 CALL cdf_open(nvac, trim(vac_file), 'w', istat_vac)
306 IF (istat_vac .ne. 0) stop 'Error writing output file of NESTOR'
307
308 call cdf_define(nvac, vn_ivac, ivac)
309 call cdf_define(nvac, vn_ier_flag, ier_flag)
310 call cdf_define(nvac, vn_bsqvac , bsqvac )
311 call cdf_define(nvac, vn_mnpd , mnpd )
312 call cdf_define(nvac, vn_mnpd2 , mnpd2 )
313 call cdf_define(nvac, vn_xmpot , xmpot )
314 call cdf_define(nvac, vn_xnpot , xnpot )
315 call cdf_define(nvac, vn_potvac , potvac(1:mnpd2) )
316 call cdf_define(nvac, vn_brv , brv )
317 call cdf_define(nvac, vn_bphiv , bphiv )
318 call cdf_define(nvac, vn_bzv , bzv )
319 call cdf_define(nvac, vn_bsubvvac, bsubvvac)
320 call cdf_define(nvac, vn_amatsav, amatsav)
321 call cdf_define(nvac, vn_bvecsav, bvecsav)
322
323 ! below quantities are only written for debugging
324 call cdf_define(nvac, vn_r1b , r1b )
325 call cdf_define(nvac, vn_rub , rub )
326 call cdf_define(nvac, vn_rvb , rvb )
327 call cdf_define(nvac, vn_z1b , z1b )
328 call cdf_define(nvac, vn_zub , zub )
329 call cdf_define(nvac, vn_zvb , zvb )
330 call cdf_define(nvac, vn_ruu , ruu )
331 call cdf_define(nvac, vn_ruv , ruv )
332 call cdf_define(nvac, vn_rvv , rvv )
333 call cdf_define(nvac, vn_zuu , zuu )
334 call cdf_define(nvac, vn_zuv , zuv )
335 call cdf_define(nvac, vn_zvv , zvv )
336 call cdf_define(nvac, vn_guu_b , guu_b )
337 call cdf_define(nvac, vn_guv_b , guv_b )
338 call cdf_define(nvac, vn_gvv_b , gvv_b )
339 call cdf_define(nvac, vn_rzb2 , rzb2 )
340 call cdf_define(nvac, vn_snr , snr )
341 call cdf_define(nvac, vn_snv , snv )
342 call cdf_define(nvac, vn_snz , snz )
343 call cdf_define(nvac, vn_drv , drv )
344 call cdf_define(nvac, vn_auu , auu )
345 call cdf_define(nvac, vn_auv , auv )
346 call cdf_define(nvac, vn_avv , avv )
347 call cdf_define(nvac, vn_rcosuv, rcosuv)
348 call cdf_define(nvac, vn_rsinuv, rsinuv)
349 call cdf_define(nvac, vn_brad, brad)
350 call cdf_define(nvac, vn_bphi, bphi)
351 call cdf_define(nvac, vn_bz , bz )
352 call cdf_define(nvac, vn_bexu, bexu)
353 call cdf_define(nvac, vn_bexv, bexv)
354 call cdf_define(nvac, vn_bexn, bexn)
355 call cdf_define(nvac, vn_bexni, bexni)
356 call cdf_define(nvac, vn_grpmn , grpmn )
357 call cdf_define(nvac, vn_adp , adp )
358 call cdf_define(nvac, vn_adm , adm )
359 call cdf_define(nvac, vn_cma , cma )
360 call cdf_define(nvac, vn_sqrtc , sqrtc )
361 call cdf_define(nvac, vn_sqrta , sqrta )
362 call cdf_define(nvac, vn_delt1u, delt1u)
363 call cdf_define(nvac, vn_azp1u , azp1u )
364 call cdf_define(nvac, vn_azm1u , azm1u )
365 call cdf_define(nvac, vn_cma11u, cma11u)
366 call cdf_define(nvac, vn_r1p , r1p )
367 call cdf_define(nvac, vn_r1m , r1m )
368 call cdf_define(nvac, vn_r0p , r0p )
369 call cdf_define(nvac, vn_r0m , r0m )
370 call cdf_define(nvac, vn_ra1p , ra1p )
371 call cdf_define(nvac, vn_ra1m , ra1m )
372 call cdf_define(nvac, vn_sqad1u, sqad1u)
373 call cdf_define(nvac, vn_sqad2u, sqad2u)
374 call cdf_define(nvac, vn_all_tlp, all_tlp)
375 call cdf_define(nvac, vn_all_tlm, all_tlm)
376 call cdf_define(nvac, vn_all_slp, all_slp)
377 call cdf_define(nvac, vn_all_slm, all_slm)
378 call cdf_define(nvac, vn_m_map, m_map_wrt)
379 call cdf_define(nvac, vn_n_map, n_map_wrt)
380 call cdf_define(nvac, vn_green, green)
381 call cdf_define(nvac, vn_greenp, greenp)
382 call cdf_define(nvac, vn_tanu, tanu)
383 call cdf_define(nvac, vn_tanv, tanv)
384 call cdf_define(nvac, vn_gstore, gstore)
385 call cdf_define(nvac, vn_grpmn_m_map, grpmn_m_map_wrt)
386 call cdf_define(nvac, vn_grpmn_n_map, grpmn_n_map_wrt)
387 call cdf_define(nvac, vn_imirr, imirr)
388 call cdf_define(nvac, vn_amatrix, amatrix)
389 call cdf_define(nvac, vn_potu, potu)
390 call cdf_define(nvac, vn_potv, potv)
391 call cdf_define(nvac, vn_bsubu, bsubu)
392 call cdf_define(nvac, vn_bsubv, bsubv)
393
394
395
396 ! actually write data
397 !print *, "write ivac=",ivac
398 call cdf_write(nvac, vn_ivac, ivac)
399 call cdf_write(nvac, vn_ier_flag, ier_flag)
400 call cdf_write(nvac, vn_bsqvac , bsqvac )
401 call cdf_write(nvac, vn_mnpd , mnpd )
402 call cdf_write(nvac, vn_mnpd2 , mnpd2 )
403 call cdf_write(nvac, vn_xmpot , xmpot )
404 call cdf_write(nvac, vn_xnpot , xnpot )
405 call cdf_write(nvac, vn_potvac , potvac(1:mnpd2) )
406 call cdf_write(nvac, vn_brv , brv )
407 call cdf_write(nvac, vn_bphiv , bphiv )
408 call cdf_write(nvac, vn_bzv , bzv )
409 call cdf_write(nvac, vn_bsubvvac, bsubvvac)
410 call cdf_write(nvac, vn_amatsav, amatsav)
411 call cdf_write(nvac, vn_bvecsav, bvecsav)
412 ! below quantities are only written for debugging
413 call cdf_write(nvac, vn_r1b , r1b )
414 call cdf_write(nvac, vn_rub , rub )
415 call cdf_write(nvac, vn_rvb , rvb )
416 call cdf_write(nvac, vn_z1b , z1b )
417 call cdf_write(nvac, vn_zub , zub )
418 call cdf_write(nvac, vn_zvb , zvb )
419 call cdf_write(nvac, vn_ruu , ruu )
420 call cdf_write(nvac, vn_ruv , ruv )
421 call cdf_write(nvac, vn_rvv , rvv )
422 call cdf_write(nvac, vn_zuu , zuu )
423 call cdf_write(nvac, vn_zuv , zuv )
424 call cdf_write(nvac, vn_zvv , zvv )
425 call cdf_write(nvac, vn_guu_b , guu_b )
426 call cdf_write(nvac, vn_guv_b , guv_b )
427 call cdf_write(nvac, vn_gvv_b , gvv_b )
428 call cdf_write(nvac, vn_rzb2 , rzb2 )
429 call cdf_write(nvac, vn_snr , snr )
430 call cdf_write(nvac, vn_snv , snv )
431 call cdf_write(nvac, vn_snz , snz )
432 call cdf_write(nvac, vn_drv , drv )
433 call cdf_write(nvac, vn_auu , auu )
434 call cdf_write(nvac, vn_auv , auv )
435 call cdf_write(nvac, vn_avv , avv )
436 call cdf_write(nvac, vn_rcosuv, rcosuv)
437 call cdf_write(nvac, vn_rsinuv, rsinuv)
438 call cdf_write(nvac, vn_brad, brad)
439 call cdf_write(nvac, vn_bphi, bphi)
440 call cdf_write(nvac, vn_bz , bz )
441 call cdf_write(nvac, vn_bexu, bexu)
442 call cdf_write(nvac, vn_bexv, bexv)
443 call cdf_write(nvac, vn_bexn, bexn)
444 call cdf_write(nvac, vn_bexni, bexni)
445 call cdf_write(nvac, vn_grpmn , grpmn )
446 call cdf_write(nvac, vn_adp , adp )
447 call cdf_write(nvac, vn_adm , adm )
448 call cdf_write(nvac, vn_cma , cma )
449 call cdf_write(nvac, vn_sqrtc , sqrtc )
450 call cdf_write(nvac, vn_sqrta , sqrta )
451 call cdf_write(nvac, vn_delt1u, delt1u)
452 call cdf_write(nvac, vn_azp1u , azp1u )
453 call cdf_write(nvac, vn_azm1u , azm1u )
454 call cdf_write(nvac, vn_cma11u, cma11u)
455 call cdf_write(nvac, vn_r1p , r1p )
456 call cdf_write(nvac, vn_r1m , r1m )
457 call cdf_write(nvac, vn_r0p , r0p )
458 call cdf_write(nvac, vn_r0m , r0m )
459 call cdf_write(nvac, vn_ra1p , ra1p )
460 call cdf_write(nvac, vn_ra1m , ra1m )
461 call cdf_write(nvac, vn_sqad1u, sqad1u)
462 call cdf_write(nvac, vn_sqad2u, sqad2u)
463 call cdf_write(nvac, vn_all_tlp, all_tlp)
464 call cdf_write(nvac, vn_all_tlm, all_tlm)
465 call cdf_write(nvac, vn_all_slp, all_slp)
466 call cdf_write(nvac, vn_all_slm, all_slm)
467 call cdf_write(nvac, vn_m_map, m_map_wrt)
468 call cdf_write(nvac, vn_n_map, n_map_wrt)
469 call cdf_write(nvac, vn_green, green)
470 call cdf_write(nvac, vn_greenp, greenp)
471 call cdf_write(nvac, vn_tanu, tanu)
472 call cdf_write(nvac, vn_tanv, tanv)
473 call cdf_write(nvac, vn_gstore, gstore)
474 call cdf_write(nvac, vn_grpmn_m_map, grpmn_m_map_wrt)
475 call cdf_write(nvac, vn_grpmn_n_map, grpmn_n_map_wrt)
476 call cdf_write(nvac, vn_imirr, imirr)
477 call cdf_write(nvac, vn_amatrix, amatrix)
478 call cdf_write(nvac, vn_potu, potu)
479 call cdf_write(nvac, vn_potv, potv)
480 call cdf_write(nvac, vn_bsubu, bsubu)
481 call cdf_write(nvac, vn_bsubv, bsubv)
482
483
484 CALL cdf_close(nvac)
485
486 !print *, "write_nestor_outputs completed"
487end subroutine
488
489
490
491
492
493
494end module
495
496
497subroutine write_nestor_inputs(vac_file, &
498 vacuum_calls, ier_flag, mgrid_file, input_extension, &
499 ivacskip, ivac, nfp, ntor, mpol, nzeta, ntheta, &
500 mnmax, xm, xn, rmnc, zmns, rmns, zmnc, &
501 rbtor, ctor, lasym, signgs, extcur_nestor, &
502 raxis_nestor, zaxis_nestor, wint, nznt, amatsav, bvecsav, mnpd2, &
503 bsubvvac)
504
505 USE ezcdf
506 use stel_kinds, only: dp
507 USE mgrid_mod, ONLY: nextcur
508 use nestor_io, only: &
512 vn_ier_flag , &
513 vn_mgrid , &
514 vn_inputext , &
515 vn_ivacskip , &
516 vn_ivac , &
517 vn_nfp , &
518 vn_ntor , &
519 vn_mpol , &
520 vn_nzeta , &
521 vn_ntheta , &
522 vn_mnmax , &
523 vn_pmod , &
524 vn_tmod , &
525 vn_rmnc , &
526 vn_zmns , &
527 vn_rmns , &
528 vn_zmnc , &
529 vn_rbtor , &
530 vn_ctor , &
531 vn_lasym , &
532 vn_signgs , &
533 vn_extcur , &
536 vn_wint, &
537 vn_amatsav, &
538 vn_bvecsav, &
539 vn_mnpd2, &
541
542 character(len=*), intent(in) :: vac_file, mgrid_file, input_extension
543 integer, intent(in) :: &
544 vacuum_calls, ier_flag, ivacskip, ivac, nfp, ntor, mpol, nzeta, ntheta, mnmax, nznt, &
545 mnpd2
546 REAL(dp), intent(in) :: rbtor, ctor, signgs
547 REAL(dp), DIMENSION(mnmax), INTENT(in) :: xm, xn, rmnc, rmns, zmns, zmnc
548 LOGICAL, intent(in) :: lasym
549 real(dp), dimension(nextcur), intent(in) :: extcur_nestor
550 REAL(dp), DIMENSION(nzeta), INTENT(in) :: raxis_nestor, zaxis_nestor
551 REAL(dp), DIMENSION(nznt), INTENT(in) :: wint
552 real(dp), dimension(mnpd2), intent(in) :: bvecsav
553 real(dp), dimension(mnpd2*mnpd2), intent(in) :: amatsav
554 real(dp), intent(in) :: bsubvvac
555
556 integer :: istat_vac, nvac
557
558 istat_vac = 0
559 CALL cdf_open(nvac, trim(vac_file), 'w', istat_vac)
560 IF (istat_vac .ne. 0) stop 'Error writing input file for NESTOR'
561
562 ! definitions for variables
563 CALL cdf_define(nvac, vn_vacuum_calls, vacuum_calls)
564 CALL cdf_define(nvac, vn_ier_flag, ier_flag)
565 CALL cdf_define(nvac, vn_mgrid, trim(mgrid_file))
566 CALL cdf_define(nvac, vn_inputext, trim(input_extension))
567 CALL cdf_define(nvac, vn_ivacskip, ivacskip)
568 CALL cdf_define(nvac, vn_ivac, ivac)
569 CALL cdf_define(nvac, vn_nfp, nfp)
570 CALL cdf_define(nvac, vn_ntor, ntor)
571 CALL cdf_define(nvac, vn_mpol, mpol)
572 CALL cdf_define(nvac, vn_nzeta, nzeta)
573 CALL cdf_define(nvac, vn_ntheta, ntheta)
574 CALL cdf_define(nvac, vn_mnmax, mnmax)
575 CALL cdf_define(nvac, vn_pmod, xm, dimname=mn1dim)
576 CALL cdf_define(nvac, vn_tmod, xn, dimname=mn1dim)
577 CALL cdf_define(nvac, vn_rmnc, rmnc, dimname=r2dim)
578 CALL cdf_define(nvac, vn_zmns, zmns, dimname=r2dim)
579 if (lasym) then
580 CALL cdf_define(nvac, vn_rmns, rmns, dimname=r2dim)
581 CALL cdf_define(nvac, vn_zmnc, zmnc, dimname=r2dim)
582 end if ! lasym
583 CALL cdf_define(nvac, vn_rbtor, rbtor)
584 CALL cdf_define(nvac, vn_ctor, ctor)
585 CALL cdf_define(nvac, vn_lasym, lasym)
586 CALL cdf_define(nvac, vn_signgs, signgs)
587 CALL cdf_define(nvac, vn_extcur, extcur_nestor, dimname=nextcurim)
588 CALL cdf_define(nvac, vn_raxis_nestor, raxis_nestor, dimname=nzetadim)
589 CALL cdf_define(nvac, vn_zaxis_nestor, zaxis_nestor, dimname=nzetadim)
590 CALL cdf_define(nvac, vn_wint, wint, dimname=nzntdim)
591 CALL cdf_define(nvac, vn_bvecsav, bvecsav, dimname=bvecsavdim)
592 CALL cdf_define(nvac, vn_amatsav, amatsav, dimname=amatsavdim)
593 CALL cdf_define(nvac, vn_mnpd2, mnpd2)
594 CALL cdf_define(nvac, vn_bsubvvac, bsubvvac)
595
596 ! actually write data
597 CALL cdf_write(nvac, vn_vacuum_calls, vacuum_calls)
598 CALL cdf_write(nvac, vn_ier_flag, ier_flag)
599 CALL cdf_write(nvac, vn_mgrid, trim(mgrid_file))
600 CALL cdf_write(nvac, vn_inputext, trim(input_extension))
601 CALL cdf_write(nvac, vn_ivacskip, ivacskip)
602 CALL cdf_write(nvac, vn_ivac, ivac)
603 CALL cdf_write(nvac, vn_nfp, nfp)
604 CALL cdf_write(nvac, vn_ntor, ntor)
605 CALL cdf_write(nvac, vn_mpol, mpol)
606 CALL cdf_write(nvac, vn_nzeta, nzeta)
607 CALL cdf_write(nvac, vn_ntheta, ntheta)
608 CALL cdf_write(nvac, vn_mnmax, mnmax)
609 CALL cdf_write(nvac, vn_pmod, xm)
610 CALL cdf_write(nvac, vn_tmod, xn)
611 CALL cdf_write(nvac, vn_rmnc, rmnc)
612 CALL cdf_write(nvac, vn_zmns, zmns)
613 if (lasym) then
614 CALL cdf_write(nvac, vn_rmns, rmns)
615 CALL cdf_write(nvac, vn_zmnc, zmnc)
616 end if ! lasym
617 CALL cdf_write(nvac, vn_rbtor, rbtor)
618 CALL cdf_write(nvac, vn_ctor, ctor)
619 CALL cdf_write(nvac, vn_lasym, lasym)
620 CALL cdf_write(nvac, vn_signgs, signgs)
621 CALL cdf_write(nvac, vn_extcur, extcur_nestor)
622 CALL cdf_write(nvac, vn_raxis_nestor, raxis_nestor)
623 CALL cdf_write(nvac, vn_zaxis_nestor, zaxis_nestor)
624 CALL cdf_write(nvac, vn_wint, wint)
625 CALL cdf_write(nvac, vn_bvecsav, bvecsav)
626 CALL cdf_write(nvac, vn_amatsav, amatsav)
627 CALL cdf_write(nvac, vn_mnpd2, mnpd2)
628 CALL cdf_write(nvac, vn_bsubvvac, bsubvvac)
629
630 CALL cdf_close(nvac)
631end subroutine
632
633subroutine read_nestor_outputs(vac_file, ier_flag, ivac)
634 USE ezcdf
635 use stel_kinds, only: dp
636 use vacmod, only: brv, bphiv, bzv, bsqvac, mnpd, xmpot, xnpot, potvac, mnpd2, bsubvvac, &
638 use nestor_io, only: &
639 vn_ier_flag , &
640 vn_ivac , &
641 vn_bsqvac , &
642 vn_mnpd , &
643 vn_xmpot , &
644 vn_xnpot , &
645 vn_potvac , &
646 vn_brv , &
647 vn_bphiv , &
648 vn_bzv , &
649 vn_bsubvvac, &
650 vn_amatsav , &
651 vn_bvecsav, &
653
654 character(len=*), intent(in) :: vac_file
655 integer, intent(out) :: ier_flag
656 integer, intent(out) :: ivac
657
658 integer :: istat_vac, nvac
659
660 istat_vac = 0
661 CALL cdf_open(nvac, trim(vac_file), 'r', istat_vac)
662 IF (istat_vac .ne. 0) stop 'Error writing output file of NESTOR'
663
664 ! read data; assume allocated since allocate_nestor was also called in main VMEC executable
665 call cdf_read(nvac, vn_ivac, ivac)
666 call cdf_read(nvac, vn_ier_flag, ier_flag)
667 call cdf_read(nvac, vn_bsqvac , bsqvac )
668 call cdf_read(nvac, vn_mnpd , mnpd )
669 call cdf_read(nvac, vn_mnpd2 , mnpd2 )
670 call cdf_read(nvac, vn_xmpot , xmpot )
671 call cdf_read(nvac, vn_xnpot , xnpot )
672 call cdf_read(nvac, vn_potvac , potvac(1:mnpd2) )
673 call cdf_read(nvac, vn_brv , brv )
674 call cdf_read(nvac, vn_bphiv , bphiv )
675 call cdf_read(nvac, vn_bzv , bzv )
676 call cdf_read(nvac, vn_bsubvvac, bsubvvac)
677 call cdf_read(nvac, vn_amatsav, amatsav)
678 call cdf_read(nvac, vn_bvecsav, bvecsav)
679
680 CALL cdf_close(nvac)
681
682end subroutine
subroutine read_mgrid(mgrid_file, extcur, nv, nfp, lscreen, ier_flag)
Definition mgrid_mod.f:114
character(len= *), parameter vn_nfp
Definition mgrid_mod.f:10
integer nextcur
Definition mgrid_mod.f:78
Input and Output for stand-alone NESTOR.
Definition nestor_io.f90:5
character(len= *), parameter vn_ntor
Definition nestor_io.f90:55
character(len= *), parameter vn_rsinuv
Definition nestor_io.f90:98
character(len= *), parameter vn_ivacskip
Definition nestor_io.f90:55
character(len= *), parameter vn_snr
Definition nestor_io.f90:98
character(len= *), parameter vn_auv
Definition nestor_io.f90:98
character(len= *), parameter vn_m_map
Definition nestor_io.f90:98
character(len= *), parameter vn_amatrix
Definition nestor_io.f90:98
character(len= *), parameter vn_xmpot
Definition nestor_io.f90:83
character(len= *), parameter vn_zvb
Definition nestor_io.f90:98
character(len= *), parameter vn_inputext
Definition nestor_io.f90:55
character(len= *), parameter vn_mgrid
Definition nestor_io.f90:55
real(dp), dimension(:), allocatable rmnc
Definition nestor_io.f90:16
character(len= *), parameter vn_sqrtc
Definition nestor_io.f90:98
character(len= *), parameter vn_guu_b
Definition nestor_io.f90:98
integer mnmax
Definition nestor_io.f90:31
character(len= *), parameter vn_adp
Definition nestor_io.f90:98
character(len= *), parameter vn_r1b
Definition nestor_io.f90:98
real(dp) rbtor
Definition nestor_io.f90:37
character(len= *), parameter vn_zmns
Definition nestor_io.f90:55
integer ivac
Definition nestor_io.f90:29
integer nzeta
Definition nestor_io.f90:26
character(len= *), dimension(1), parameter nextcurim
Definition nestor_io.f90:49
integer nextcur
Definition nestor_io.f90:27
character(len= *), parameter vn_mnpd2
Definition nestor_io.f90:83
subroutine write_nestor_outputs(vac_file, lasym, ivac, ier_flag)
character(len= *), parameter vn_zuu
Definition nestor_io.f90:98
real(dp), dimension(:), allocatable extcur
Definition nestor_io.f90:11
character(len= *), parameter vn_ra1m
Definition nestor_io.f90:98
real(dp), dimension(:), allocatable rmns
Definition nestor_io.f90:18
integer ntor
Definition nestor_io.f90:23
character(len= *), parameter vn_bexu
Definition nestor_io.f90:98
character(len= *), parameter vn_avv
Definition nestor_io.f90:98
character(len= *), parameter vn_amatsav
Definition nestor_io.f90:83
character(len= *), parameter vn_greenp
Definition nestor_io.f90:98
character(len= *), parameter vn_rvv
Definition nestor_io.f90:98
character(len= *), parameter vn_rzb2
Definition nestor_io.f90:98
character(len= *), parameter vn_tmod
Definition nestor_io.f90:55
character(len= *), parameter vn_ier_flag
Definition nestor_io.f90:55
character(len= *), parameter vn_ruu
Definition nestor_io.f90:98
character(len= *), parameter vn_tanu
Definition nestor_io.f90:98
character(len= *), dimension(1), parameter bvecsavdim
Definition nestor_io.f90:50
character(len= *), parameter vn_rub
Definition nestor_io.f90:98
character(len= *), parameter vn_bphiv
Definition nestor_io.f90:83
character(len= *), parameter vn_all_tlm
Definition nestor_io.f90:98
character(len= *), parameter vn_mnmax
Definition nestor_io.f90:55
character(len= *), dimension(1), parameter amatsavdim
Definition nestor_io.f90:51
character(len= *), parameter vn_ctor
Definition nestor_io.f90:55
real(dp) ctor
Definition nestor_io.f90:36
character(len= *), parameter vn_imirr
Definition nestor_io.f90:98
character(len= *), parameter vn_lasym
Definition nestor_io.f90:55
character(len= *), parameter vn_bzv
Definition nestor_io.f90:83
character(len= *), parameter vn_sqad2u
Definition nestor_io.f90:98
character(len=255) input_extension
Definition nestor_io.f90:9
character(len= *), parameter vn_grpmn
Definition nestor_io.f90:98
character(len= *), parameter vn_adm
Definition nestor_io.f90:98
character(len= *), parameter vn_nfp
Definition nestor_io.f90:55
integer mnpd2_nestor
Definition nestor_io.f90:40
character(len= *), parameter vn_bsubvvac
Definition nestor_io.f90:83
real(dp), dimension(:), allocatable wint
Definition nestor_io.f90:20
integer mpol
Definition nestor_io.f90:24
character(len= *), parameter vn_zvv
Definition nestor_io.f90:98
real(dp), dimension(:), allocatable zaxis
Definition nestor_io.f90:13
real(dp), dimension(:), allocatable zmns
Definition nestor_io.f90:17
character(len= *), parameter vn_delt1u
Definition nestor_io.f90:98
integer ntheta
Definition nestor_io.f90:25
character(len= *), parameter vn_nzeta
Definition nestor_io.f90:55
character(len= *), parameter vn_bexv
Definition nestor_io.f90:98
character(len= *), dimension(1), parameter nzetadim
Definition nestor_io.f90:48
integer vacuum_calls
Definition nestor_io.f90:32
character(len= *), parameter vn_sqad1u
Definition nestor_io.f90:98
integer ivacskip
Definition nestor_io.f90:30
character(len= *), parameter vn_snz
Definition nestor_io.f90:98
subroutine read_nestor_inputs(vac_file)
character(len= *), parameter vn_guv_b
Definition nestor_io.f90:98
character(len= *), parameter vn_sqrta
Definition nestor_io.f90:98
character(len= *), parameter vn_bphi
Definition nestor_io.f90:98
character(len= *), parameter vn_brv
Definition nestor_io.f90:83
character(len= *), parameter vn_rmns
Definition nestor_io.f90:55
character(len= *), dimension(2), parameter r2dim
Definition nestor_io.f90:53
real(dp), dimension(:), allocatable raxis
Definition nestor_io.f90:12
character(len= *), parameter vn_rbtor
Definition nestor_io.f90:55
character(len= *), parameter vn_r0m
Definition nestor_io.f90:98
character(len= *), parameter vn_gvv_b
Definition nestor_io.f90:98
character(len= *), dimension(1), parameter nzntdim
Definition nestor_io.f90:47
character(len= *), parameter vn_bsubv
Definition nestor_io.f90:98
character(len= *), parameter vn_brad
Definition nestor_io.f90:98
character(len= *), dimension(1), parameter mn1dim
Definition nestor_io.f90:45
character(len= *), parameter vn_r1p
Definition nestor_io.f90:98
character(len= *), parameter vn_cma
Definition nestor_io.f90:98
character(len= *), parameter vn_tanv
Definition nestor_io.f90:98
character(len= *), parameter vn_azm1u
Definition nestor_io.f90:98
character(len= *), parameter vn_ntheta
Definition nestor_io.f90:55
character(len= *), parameter vn_potv
Definition nestor_io.f90:98
character(len= *), parameter vn_xnpot
Definition nestor_io.f90:83
character(len= *), parameter vn_ivac
Definition nestor_io.f90:55
character(len= *), parameter vn_bexn
Definition nestor_io.f90:98
character(len= *), parameter vn_bvecsav
Definition nestor_io.f90:83
character(len= *), parameter vn_azp1u
Definition nestor_io.f90:98
character(len= *), parameter vn_ra1p
Definition nestor_io.f90:98
character(len= *), dimension(1), parameter mnpotdim
Definition nestor_io.f90:46
character(len= *), parameter vn_bexni
Definition nestor_io.f90:98
character(len= *), parameter vn_cma11u
Definition nestor_io.f90:98
character(len= *), parameter vn_potu
Definition nestor_io.f90:98
character(len= *), parameter vn_vacuum_calls
Definition nestor_io.f90:55
character(len= *), parameter vn_rmnc
Definition nestor_io.f90:55
character(len= *), parameter vn_r0p
Definition nestor_io.f90:98
character(len= *), parameter vn_raxis_nestor
Definition nestor_io.f90:55
character(len= *), parameter vn_signgs
Definition nestor_io.f90:55
logical lasym
Definition nestor_io.f90:34
character(len= *), parameter vn_auu
Definition nestor_io.f90:98
character(len= *), parameter vn_drv
Definition nestor_io.f90:98
character(len= *), parameter vn_all_slp
Definition nestor_io.f90:98
character(len= *), parameter vn_rcosuv
Definition nestor_io.f90:98
integer nfp
Definition nestor_io.f90:22
character(len= *), parameter vn_snv
Definition nestor_io.f90:98
character(len= *), parameter vn_potvac
Definition nestor_io.f90:83
real(dp) signgs
Definition nestor_io.f90:38
real(dp) bsubvvac_nestor
Definition nestor_io.f90:43
character(len= *), parameter vn_all_slm
Definition nestor_io.f90:98
real(dp), dimension(:), allocatable zmnc
Definition nestor_io.f90:19
character(len= *), parameter vn_bsubu
Definition nestor_io.f90:98
character(len= *), parameter vn_zmnc
Definition nestor_io.f90:55
real(dp), dimension(:), allocatable xn
Definition nestor_io.f90:15
character(len= *), parameter vn_pmod
Definition nestor_io.f90:55
integer ier_flag
Definition nestor_io.f90:28
real(dp), dimension(:), allocatable xm
Definition nestor_io.f90:14
character(len= *), parameter vn_bz
Definition nestor_io.f90:98
character(len= *), parameter vn_grpmn_m_map
Definition nestor_io.f90:98
character(len= *), parameter vn_n_map
Definition nestor_io.f90:98
character(len= *), parameter vn_extcur
Definition nestor_io.f90:55
character(len= *), parameter vn_zaxis_nestor
Definition nestor_io.f90:55
character(len= *), parameter vn_mnpd
Definition nestor_io.f90:83
character(len= *), parameter vn_wint
Definition nestor_io.f90:55
character(len= *), parameter vn_ruv
Definition nestor_io.f90:98
character(len= *), parameter vn_zuv
Definition nestor_io.f90:98
character(len=255) mgrid_file
Definition nestor_io.f90:10
real(dp), dimension(:), allocatable bvecsav_nestor
Definition nestor_io.f90:42
character(len= *), parameter vn_z1b
Definition nestor_io.f90:98
character(len= *), parameter vn_mpol
Definition nestor_io.f90:55
character(len= *), parameter vn_bsqvac
Definition nestor_io.f90:83
character(len= *), parameter vn_zub
Definition nestor_io.f90:98
character(len= *), parameter vn_r1m
Definition nestor_io.f90:98
character(len= *), parameter vn_gstore
Definition nestor_io.f90:98
character(len= *), parameter vn_rvb
Definition nestor_io.f90:98
character(len= *), parameter vn_grpmn_n_map
Definition nestor_io.f90:98
character(len= *), parameter vn_all_tlp
Definition nestor_io.f90:98
character(len= *), parameter vn_green
Definition nestor_io.f90:98
real(dp), dimension(:), allocatable amatsav_nestor
Definition nestor_io.f90:41
integer, parameter dp
real(rprec), dimension(:), allocatable bsubv
Definition vacmod.f90:80
real(rprec), dimension(:,:), allocatable all_slp
Definition vacmod.f90:141
real(rprec), dimension(:), allocatable bsqvac
Definition vacmod.f90:43
real(rprec), dimension(:,:), allocatable all_tlp
Definition vacmod.f90:139
real(rprec), dimension(:), allocatable auu
Definition vacmod.f90:56
real(rprec), dimension(:), allocatable zuu
Definition vacmod.f90:89
real(rprec), dimension(:), allocatable cma
Definition vacmod.f90:125
real(rprec), dimension(:), allocatable zvb
Definition vacmod.f90:50
real(rprec), dimension(:), allocatable r1b
Definition vacmod.f90:45
real(rprec), dimension(:), allocatable r0m
Definition vacmod.f90:113
real(rprec), dimension(:), allocatable bvecsav
Definition vacmod.f90:34
real(rprec), dimension(:), allocatable ruv
Definition vacmod.f90:87
real(rprec), dimension(:), allocatable sqad1u
Definition vacmod.f90:136
real(rprec), dimension(:), allocatable zub
Definition vacmod.f90:49
real(rprec), dimension(:), allocatable bphi
Definition vacmod.f90:95
real(rprec), dimension(:,:), allocatable greenp
Definition vacmod.f90:108
real(rprec), dimension(:), allocatable grpmn_m_map_wrt
Definition vacmod.f90:103
real(rprec), dimension(:), allocatable z1b
Definition vacmod.f90:48
real(rprec), dimension(:), allocatable r1p
Definition vacmod.f90:112
real(rprec), dimension(:), allocatable zvv
Definition vacmod.f90:91
real(rprec), dimension(:), allocatable bexni
Definition vacmod.f90:37
real(rprec), dimension(:), allocatable bzv
Definition vacmod.f90:41
real(rprec), dimension(:), allocatable amatsav
Definition vacmod.f90:35
real(rprec), dimension(:), allocatable azp1u
Definition vacmod.f90:133
real(rprec), dimension(:), allocatable snz
Definition vacmod.f90:62
real(rprec), dimension(:), allocatable snr
Definition vacmod.f90:60
real(rprec), dimension(:), allocatable grpmn
Definition vacmod.f90:102
real(rprec), dimension(:), allocatable ra1m
Definition vacmod.f90:127
real(rprec), dimension(:), allocatable, target potvac
Definition vacmod.f90:29
real(rprec), dimension(:), allocatable sqad2u
Definition vacmod.f90:137
real(rprec), dimension(:), allocatable adm
Definition vacmod.f90:124
real(rprec), dimension(:,:), allocatable all_tlm
Definition vacmod.f90:140
real(rprec), dimension(:), allocatable sqrtc
Definition vacmod.f90:115
real(rprec), dimension(:), allocatable r1m
Definition vacmod.f90:114
real(rprec), dimension(:), allocatable cma11u
Definition vacmod.f90:135
real(rprec), dimension(:), allocatable ruu
Definition vacmod.f90:86
real(rprec), dimension(:), allocatable brv
Definition vacmod.f90:39
real(rprec), dimension(:), allocatable rzb2
Definition vacmod.f90:70
real(rprec), dimension(:), allocatable rub
Definition vacmod.f90:46
real(rprec), dimension(:), allocatable gstore
Definition vacmod.f90:106
real(rprec) bsubvvac
Definition vacmod.f90:16
real(rprec), dimension(:), allocatable grpmn_n_map_wrt
Definition vacmod.f90:104
real(rprec), dimension(:), allocatable rsinuv
Definition vacmod.f90:73
real(rprec), dimension(:), allocatable rvb
Definition vacmod.f90:47
real(rprec), dimension(:), allocatable sqrta
Definition vacmod.f90:116
real(rprec), dimension(:), allocatable azm1u
Definition vacmod.f90:134
real(rprec), dimension(:), allocatable snv
Definition vacmod.f90:61
real(rprec), dimension(:), allocatable rvv
Definition vacmod.f90:88
real(rprec), dimension(:), allocatable guu_b
Definition vacmod.f90:66
real(rprec), dimension(:,:), allocatable all_slm
Definition vacmod.f90:142
real(rprec), dimension(:), allocatable adp
Definition vacmod.f90:123
real(rprec), dimension(:), allocatable bphiv
Definition vacmod.f90:40
real(rprec), dimension(:), allocatable auv
Definition vacmod.f90:57
real(rprec), dimension(:), allocatable avv
Definition vacmod.f90:58
real(rprec), dimension(:,:), allocatable green
Definition vacmod.f90:107
real(rprec), dimension(:), allocatable gvv_b
Definition vacmod.f90:68
real(rprec), dimension(:), allocatable delt1u
Definition vacmod.f90:132
real(rprec), dimension(:), allocatable bexv
Definition vacmod.f90:53
real(rprec), dimension(:), allocatable guv_b
Definition vacmod.f90:67
real(rprec), dimension(:), allocatable bsubu
Definition vacmod.f90:79
real(rprec), dimension(:), allocatable r0p
Definition vacmod.f90:111
real(rprec), dimension(:), allocatable n_map_wrt
Definition vacmod.f90:32
real(rprec), dimension(:), allocatable m_map_wrt
Definition vacmod.f90:31
real(rprec), dimension(:), allocatable bz
Definition vacmod.f90:96
real(rprec), dimension(:), allocatable zuv
Definition vacmod.f90:90
real(rprec), dimension(:), allocatable ra1p
Definition vacmod.f90:126
real(rprec), dimension(:), allocatable amatrix
Definition vacmod.f90:83
real(rprec), dimension(:), allocatable brad
Definition vacmod.f90:94
real(rprec), dimension(:), allocatable potv
Definition vacmod.f90:82
real(rprec), dimension(:), allocatable bexu
Definition vacmod.f90:52
real(rprec), dimension(:), allocatable rcosuv
Definition vacmod.f90:72
real(rprec), dimension(:), allocatable potu
Definition vacmod.f90:81
real(rprec), dimension(:), allocatable bexn
Definition vacmod.f90:54
real(rprec), dimension(:), allocatable drv
Definition vacmod.f90:64
subroutine read_nestor_outputs(vac_file, ier_flag, ivac)
subroutine write_nestor_inputs(vac_file, vacuum_calls, ier_flag, mgrid_file, input_extension, ivacskip, ivac, nfp, ntor, mpol, nzeta, ntheta, mnmax, xm, xn, rmnc, zmns, rmns, zmnc, rbtor, ctor, lasym, signgs, extcur_nestor, raxis_nestor, zaxis_nestor, wint, nznt, amatsav, bvecsav, mnpd2, bsubvvac)