1 SUBROUTINE symrzl_par(r1s, rus, rvs, z1s, zus, zvs, lus, lvs,
2 1 rcons, zcons, r1a, rua, rva, z1a, zua, zva, lua, lva, rcona,
5 USE realspace,
ONLY: ireflect_par
6 USE parallel_include_module
11 REAL(dp),
DIMENSION(nzeta,ntheta3,ns,0:1),
INTENT(inout) ::
12 1 r1s, rus, rvs, z1s, zus, zvs, lus, lvs, rcons, zcons
13 REAL(dp),
DIMENSION(nzeta,ntheta3,ns,0:1),
INTENT(in) ::
14 1 r1a, rua, rva, z1a, zua, zva, lua, lva, rcona, zcona
18 INTEGER :: mpar, ir, i, jk, jka, n2
19 INTEGER :: j, k, nsmin, nsmax
20 REAL(dp) :: tsymon, tsymoff
31 DO i = 1 + ntheta2, ntheta1
35 r1s(j,i,k,mpar) = r1s(jka,ir,k,mpar)
36 & - r1a(jka,ir,k,mpar)
37 rus(j,i,k,mpar) = rua(jka,ir,k,mpar)
38 & - rus(jka,ir,k,mpar)
39 z1s(j,i,k,mpar) = z1a(jka,ir,k,mpar)
40 & - z1s(jka,ir,k,mpar)
41 zus(j,i,k,mpar) = zus(jka,ir,k,mpar)
42 & - zua(jka,ir,k,mpar)
43 lus(j,i,k,mpar) = lus(jka,ir,k,mpar)
44 & - lua(jka,ir,k,mpar)
45 rcons(j,i,k,mpar) = rcons(jka,ir,k,mpar)
46 & - rcona(jka,ir,k,mpar)
47 zcons(j,i,k,mpar) = zcona(jka,ir,k,mpar)
48 & - zcons(jka,ir,k,mpar)
53 rvs(j,i,k,mpar) = rva(jka,ir,k,mpar)
54 & - rvs(jka,ir,k,mpar)
55 zvs(j,i,k,mpar) = zvs(jka,ir,k,mpar)
56 & - zva(jka,ir,k,mpar)
57 lvs(j,i,k,mpar) = lvs(jka,ir,k,mpar)
58 & - lva(jka,ir,k,mpar)
67 r1s(:,:n2,k,mpar) = r1s(:,:n2,k,mpar) + r1a(:,:n2,k,mpar)
68 rus(:,:n2,k,mpar) = rus(:,:n2,k,mpar) + rua(:,:n2,k,mpar)
69 z1s(:,:n2,k,mpar) = z1s(:,:n2,k,mpar) + z1a(:,:n2,k,mpar)
70 zus(:,:n2,k,mpar) = zus(:,:n2,k,mpar) + zua(:,:n2,k,mpar)
71 lus(:,:n2,k,mpar) = lus(:,:n2,k,mpar) + lua(:,:n2,k,mpar)
72 rcons(:,:n2,k,mpar) = rcons(:,:n2,k,mpar)
73 & + rcona(:,:n2,k,mpar)
74 zcons(:,:n2,k,mpar) = zcons(:,:n2,k,mpar)
75 & + zcona(:,:n2,k,mpar)
77 rvs(:,:n2,k,mpar) = rvs(:,:n2,k,mpar)
79 zvs(:,:n2,k,mpar) = zvs(:,:n2,k,mpar)
81 lvs(:,:n2,k,mpar) = lvs(:,:n2,k,mpar)
89 symrzl_time = symrzl_time + (tsymoff - tsymon)
91 END SUBROUTINE symrzl_par
93 SUBROUTINE symrzl(r1s, rus, rvs, z1s, zus, zvs, lus, lvs, rcons,
94 & zcons, r1a, rua, rva, z1a, zua, zva, lua, lva,
97 USE parallel_include_module
102 REAL(dp),
DIMENSION(ns*nzeta,ntheta3,0:1),
INTENT(inout) ::
103 1 r1s, rus, rvs, z1s, zus, zvs, lus, lvs, rcons, zcons
104 REAL(dp),
DIMENSION(ns*nzeta,ntheta3,0:1),
INTENT(in) ::
105 1 r1a, rua, rva, z1a, zua, zva, lua, lva, rcona, zcona
109 INTEGER :: mpar, ir, i, jk, jka, n2
110 INTEGER :: j, k, nsmin, nsmax
111 REAL(dp) :: tsymon, tsymoff
118 DO i = 1 + ntheta2, ntheta1
122 r1s(jk,i,mpar) = r1s(jka,ir,mpar) - r1a(jka,ir,mpar)
123 rus(jk,i,mpar) = rua(jka,ir,mpar) - rus(jka,ir,mpar)
124 z1s(jk,i,mpar) = z1a(jka,ir,mpar) - z1s(jka,ir,mpar)
125 zus(jk,i,mpar) = zus(jka,ir,mpar) - zua(jka,ir,mpar)
126 lus(jk,i,mpar) = lus(jka,ir,mpar) - lua(jka,ir,mpar)
127 rcons(jk,i,mpar) = rcons(jka,ir,mpar)
128 & - rcona(jka,ir,mpar)
129 zcons(jk,i,mpar) = zcona(jka,ir,mpar)
130 & - zcons(jka,ir,mpar)
135 rvs(jk,i,mpar) = rva(jka,ir,mpar) - rvs(jka,ir,mpar)
136 zvs(jk,i,mpar) = zvs(jka,ir,mpar) - zva(jka,ir,mpar)
137 lvs(jk,i,mpar) = lvs(jka,ir,mpar) - lva(jka,ir,mpar)
146 r1s(:,:n2,mpar) = r1s(:,:n2,mpar) + r1a(:,:n2,mpar)
147 rus(:,:n2,mpar) = rus(:,:n2,mpar) + rua(:,:n2,mpar)
148 z1s(:,:n2,mpar) = z1s(:,:n2,mpar) + z1a(:,:n2,mpar)
149 zus(:,:n2,mpar) = zus(:,:n2,mpar) + zua(:,:n2,mpar)
150 lus(:,:n2,mpar) = lus(:,:n2,mpar) + lua(:,:n2,mpar)
151 rcons(:,:n2,mpar) = rcons(:,:n2,mpar) + rcona(:,:n2,mpar)
152 zcons(:,:n2,mpar) = zcons(:,:n2,mpar) + zcona(:,:n2,mpar)
154 rvs(:,:n2,mpar) = rvs(:,:n2,mpar) + rva(:,:n2,mpar)
155 zvs(:,:n2,mpar) = zvs(:,:n2,mpar) + zva(:,:n2,mpar)
156 lvs(:,:n2,mpar) = lvs(:,:n2,mpar) + lva(:,:n2,mpar)
160 CALl second0(tsymoff)
161 s_symrzl_time = s_symrzl_time + (tsymoff - tsymon)
163 END SUBROUTINE symrzl