19SUBROUTINE analysum(grpmn, bvec, sl, tl, m, n, l, ivacskip, lasym, m_map, n_map, &
20 grpmn_m_map, grpmn_n_map)
24 INTEGER,
INTENT(in) :: m, n, l, ivacskip
25 REAL(rprec),
INTENT(inout) :: grpmn(0:mf,-nf:nf,nuv2,ndim)
26 REAL(rprec),
INTENT(inout) :: bvec(0:mf,-nf:nf,ndim)
27 real(rprec),
intent(inout) :: m_map(0:mf,-nf:nf)
28 real(rprec),
intent(inout) :: n_map(0:mf,-nf:nf)
29 real(rprec),
intent(inout) :: grpmn_m_map(0:mf,-nf:nf,nuv2)
30 real(rprec),
intent(inout) :: grpmn_n_map(0:mf,-nf:nf,nuv2)
31 REAL(rprec),
DIMENSION(nuv2),
INTENT(in) :: sl, tl
32 logical,
intent(in) :: lasym
35 REAL(rprec) :: sinp, cosp
37 IF (n .LT. 0) stop
'error calling analysum!'
52 grpmn_m_map(m, n, i) = m
53 grpmn_m_map(m,-n, i) = m
55 grpmn_n_map(m, n, i) = n
56 grpmn_n_map(m,-n, i) = -n
59 sinp = sinu1(i,m)*cosv1(i,n) - cosu1(i,m)*sinv1(i,n)
63 bvec(m,n,1) = bvec(m,n,1) + cmns(l,m,n) *
bexni(i)*tl(i)*sinp
64 IF (ivacskip .EQ. 0)
then
65 grpmn(m,n,i,1) = grpmn(m,n,i,1) + cmns(l,m,n) * sl(i)*sinp
70 cosp = cosu1(i,m)*cosv1(i,n) + sinv1(i,n)*sinu1(i,m)
72 bvec(m,n,2) = bvec(m,n,2) + tl(i)*cmns(l,m,n)*
bexni(i)*cosp
73 IF (ivacskip .EQ. 0)
then
74 grpmn(m,n,i,2) = grpmn(m,n,i,2) + sl(i)*cmns(l,m,n)*cosp
subroutine analysum(grpmn, bvec, sl, tl, m, n, l, ivacskip, lasym, m_map, n_map, grpmn_m_map, grpmn_n_map)
Compute the (m=0 or n=0) part of the DFT of the analytical Fourier transforms of the equivalently-sin...