1 SUBROUTINE convert_boundary_pg(rbc, zbs, rhobc, mpol, ntor)
7 INTEGER,
INTENT(in) :: mpol, ntor
8 REAL(rprec),
DIMENSION(-ntor:ntor,0:mpol) ::
10 REAL(rprec),
DIMENSION(-ntor:ntor,-mpol:mpol),
INTENT(out) ::
12 REAL(rprec) :: rnorm, r00
16 INTEGER,
PARAMETER :: pexp = 4
17 INTEGER :: mcount, ncount, m_bdy, n_bdy
18 REAL(rprec),
PARAMETER :: p25 = 0.25_dp, p50 = 0.50_dp,
33 DO ncount = -ntor, ntor
34 IF (rbc(ncount,mcount).ne.zero .or.
35 1 zbs(ncount,mcount).ne.zero)
THEN
36 m_bdy = max(m_bdy,mcount)
37 n_bdy = max(n_bdy,abs(ncount))
42 IF(m_bdy+1 .gt. mpol)
THEN
43 WRITE(6,*)
"In Conversion to Delta-mn, mpol too small"
49 rnorm = rbc(0,1)+zbs(0,1)
53 DO ncount = -ntor, ntor
54 rbc(ncount,mcount)=rbc(ncount,mcount)*rnorm
55 zbs(ncount,mcount)=zbs(ncount,mcount)*rnorm
60 DO ncount = -n_bdy, n_bdy
61 rhobc(ncount,mcount+1) =
62 > 0.5*(rbc(ncount,mcount)-zbs(ncount,mcount))
63 > + rhobc(ncount,mcount+1)
64 rhobc(-ncount,-mcount+1) =
65 > 0.5*(rbc(ncount,mcount)+zbs(ncount,mcount))
66 > + rhobc(-ncount,-mcount+1)
74 END SUBROUTINE convert_boundary_pg