V3FIT
output.f
1  SUBROUTINE output(cputimes, aibstot, ijbs, ians, ians_plot)
2 C-----------------------------------------------
3 C M o d u l e s
4 C-----------------------------------------------
5  USE parambs
6  USE vmec0
7  IMPLICIT NONE
8 C-----------------------------------------------
9 C D u m m y A r g u m e n t s
10 C-----------------------------------------------
11  INTEGER :: ijbs, ians, ians_plot
12  REAL(rprec) :: aibstot
13  REAL(rprec), DIMENSION(*) :: cputimes
14 C-----------------------------------------------
15 C L o c a l P a r a m e t e r s
16 C-----------------------------------------------
17  REAL(rprec), PARAMETER :: zero = 0, one = 1,
18  1 d18 = 1.e-18_dp
19 C-----------------------------------------------
20 C L o c a l V a r i a b l e s
21 C-----------------------------------------------
22  INTEGER :: i
23  REAL(rprec) :: aibsttot
24 C-----------------------------------------------
25  WRITE (ijbs, 87)
26  DO i = 1, irup
27  IF(idx(i) .eq. 1) THEN
28  WRITE (ijbs, *) (i+1), ajbbs(i), bsnorm(i)
29  ENDIF
30  ENDDO
31  87 FORMAT(1x,'surface # <Jbs_dot_B> <Jbs>/<Jbs-tok>')
32 
33  WRITE (ians, 90)
34  DO i=1,irup
35  IF(idx(i) .eq. 1) THEN
36  WRITE (ians, 100) rhoar(i),capr(i),caps(i),ftrapped(i),
37  1 h2(i), amain(i),aiterm1(i),
38  2 other1(i), gbsnorm(i)
39  ENDIF
40  ENDDO
41  90 FORMAT(/,1x,
42  1 ' s R S ftrapped H2 ',
43  2 ' amain lam int other gnorm')
44  100 FORMAT(1x,0p,f5.3,1p,8e12.4)
45 
46 
47  WRITE (ians, 101)
48  DO i=1,irup
49  IF(idx(i) .eq. 1) THEN
50  WRITE (ians, 102) rhoar(i),qsafety(i),thetamax(i),
51  1 zetahmax(i),bmax1(i),ftrapped(i)/fttok(i),
52  2 fptok(i)/fpassing(i),cputimes(i)
53  ENDIF
54  ENDDO
55  101 FORMAT(/,1x,' s Q thetamax zetamax ',
56  1 ' BMAX ft/fttok fptok/fp cpu secs')
57  102 FORMAT(1x,0p,f5.3,1p,8e12.4)
58 
59  WRITE(ians,*) ' s gnorm jbsnorm ',
60  1 ' dI/ds I(s)(hm) '
61  2 ,' j_grad_ne j_grad_ni j_grad_Te j_grad_Ti '
62  DO i=1,irup
63  IF(idx(i) .eq. 1) THEN
64  WRITE(ians,32)rhoar(i), gbsnorm(i),bsnorm(i), dibs(i),
65  1 aibs(i), bsdense(i), bsdensi(i), bstempe(i),
66  1 bstempi(i)
67  ENDIF
68  ENDDO
69  32 FORMAT(1x,0p,f5.3,1p,9e12.4)
70 
71 
72  WRITE (ians, 104)
73  DO i=1,irup
74  IF(idx(i) .eq. 1) THEN
75  WRITE (ians, 105)i,tempe1(i),tempi1(i),dense(i),
76  1 dense(i)/zeff1, betar(i),ajbbs(i)
77  END IF
78  ENDDO
79  104 FORMAT(/,1x,' Te Ti Ne Ni
80  1Beta jB')
81  105 FORMAT(1x,i3,1p,6e12.4)
82 
83 
84  IF(l_boot_all .and. lscreen) THEN
85  aibstot = aibs(irup)
86  WRITE (*, '(a,f12.7,a,i3,a,i3)') ' Total bootstrap current =',
87  1 aibstot , ' MA'
88  aibsttot = aibst(irup)
89  aibstot = aibstot*1.e6_dp !in Amperes
90  ENDIF
91 
92  107 FORMAT('Ibs = ',f7.4,' MA')
93  175 FORMAT(2x,1p,5e14.6)
94 
95  DO i = 1, irup
96  IF(idx(i) .eq. 1) THEN
97  WRITE(ians_plot, *) rhoar(i), gbsnorm(i), amain(i),
98  1 aiterm1(i), other1(i),
99  2 dibs(i), bsdense(i), bsdensi(i), bstempe(i), bstempi(i),
100  3 qsafety(i), ftrapped(i), bsnorm(i),
101  4 tempe1(i),tempi1(i),dense(i), dense(i)/zeff1, betar(i),
102  5 ajbbs(i)
103  ENDIF
104  ENDDO
105 
106  END SUBROUTINE output