55 indbeg,indend,jndbeg,jndend,kndbeg,kndend, &
56 ibegv ,iendv ,ibegg ,iendg , &
69 TYPE(t_region
) :: region
72 INTEGER :: indbeg, indend, jndbeg, jndend, kndbeg, kndend
73 INTEGER :: ibegv, iendv, ibegg, iendg
74 REAL(RFREAL),
POINTER ::
gradi(:,:),
gradj(:,:), gradk(:,:)
77 INTEGER ::
i,
j,
k, l, lx,ly,lz, idum, jdum, kdum
80 INTEGER :: ilev, inoff, ijnoff
81 INTEGER :: ijknb, ijkni, ijknj, ijknk, ijknd, ijknr, ijknr1, ijknr2, ijknr3
82 INTEGER :: im1jknb, ijm1knb, ijkm1nb
83 INTEGER :: indxi(indbeg-1:indend), indxj(jndbeg-1:jndend)
84 INTEGER :: indxk(kndbeg-1:kndend)
85 INTEGER :: ig(3), jg(3), kg(3), ir(3), jr(3), kr(3)
86 INTEGER :: idumb(3), jdumb(3), kdumb(3), idume(3), jdume(3), kdume(3)
89 REAL(RFREAL) :: dabsi, dabsj, dabsk
90 REAL(RFREAL) :: bgradi(ibegg:iendg)
91 REAL(RFREAL) :: bgradj(ibegg:iendg)
92 REAL(RFREAL) :: bgradk(ibegg:iendg)
97 'RFLO_CalcGradDummySymm.F90' )
101 ilev = region%currLevel
104 nvar = iendv - ibegv + 1
106 dabsi =
REAL(abs(
idir))
107 dabsj =
REAL(abs(
jdir))
108 dabsk =
REAL(abs(
kdir))
110 IF (lbound==1 .OR. lbound==3 .OR. lbound==5)
THEN
111 idumb(:) = -
idir*region%nDumCells
112 jdumb(:) = -
jdir*region%nDumCells
113 kdumb(:) = -
kdir*region%nDumCells
121 idume(:) = -
idir*region%nDumCells
122 jdume(:) = -
jdir*region%nDumCells
123 kdume(:) = -
kdir*region%nDumCells
127 ir(:)=0 ; jr(:)=0 ; kr(:)=0
128 IF (lbound == 1)
THEN
131 ELSE IF (lbound == 3)
THEN
134 ELSE IF (lbound == 5)
THEN
137 ELSE IF (lbound == 2)
THEN
139 idumb(1) = idumb(1)-
idir
140 ELSE IF (lbound == 4)
THEN
142 jdumb(2) = jdumb(2)-
jdir
143 ELSE IF (lbound == 6)
THEN
145 kdumb(3) = kdumb(3)-
kdir
159 indxi(indbeg-1)=indbeg
160 indxj(jndbeg-1)=jndbeg
161 indxk(kndbeg-1)=kndbeg
163 DO k=
kbeg+knode,kend+knode
167 ijknb = indijk(
i ,
j ,
k ,inoff,ijnoff)
168 im1jknb = indijk(indxi(
i-1),
j ,
k ,inoff,ijnoff)
169 ijm1knb = indijk(
i ,indxj(
j-1),
k ,inoff,ijnoff)
170 ijkm1nb = indijk(
i ,
j ,indxk(
k-1),inoff,ijnoff)
172 ijknr1 = indijk(
i+ir(1),
j+jr(1),
k+kr(1),inoff,ijnoff)
173 ijknr2 = indijk(
i+ir(2),
j+jr(2),
k+kr(2),inoff,ijnoff)
174 ijknr3 = indijk(
i+ir(3),
j+jr(3),
k+kr(3),inoff,ijnoff)
177 dabsj*0.5_rfreal*(
gradj(l,ijknb)+
gradj(l,im1jknb))+ &
178 dabsk*0.5_rfreal*(gradk(l,ijknb)+gradk(l,im1jknb))
181 dabsi*0.5_rfreal*(
gradi(l,ijknb)+
gradi(l,ijm1knb))+ &
182 dabsk*0.5_rfreal*(gradk(l,ijknb)+gradk(l,ijm1knb))
184 gradk(l,ijknr3)=dabsk*gradk(l,ijknr3)+ &
185 dabsi*0.5_rfreal*(
gradi(l,ijknb)+
gradi(l,ijkm1nb))+ &
186 dabsj*0.5_rfreal*(
gradj(l,ijknb)+
gradj(l,ijkm1nb))
194 IF (lbound==1 .OR. lbound==2)
THEN
197 ijknb = indijk(indbeg,
j,kend,inoff,ijnoff)
198 ijknr = indijk(indbeg+ir(3),
j,kndend,inoff,ijnoff)
200 gradk(l,ijknr)=
gradi(l,ijknb)
205 ijknb = indijk(indbeg,
jend,
k,inoff,ijnoff)
206 ijknr = indijk(indbeg+ir(2),jndend,
k,inoff,ijnoff)
212 ELSEIF (lbound==3 .OR. lbound==4)
THEN
215 ijknb = indijk(
iend,jndbeg,
k,inoff,ijnoff)
216 ijknr = indijk(indend,jndbeg+jr(1),
k,inoff,ijnoff)
223 ijknb = indijk(
i,jndbeg,kend,inoff,ijnoff)
224 ijknr = indijk(
i,jndbeg+jr(3),kndend,inoff,ijnoff)
226 gradk(l,ijknr)=
gradj(l,ijknb)
230 ELSEIF (lbound==5 .OR. lbound==6)
THEN
233 ijknb = indijk(
iend,
j,kndbeg,inoff,ijnoff)
234 ijknr = indijk(indend,
j,kndbeg+kr(1),inoff,ijnoff)
236 gradi(l,ijknr)=gradk(l,ijknb)
241 ijknb = indijk(
i,
jend,kndbeg,inoff,ijnoff)
242 ijknr = indijk(
i,jndend,kndbeg+kr(2),inoff,ijnoff)
244 gradj(l,ijknr)=gradk(l,ijknb)
259 ijknr1 = indijk(
i+ir(1),
j+jr(1),
k+kr(1),inoff,ijnoff)
260 ijknr2 = indijk(
i+ir(2),
j+jr(2),
k+kr(2),inoff,ijnoff)
261 ijknr3 = indijk(
i+ir(3),
j+jr(3),
k+kr(3),inoff,ijnoff)
263 bgradi(l)=
gradi(l,ijknr1)
264 bgradj(l)=
gradj(l,ijknr2)
265 bgradk(l)=gradk(l,ijknr3)
268 DO idum=idumb(1),idume(1)
269 DO jdum=jdumb(1),jdume(1)
270 DO kdum=kdumb(1),kdume(1)
271 ijknd = indijk(
i+idum,
j+jdum,
k+kdum,inoff,ijnoff)
272 ijkni = indijk(
i+ig(1)-idum,
j+jg(1)-jdum,
k+kg(1)-kdum,inoff,ijnoff)
274 gradi(l,ijknd)=2.0_rfreal*bgradi(l)-
gradi(l,ijkni)
280 DO idum=idumb(2),idume(2)
281 DO jdum=jdumb(2),jdume(2)
282 DO kdum=kdumb(2),kdume(2)
283 ijknd = indijk(
i+idum,
j+jdum,
k+kdum,inoff,ijnoff)
284 ijknj = indijk(
i+ig(2)-idum,
j+jg(2)-jdum,
k+kg(2)-kdum,inoff,ijnoff)
286 gradj(l,ijknd)=2.0_rfreal*bgradj(l)-
gradj(l,ijknj)
292 DO idum=idumb(3),idume(3)
293 DO jdum=jdumb(3),jdume(3)
294 DO kdum=kdumb(3),kdume(3)
295 ijknd = indijk(
i+idum,
j+jdum,
k+kdum,inoff,ijnoff)
296 ijknk = indijk(
i+ig(3)-idum,
j+jg(3)-jdum,
k+kg(3)-kdum,inoff,ijnoff)
298 gradk(l,ijknd)=2.0_rfreal*bgradk(l)-gradk(l,ijknk)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE ibeg
subroutine rflo_calcgraddummysymm(region, lbound, idir, jdir, kdir, inode, jnode, knode, ibeg, iend, jbeg, jend, kbeg, kend, indBeg, indEnd, jndBeg, jndEnd, kndBeg, kndEnd, iBegV, iEndV, iBegG, iEndG, gradi, gradj, gradk)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE inode
subroutine registerfunction(global, funName, fileName)
subroutine rflo_getnodeoffset(region, iLev, iNodeOffset, ijNodeOffset)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE jdir
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE knode iend
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE idir
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE iEndG gradi(:,:)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE knode jend
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE kdir
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE knode jbeg
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE knode kbeg
subroutine deregisterfunction(global)
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE jnode
**********************************************************************Rocstar Simulation Suite Illinois Rocstar LLC All rights reserved ****Illinois Rocstar LLC IL **www illinoisrocstar com **sales illinoisrocstar com WITHOUT WARRANTY OF ANY **EXPRESS OR INCLUDING BUT NOT LIMITED TO THE WARRANTIES **OF FITNESS FOR A PARTICULAR PURPOSE AND **NONINFRINGEMENT IN NO EVENT SHALL THE CONTRIBUTORS OR **COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES OR OTHER WHETHER IN AN ACTION OF TORT OR **Arising OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE **USE OR OTHER DEALINGS WITH THE SOFTWARE **********************************************************************INTERFACE SUBROUTINE iEndG gradj(:,:)