33 type(type_equilibrium
),
intent(in) :: equilibrium_out
35 real(r8),
dimension(nr),
intent(in) :: zvol, zvolp
36 real(r8),
intent(in) :: xaxis
38 integer(itm_i4) :: i, j
39 real(r8) :: delf, fact
40 real(r8) :: funst, fstab, fmarg
41 real(r8) :: shear, alpha, shear1, alpha2
43 real(r8) :: rho, drho_ds
45 character(len = 25) :: bal,inibal
59 if (standard_output)
then
60 write(out_he,*)
'****************************************************', &
61 '************************************'
62 write(out_he,*)
'* i, flux, rho, q, shear, shear1,', &
63 ' alpha, alpha1, fmarg, ballooning *'
64 write(out_he,*)
'****************************************************', &
65 '************************************'
69 call
suydam(i, 0._r8, tbb, tbf, 1._r8, bal)
72 if (bal ==
' stable')
then
79 call
suydam(i, 0._r8, tbb, tbf, fact, bal)
80 if (bal == inibal)
then
87 10
if (inibal ==
' stable')
then
96 fact = (funst + fstab) / 2._r8
97 call
suydam(i, 0._r8, tbb, tbf, fact, bal)
98 if (bal ==
' stable')
then
104 shear = cs(i) / qs(i) * dqs(i)
105 alpha = -2._r8 * qs(i)**2 * p_spline%sp2(i) / eps
107 shear1 = 2._r8* zvol(i) / qs(i) * dqs(i) / (2._r8 * cs(i) *zvolp(i))
113 rho = sqrt(zvol(i) / zvol(nr))
114 drho_ds = cs(i) / (rho * zvol(nr)) * zvolp(i)
115 alpha2 = alpha / drho_ds
121 fmarg = (fstab + funst) / 2._r8
125 if (shear < 0._r8 .and. ias == 1)
then
130 if (standard_output) &
131 write(out_he,11) i, cs(i)**2, rho, qs(i), shear, shear1, &
132 alpha, alpha2, fmarg, inibal
135 if (standard_output) &
136 write(out_he, *)
'****************************************************', &
152 11
format(
' ',i3,
' ',f9.6,
' ',f9.6,
' ',f7.4,
' ',f8.4,
' ',f8.4,
' ', &
153 e10.4,
' ',e10.4,
' ',f8.3,
' ',a25)
subroutine suydam_ballooning(equilibrium_out, zvol, zvolp, xaxis)
subroutine suydam_pq(ias)
subroutine suydam_initialization(ias, tbb, tbf)
subroutine deallocate_spline_coefficients(spline)
subroutine suydam(ipsi, t0, tbb, tbf, fact, bal)
subroutine suydam_read_helena(equilibrium)