1 SUBROUTINE transpmn(pmns, bsubtmnc, bsubzmnc, pmnc, bsubtmns,
2 1 bsubzmns, xm, xn, gpsi, ipsi, mnmax, js, lasym)
4 USE booz_params,
ONLY: ns
10 REAL(rprec),
DIMENSION(mnmax) :: pmns, bsubtmnc, bsubzmnc
11 REAL(rprec),
DIMENSION(mnmax) :: pmnc, bsubtmns, bsubzmns
12 REAL(rprec),
DIMENSION(mnmax) :: xm, xn
13 REAL(rprec),
DIMENSION(ns) :: gpsi, ipsi
14 LOGICAL,
INTENT(in) :: lasym
19 REAL(rprec) :: rad_cur
30 IF (nint(xm(mn)) .ne. 0)
THEN
31 pmns(mn) = bsubtmnc(mn)/xm(mn)
32 IF (lasym) pmnc(mn) = -bsubtmns(mn)/xm(mn)
33 ELSE IF (nint(xn(mn)) .ne. 0)
THEN
34 pmns(mn) = -bsubzmnc(mn)/xn(mn)
35 IF (lasym) pmnc(mn) = bsubzmns(mn)/xn(mn)
38 IF (lasym) pmnc(mn) = 0
39 gpsi(js) = bsubzmnc(mn)
40 ipsi(js) = bsubtmnc(mn)
45 IF (xm(mn).ne.0 .or. xn(mn).ne.0)
THEN
46 rad_cur = xn(mn)*bsubtmnc(mn)+xm(mn)*bsubzmnc(mn)
47 rad_cur = rad_cur/(abs(ipsi(js))+abs(gpsi(js)))
48 IF (abs(rad_cur) .gt. 1.e-10_dp)
THEN
49 print *,
'm: ',xm(mn),
' n: ',xn(mn),
' Radial Current: ',
56 END SUBROUTINE transpmn