9SUBROUTINE greenf(delgr, delgrp, ip)
16 INTEGER,
INTENT(in) :: ip
17 REAL(rprec),
DIMENSION(nuv),
INTENT(out) :: delgr, delgrp
19 INTEGER,
DIMENSION(2) :: ilow, ihigh
20 INTEGER :: ivoff, iskip, iuoff, i, kp, nloop, ivoff0
21 REAL(rprec):: xip, yip, ftemp, htemp
23 REAL(rprec),
dimension(nvper) :: xper, yper, sxsave, sysave
24 integer,
dimension(nvper,nuv) :: idx_tanu, idx_tanv
25 REAL(rprec),
dimension(nvper,nuv) :: all_tanu, all_tanv
47 ivoff0 = nuv - (ip - 1)
50 iuoff = nuv - nv*iskip
74 ivoff = ivoff0 + 2*nu*(kp-1)
77 xper(kp) = xip*cosper(kp) - yip*sinper(kp)
80 yper(kp) = xip*sinper(kp) + yip*cosper(kp)
82 sxsave(kp) = (
snr(ip)*xper(kp) -
snv(ip)*yper(kp))/
r1b(ip)
83 sysave(kp) = (
snr(ip)*yper(kp) +
snv(ip)*xper(kp))/
r1b(ip)
85 IF (kp.EQ.1 .OR. nv.EQ.1)
THEN
92 idx_tanu(kp, i) = i+iuoff
93 idx_tanv(kp, i) = i+ivoff
94 all_tanu(kp, i) = tanu(i+iuoff)
95 all_tanv(kp, i) = tanv(i+ivoff)
97 ga1(kp,i) = tanu(i+iuoff)*(
guu_b(ip)*tanu(i+iuoff) +
guv_b(ip)*tanv(i+ivoff)) &
98 +
gvv_b(ip)*tanv(i+ivoff)*tanv(i+ivoff)
99 ga2(kp,i) = tanu(i+iuoff)*(
auu(ip)*tanu(i+iuoff) +
auv(ip)*tanv(i+ivoff)) &
100 +
avv(ip)*tanv(i+ivoff)*tanv(i+ivoff)
104 IF (kp.GT.1 .AND. nloop.EQ.2)
then
111 DO i = ilow(nloop), ihigh(nloop)
113 ga1(kp,i) = one/sqrt(
ga1(kp,i))
116 delgrp(i) = delgrp(i) + ftemp*htemp*(
rcosuv(i)*sxsave(kp) +
rsinuv(i)*sysave(kp) +
dsave(i)) -
ga2(kp,i)*
ga1(kp,i)
117 delgr(i) = delgr(i) + htemp -
ga1(kp,i)
132 delgrp(i) = delgrp(i) + ftemp*htemp*(
rcosuv(i)*sxsave(kp) +
rsinuv(i)*sysave(kp) +
dsave(i))
133 delgr(i) = delgr(i) + htemp
141 delgrp = delgrp/nvper
subroutine greenf(delgr, delgrp, ip)
Compute the regularized evaluation of the Green's function and the source term.
real(rprec), dimension(:), allocatable auu
real(rprec), dimension(:), allocatable r1b
real(rprec), dimension(:), allocatable z1b
real(rprec), dimension(:), allocatable gsave
real(rprec), dimension(:), allocatable snz
real(rprec), dimension(:), allocatable snr
real(rprec), dimension(:,:), allocatable ga2
real(rprec), dimension(:), allocatable rzb2
real(rprec), dimension(:), allocatable rsinuv
real(rprec), dimension(:,:), allocatable ga1
real(rprec), dimension(:), allocatable dsave
real(rprec), dimension(:), allocatable snv
real(rprec), dimension(:), allocatable guu_b
real(rprec), dimension(:), allocatable auv
real(rprec), dimension(:), allocatable avv
real(rprec), dimension(:), allocatable gvv_b
real(rprec), dimension(:), allocatable guv_b
real(rprec), dimension(:), allocatable rcosuv
real(rprec), dimension(:), allocatable drv