V3FIT
booz_jac.f
1  SUBROUTINE booz_rzhalf(r, z, rodd, zodd, r12, z12, ohs,
2  1 js, nznt, nrep)
3  USE stel_kinds
4  USE booz_params, ONLY: nv_boz
5  IMPLICIT NONE
6 C-----------------------------------------------
7 C D u m m y A r g u m e n t s
8 C-----------------------------------------------
9  INTEGER, INTENT(in) :: js, nznt, nrep
10  REAL(rprec) :: ohs
11  REAL(rprec), DIMENSION(nznt), INTENT(in) :: r, z, rodd, zodd
12  REAL(rprec), DIMENSION(nznt), INTENT(out) :: r12, z12
13 C-----------------------------------------------
14 C L o c a l P a r a m e t e r s
15 C-----------------------------------------------
16  REAL(rprec), PARAMETER :: one = 1, c1p5 = 1.5_dp
17  LOGICAL, PARAMETER :: lwrite=.false.
18 C-----------------------------------------------
19 C L o c a l V a r i a b l e s
20 C-----------------------------------------------
21  INTEGER :: nvplane
22  REAL(rprec) :: shalf, hs
23 C-----------------------------------------------
24  hs = one/ohs
25  shalf = sqrt(hs*abs(js-c1p5))
26 
27  IF (nrep .eq. 1) THEN
28  r12 = r + shalf*rodd
29  z12 = z + shalf*zodd
30  ELSE
31  r12 = r
32  z12 = z
33  END IF
34 
35 ! WRITE R,Z IN SPECIFIED TOROIDAL PLANE IN VMEC/BOOZER COORDINATES
36  nvplane = 1
37 ! nvplane = nv_boz/4
38  IF (lwrite) CALL writesurface(js, nvplane, nrep, r12, z12)
39 
40  END SUBROUTINE booz_rzhalf
41 
42  SUBROUTINE writesurface(js, nvplane, nrep, r12, z12)
43  USE stel_kinds
44  USE booz_params, ONLY: nv_boz
45  USE booz_persistent, ONLY: nu3_b
46  IMPLICIT NONE
47 C-----------------------------------------------
48 C D u m m y A r g u m e n t s
49 C-----------------------------------------------
50  INTEGER :: js, nvplane, nrep
51  REAL(rprec), DIMENSION(nv_boz, nu3_b), INTENT(in) :: r12, z12
52 C-----------------------------------------------
53 C L o c a l V a r i a b l e s
54 C-----------------------------------------------
55  INTEGER :: i
56  CHARACTER*(256) :: file_name
57 C-----------------------------------------------
58  IF (nrep .eq. 1) THEN
59  file_name = "RZ_VMEC_VPLANE"
60  ELSE
61  file_name = "RZ_BOOZER_VPLANE"
62  END IF
63 
64  WRITE (file_name,'(a,i3.3,a,i3.3,a)') trim(file_name), nvplane,
65  1 "X",js,".txt"
66 
67  OPEN(unit=33,file=file_name,status='REPLACE')
68 
69  DO i=1,nu3_b
70 
71  WRITE (33,100) i, r12(nvplane,i), z12(nvplane,i)
72 
73  END DO
74 
75  100 FORMAT(i5,1p,2e12.4)
76 
77  CLOSE (33)
78 
79  END SUBROUTINE writesurface