69 CHARACTER(CHRLEN) :: RCSIdentString = &
70 '$RCSfile: RFLO_ModElliptSmoothing.F90,v $ $Revision: 1.15 $'
105 #include "Indexing.h"
108 REAL(RFREAL) :: resid
109 TYPE(t_region
),
POINTER :: regions(:)
112 INTEGER :: ireg, ipatch, ijk,
i,
j,
k
116 INTEGER :: bctype, iregsrc, ipatchsrc
118 REAL(RFREAL) ::
dx,
dy,
dz
119 REAL(RFREAL),
POINTER :: xyz(:,:), xyzold(:,:), xyzorig(:,:)
122 TYPE(t_grid),
POINTER ::
grid, gridold, gridsrc
127 global => regions(1)%global
130 'RFLO_ModElliptSmoothing.F90' )
134 DO ireg=1,global%nRegions
135 IF (regions(ireg)%procid==global%myProcid .AND. &
136 regions(ireg)%active==active .AND. &
137 regions(ireg)%mixtInput%moveGrid)
THEN
143 xyz => regions(ireg)%levels(1)%grid%xyz
144 xyzold => regions(ireg)%levels(1)%grid%xyzOld
157 xyz => regions(ireg)%levels(1)%grid%xyz
158 xyzorig => regions(ireg)%levels(1)%gridOld%xyz
160 DO ijk=lbound(xyz,2),ubound(xyz,2)
161 xyz(xcoord,ijk) = xyz(xcoord,ijk) - xyzorig(xcoord,ijk)
162 xyz(ycoord,ijk) = xyz(ycoord,ijk) - xyzorig(ycoord,ijk)
163 xyz(zcoord,ijk) = xyz(zcoord,ijk) - xyzorig(zcoord,ijk)
166 DO ijk=lbound(xyz,2),ubound(xyz,2)
167 xyzold(xcoord,ijk) = xyzold(xcoord,ijk) - xyzorig(xcoord,ijk)
168 xyzold(ycoord,ijk) = xyzold(ycoord,ijk) - xyzorig(ycoord,ijk)
169 xyzold(zcoord,ijk) = xyzold(zcoord,ijk) - xyzorig(zcoord,ijk)
198 ijk = indijk(
i,
j,
k,inoff,ijnoff)
199 dx = xyz(xcoord,ijk) - xyzold(xcoord,ijk)
200 dy = xyz(ycoord,ijk) - xyzold(ycoord,ijk)
201 dz = xyz(zcoord,ijk) - xyzold(zcoord,ijk)
214 DO ireg=1,global%nRegions
215 IF (regions(ireg)%procid==global%myProcid .AND. &
216 regions(ireg)%active==active .AND. &
217 regions(ireg)%mixtInput%moveGrid)
THEN
219 grid => regions(ireg)%levels(1)%grid
220 gridold => regions(ireg)%levels(1)%gridOld
222 DO ipatch=1,regions(ireg)%nPatches
223 patch => regions(ireg)%levels(1)%patches(ipatch)
224 bctype =
patch%bcType
225 IF ((bctype>=bc_regionconf .AND. bctype<=bc_regionconf+bc_range) .OR. &
226 (bctype>=bc_tra_peri .AND. bctype<=bc_tra_peri +bc_range) .OR. &
227 (bctype>=bc_rot_peri .AND. bctype<=bc_rot_peri +bc_range))
THEN
228 iregsrc =
patch%srcRegion
229 ipatchsrc =
patch%srcPatch
230 patchsrc => regions(iregsrc)%levels(1)%patches(ipatchsrc)
231 gridsrc => regions(iregsrc)%levels(1)%grid
233 IF (regions(iregsrc)%procid == global%myProcid)
THEN
235 patch,patchsrc,.true., &
236 grid%xyz,gridsrc%xyz )
249 DO ireg=1,global%nRegions
250 IF (regions(ireg)%procid==global%myProcid .AND. &
251 regions(ireg)%active==active .AND. &
252 regions(ireg)%mixtInput%moveGrid)
THEN
254 grid => regions(ireg)%levels(1)%grid
255 gridold => regions(ireg)%levels(1)%gridOld
257 DO ipatch=1,regions(ireg)%nPatches
258 patch => regions(ireg)%levels(1)%patches(ipatch)
259 bctype =
patch%bcType
260 IF ((bctype>=bc_regionconf .AND. bctype<=bc_regionconf+bc_range) .OR. &
261 (bctype>=bc_tra_peri .AND. bctype<=bc_tra_peri +bc_range) .OR. &
262 (bctype>=bc_rot_peri .AND. bctype<=bc_rot_peri +bc_range))
THEN
263 iregsrc =
patch%srcRegion
264 ipatchsrc =
patch%srcPatch
265 patchsrc => regions(iregsrc)%levels(1)%patches(ipatchsrc)
266 gridsrc => regions(iregsrc)%levels(1)%grid
268 IF (regions(iregsrc)%procid /= global%myProcid)
THEN
280 DO ireg=1,global%nRegions
281 IF (regions(ireg)%procid==global%myProcid .AND. &
282 regions(ireg)%active==active .AND. &
283 regions(ireg)%mixtInput%moveGrid)
THEN
290 DO ireg=1,global%nRegions
291 IF (regions(ireg)%procid==global%myProcid .AND. &
292 regions(ireg)%active==active .AND. &
293 regions(ireg)%mixtInput%moveGrid)
THEN
297 xyz => regions(ireg)%levels(1)%grid%xyz
298 xyzorig => regions(ireg)%levels(1)%gridOld%xyz
300 DO ijk=lbound(xyz,2),ubound(xyz,2)
301 xyz(xcoord,ijk) = xyz(xcoord,ijk) + xyzorig(xcoord,ijk)
302 xyz(ycoord,ijk) = xyz(ycoord,ijk) + xyzorig(ycoord,ijk)
303 xyz(zcoord,ijk) = xyz(zcoord,ijk) + xyzorig(zcoord,ijk)
346 #include "Indexing.h"
349 REAL(RFREAL) :: resid
350 TYPE(t_region
) :: region
353 INTEGER :: ijk,
i,
j,
k
358 REAL(RFREAL) ::
dx,
dy,
dz
359 REAL(RFREAL),
POINTER :: xyz(:,:), xyzold(:,:)
365 global => region%global
368 'RFLO_ModElliptSmoothing.F90' )
376 xyz => region%levels(1)%grid%xyz
377 xyzold => region%levels(1)%grid%xyzOld
400 ijk = indijk(
i,
j,
k,inoff,ijnoff)
401 dx = xyz(xcoord,ijk) - xyzold(xcoord,ijk)
402 dy = xyz(ycoord,ijk) - xyzold(ycoord,ijk)
403 dz = xyz(zcoord,ijk) - xyzold(zcoord,ijk)
439 #include "Indexing.h"
442 TYPE(t_region
) :: region
452 REAL(RFREAL),
POINTER :: xyz(:,:), xyzold(:,:)
457 'RFLO_ModElliptSmoothing.F90' )
467 xyz => region%levels(ilev)%grid%xyz
468 xyzold => region%levels(ilev)%grid%xyzOld
488 ijknb = indijk(
i,
j,
k,inoff,ijnoff)
489 xyz(xcoord,ijknb) = 0._rfreal
490 xyz(ycoord,ijknb) = 0._rfreal
491 xyz(zcoord,ijknb) = 0._rfreal
526 #include "Indexing.h"
529 TYPE(t_region
) :: region
535 INTEGER :: ilev, ijkn, inoff, ijnoff
539 REAL(RFREAL) :: di, dj, dk, rdi2, rdj2, rdk2, r2di, r2dj, r2dk,
q1, q2, q3
540 REAL(RFREAL) :: al11, al12, al13, al22, al23, al33
541 REAL(RFREAL) :: au11, au12, au13, au22, au23, au33
542 REAL(RFREAL),
POINTER :: stui(:,:), stuj(:,:), stuk(:,:), pmat(:,:,:)
543 REAL(RFREAL),
POINTER :: aijk(:), aimjk(:), aipjk(:), aijmk(:), aijpk(:)
544 REAL(RFREAL),
POINTER :: aijkm(:), aijkp(:), aimjmk(:), aipjmk(:)
545 REAL(RFREAL),
POINTER :: aimjpk(:), aipjpk(:), aimjkm(:), aipjkm(:)
546 REAL(RFREAL),
POINTER :: aimjkp(:), aipjkp(:), aijmkm(:), aijpkm(:)
547 REAL(RFREAL),
POINTER :: aijmkp(:), aijpkp(:)
553 global => region%global
556 'RFLO_ModElliptSmoothing.F90' )
567 stui => region%levels(ilev)%grid%stui
568 stuj => region%levels(ilev)%grid%stuj
569 stuk => region%levels(ilev)%grid%stuk
570 pmat => region%levels(ilev)%grid%pmat
572 aijk => region%levels(ilev)%grid%aijk
573 aimjk => region%levels(ilev)%grid%aimjk
574 aipjk => region%levels(ilev)%grid%aipjk
575 aijmk => region%levels(ilev)%grid%aijmk
576 aijpk => region%levels(ilev)%grid%aijpk
577 aijkm => region%levels(ilev)%grid%aijkm
578 aijkp => region%levels(ilev)%grid%aijkp
579 aimjmk => region%levels(ilev)%grid%aimjmk
580 aipjmk => region%levels(ilev)%grid%aipjmk
581 aimjpk => region%levels(ilev)%grid%aimjpk
582 aipjpk => region%levels(ilev)%grid%aipjpk
583 aimjkm => region%levels(ilev)%grid%aimjkm
584 aipjkm => region%levels(ilev)%grid%aipjkm
585 aimjkp => region%levels(ilev)%grid%aimjkp
586 aipjkp => region%levels(ilev)%grid%aipjkp
587 aijmkm => region%levels(ilev)%grid%aijmkm
588 aijpkm => region%levels(ilev)%grid%aijpkm
589 aijmkp => region%levels(ilev)%grid%aijmkp
590 aijpkp => region%levels(ilev)%grid%aijpkp
594 dk = 1._rfreal/(kpnend-
kpnbeg)
596 rdi2 = 1._rfreal/(di*di)
597 rdj2 = 1._rfreal/(dj*dj)
598 rdk2 = 1._rfreal/(dk*dk)
599 r2di = 1._rfreal/(2*di)
600 r2dj = 1._rfreal/(2*dj)
601 r2dk = 1._rfreal/(2*dk)
608 ijkn = indijk(
i ,
j ,
k ,inoff,ijnoff)
616 au11 = al22*al33 - al23*al23
617 au12 = al13*al23 - al12*al33
618 au13 = al12*al23 - al13*al22
619 au22 = al11*al33 - al13*al13
620 au23 = al13*al12 - al11*al23
621 au33 = al11*al22 - al12*al12
623 q1 = au11*pmat(xcoord,1,ijkn) + 2._rfreal*au12*pmat(xcoord,2,ijkn) + &
624 2._rfreal*au13*pmat(xcoord,3,ijkn) + au22*pmat(xcoord,4,ijkn) + &
625 2._rfreal*au23*pmat(xcoord,5,ijkn) + au33*pmat(xcoord,6,ijkn)
626 q2 = au11*pmat(ycoord,1,ijkn) + 2._rfreal*au12*pmat(ycoord,2,ijkn) + &
627 2._rfreal*au13*pmat(ycoord,3,ijkn) + au22*pmat(ycoord,4,ijkn) + &
628 2._rfreal*au23*pmat(ycoord,5,ijkn) + au33*pmat(ycoord,6,ijkn)
629 q3 = au11*pmat(zcoord,1,ijkn) + 2._rfreal*au12*pmat(zcoord,2,ijkn) + &
630 2._rfreal*au13*pmat(zcoord,3,ijkn) + au22*pmat(zcoord,4,ijkn) + &
631 2._rfreal*au23*pmat(zcoord,5,ijkn) + au33*pmat(zcoord,6,ijkn)
633 aijk( ijkn) = 2._rfreal*(au11*rdi2 + au22*rdj2 + au33*rdk2)
634 aimjk( ijkn) = au11*rdi2 -
q1*r2di
635 aipjk( ijkn) = au11*rdi2 +
q1*r2di
636 aijmk( ijkn) = au22*rdj2 - q2*r2dj
637 aijpk( ijkn) = au22*rdj2 + q2*r2dj
638 aijkm( ijkn) = au33*rdk2 - q3*r2dk
639 aijkp( ijkn) = au33*rdk2 + q3*r2dk
640 aimjmk(ijkn) = 2._rfreal*au12*r2di*r2dj
641 aipjmk(ijkn) = -2._rfreal*au12*r2di*r2dj
642 aimjpk(ijkn) = -2._rfreal*au12*r2di*r2dj
643 aipjpk(ijkn) = 2._rfreal*au12*r2di*r2dj
644 aimjkm(ijkn) = 2._rfreal*au13*r2di*r2dk
645 aipjkm(ijkn) = -2._rfreal*au13*r2di*r2dk
646 aimjkp(ijkn) = -2._rfreal*au13*r2di*r2dk
647 aipjkp(ijkn) = 2._rfreal*au13*r2di*r2dk
648 aijmkm(ijkn) = 2._rfreal*au23*r2dj*r2dk
649 aijpkm(ijkn) = -2._rfreal*au23*r2dj*r2dk
650 aijmkp(ijkn) = -2._rfreal*au23*r2dj*r2dk
651 aijpkp(ijkn) = 2._rfreal*au23*r2dj*r2dk
694 #include "Indexing.h"
697 TYPE(t_region
) :: region
707 REAL(RFREAL) :: di, dj, rdi2, rdj2, r2di, r2dj, pco, qco, rco, sco, tco
708 REAL(RFREAL),
POINTER :: sti(:,:,:), stj(:,:,:), pfun(:,:,:,:)
709 REAL(RFREAL),
POINTER :: aij(:,:), aimj(:,:), aipj(:,:), aijm(:,:), aijp(:,:)
710 REAL(RFREAL),
POINTER :: aimjm(:,:), aipjm(:,:), aimjp(:,:), aipjp(:,:)
716 global => region%global
719 'RFLO_ModElliptSmoothing.F90' )
740 di = 1._rfreal/(h1-1)
741 dj = 1._rfreal/(h2-1)
743 rdi2 = 1._rfreal/(di*di)
744 rdj2 = 1._rfreal/(dj*dj)
745 r2di = 1._rfreal/(2*di)
746 r2dj = 1._rfreal/(2*dj)
755 sco = pco*pfun(1,1,
i,
j) - 2._rfreal*qco*pfun(1,2,
i,
j) + rco*pfun(1,3,
i,
j)
756 tco = pco*pfun(2,1,
i,
j) - 2._rfreal*qco*pfun(2,2,
i,
j) + rco*pfun(2,3,
i,
j)
758 aij(
i,
j) = 2._rfreal*(pco*rdi2 + rco*rdj2)
759 aimj(
i,
j) = pco*rdi2 - sco*r2di
760 aipj(
i,
j) = pco*rdi2 + sco*r2di
761 aijm(
i,
j) = rco*rdj2 - tco*r2dj
762 aijp(
i,
j) = rco*rdj2 + tco*r2dj
763 aimjm(
i,
j) = -2._rfreal*qco*r2di*r2dj
764 aipjm(
i,
j) = 2._rfreal*qco*r2di*r2dj
765 aimjp(
i,
j) = 2._rfreal*qco*r2di*r2dj
766 aipjp(
i,
j) = -2._rfreal*qco*r2di*r2dj
808 #include "Indexing.h"
811 TYPE(t_region
) :: region
814 INTEGER ::
i,
j,
k, l
817 INTEGER :: ilev, inoff, ijnoff
819 INTEGER :: ijkn, imjkn, ipjkn, ijmkn, ijpkn, ijkmn, ijkpn
820 INTEGER :: imjmkn, ipjmkn, imjpkn, ipjpkn, imjkmn, ipjkmn, imjkpn, ipjkpn
821 INTEGER :: ijmkmn, ijpkmn, ijmkpn, ijpkpn
823 REAL(RFREAL) :: raijk
824 REAL(RFREAL),
POINTER :: aijk(:), aimjk(:), aipjk(:), aijmk(:), aijpk(:)
825 REAL(RFREAL),
POINTER :: aijkm(:), aijkp(:), aimjmk(:), aipjmk(:), aimjpk(:)
826 REAL(RFREAL),
POINTER :: aipjpk(:), aimjkm(:), aipjkm(:), aimjkp(:)
827 REAL(RFREAL),
POINTER :: aipjkp(:), aijmkm(:), aijpkm(:), aijmkp(:)
828 REAL(RFREAL),
POINTER :: aijpkp(:), xyz(:,:), xyzold(:,:)
834 global => region%global
837 'RFLO_ModElliptSmoothing.F90' )
846 aijk => region%levels(ilev)%grid%aijk
847 aimjk => region%levels(ilev)%grid%aimjk
848 aipjk => region%levels(ilev)%grid%aipjk
849 aijmk => region%levels(ilev)%grid%aijmk
850 aijpk => region%levels(ilev)%grid%aijpk
851 aijkm => region%levels(ilev)%grid%aijkm
852 aijkp => region%levels(ilev)%grid%aijkp
853 aimjmk => region%levels(ilev)%grid%aimjmk
854 aipjmk => region%levels(ilev)%grid%aipjmk
855 aimjpk => region%levels(ilev)%grid%aimjpk
856 aipjpk => region%levels(ilev)%grid%aipjpk
857 aimjkm => region%levels(ilev)%grid%aimjkm
858 aipjkm => region%levels(ilev)%grid%aipjkm
859 aimjkp => region%levels(ilev)%grid%aimjkp
860 aipjkp => region%levels(ilev)%grid%aipjkp
861 aijmkm => region%levels(ilev)%grid%aijmkm
862 aijpkm => region%levels(ilev)%grid%aijpkm
863 aijmkp => region%levels(ilev)%grid%aijmkp
864 aijpkp => region%levels(ilev)%grid%aijpkp
866 xyz => region%levels(ilev)%grid%xyz
867 xyzold => region%levels(ilev)%grid%xyzOld
874 ijkn = indijk(
i ,
j ,
k ,inoff,ijnoff)
875 imjkn = indijk(
i-1,
j ,
k ,inoff,ijnoff)
876 ipjkn = indijk(
i+1,
j ,
k ,inoff,ijnoff)
877 ijmkn = indijk(
i ,
j-1,
k ,inoff,ijnoff)
878 ijpkn = indijk(
i ,
j+1,
k ,inoff,ijnoff)
879 ijkmn = indijk(
i ,
j ,
k-1,inoff,ijnoff)
880 ijkpn = indijk(
i ,
j ,
k+1,inoff,ijnoff)
881 imjmkn = indijk(
i-1,
j-1,
k ,inoff,ijnoff)
882 ipjmkn = indijk(
i+1,
j-1,
k ,inoff,ijnoff)
883 imjpkn = indijk(
i-1,
j+1,
k ,inoff,ijnoff)
884 ipjpkn = indijk(
i+1,
j+1,
k ,inoff,ijnoff)
885 imjkmn = indijk(
i-1,
j ,
k-1,inoff,ijnoff)
886 ipjkmn = indijk(
i+1,
j ,
k-1,inoff,ijnoff)
887 imjkpn = indijk(
i-1,
j ,
k+1,inoff,ijnoff)
888 ipjkpn = indijk(
i+1,
j ,
k+1,inoff,ijnoff)
889 ijmkmn = indijk(
i ,
j-1,
k-1,inoff,ijnoff)
890 ijpkmn = indijk(
i ,
j+1,
k-1,inoff,ijnoff)
891 ijmkpn = indijk(
i ,
j-1,
k+1,inoff,ijnoff)
892 ijpkpn = indijk(
i ,
j+1,
k+1,inoff,ijnoff)
894 raijk = 1._rfreal/aijk(ijkn)
897 xyz(l,ijkn) = aimjk( ijkn)*xyzold(l, imjkn) + &
898 aipjk( ijkn)*xyzold(l, ipjkn) + &
899 aijmk( ijkn)*xyzold(l, ijmkn) + &
900 aijpk( ijkn)*xyzold(l, ijpkn) + &
901 aijkm( ijkn)*xyzold(l, ijkmn) + &
902 aijkp( ijkn)*xyzold(l, ijkpn) + &
903 aimjmk( ijkn)*xyzold(l,imjmkn) + &
904 aipjmk( ijkn)*xyzold(l,ipjmkn) + &
905 aimjpk( ijkn)*xyzold(l,imjpkn) + &
906 aipjpk( ijkn)*xyzold(l,ipjpkn) + &
907 aimjkm( ijkn)*xyzold(l,imjkmn) + &
908 aipjkm( ijkn)*xyzold(l,ipjkmn) + &
909 aimjkp( ijkn)*xyzold(l,imjkpn) + &
910 aipjkp( ijkn)*xyzold(l,ipjkpn) + &
911 aijmkm( ijkn)*xyzold(l,ijmkmn) + &
912 aijpkm( ijkn)*xyzold(l,ijpkmn) + &
913 aijmkp( ijkn)*xyzold(l,ijmkpn) + &
914 aijpkp( ijkn)*xyzold(l,ijpkpn)
915 xyz(l,ijkn) = xyz(l,ijkn)*raijk
949 #include "Indexing.h"
952 TYPE(t_region
) :: region
955 INTEGER ::
i,
j,
k, l
958 INTEGER :: ilev, inoff, ijnoff
960 INTEGER :: ijkn, imjkn, ipjkn, ijmkn, ijpkn, ijkmn, ijkpn
961 INTEGER :: imjmkn, ipjmkn, imjpkn, ipjpkn, imjkmn, ipjkmn, imjkpn, ipjkpn
962 INTEGER :: ijmkmn, ijpkmn, ijmkpn, ijpkpn
964 REAL(RFREAL) :: raijk
965 REAL(RFREAL),
POINTER :: aijk(:), aimjk(:), aipjk(:), aijmk(:), aijpk(:)
966 REAL(RFREAL),
POINTER :: aijkm(:), aijkp(:), aimjmk(:), aipjmk(:), aimjpk(:)
967 REAL(RFREAL),
POINTER :: aipjpk(:), aimjkm(:), aipjkm(:), aimjkp(:)
968 REAL(RFREAL),
POINTER :: aipjkp(:), aijmkm(:), aijpkm(:), aijmkp(:)
969 REAL(RFREAL),
POINTER :: aijpkp(:), xyz(:,:)
975 global => region%global
978 'RFLO_ModElliptSmoothing.F90' )
987 aijk => region%levels(ilev)%grid%aijk
988 aimjk => region%levels(ilev)%grid%aimjk
989 aipjk => region%levels(ilev)%grid%aipjk
990 aijmk => region%levels(ilev)%grid%aijmk
991 aijpk => region%levels(ilev)%grid%aijpk
992 aijkm => region%levels(ilev)%grid%aijkm
993 aijkp => region%levels(ilev)%grid%aijkp
994 aimjmk => region%levels(ilev)%grid%aimjmk
995 aipjmk => region%levels(ilev)%grid%aipjmk
996 aimjpk => region%levels(ilev)%grid%aimjpk
997 aipjpk => region%levels(ilev)%grid%aipjpk
998 aimjkm => region%levels(ilev)%grid%aimjkm
999 aipjkm => region%levels(ilev)%grid%aipjkm
1000 aimjkp => region%levels(ilev)%grid%aimjkp
1001 aipjkp => region%levels(ilev)%grid%aipjkp
1002 aijmkm => region%levels(ilev)%grid%aijmkm
1003 aijpkm => region%levels(ilev)%grid%aijpkm
1004 aijmkp => region%levels(ilev)%grid%aijmkp
1005 aijpkp => region%levels(ilev)%grid%aijpkp
1007 xyz => region%levels(ilev)%grid%xyz
1014 ijkn = indijk(
i ,
j ,
k ,inoff,ijnoff)
1015 imjkn = indijk(
i-1,
j ,
k ,inoff,ijnoff)
1016 ipjkn = indijk(
i+1,
j ,
k ,inoff,ijnoff)
1017 ijmkn = indijk(
i ,
j-1,
k ,inoff,ijnoff)
1018 ijpkn = indijk(
i ,
j+1,
k ,inoff,ijnoff)
1019 ijkmn = indijk(
i ,
j ,
k-1,inoff,ijnoff)
1020 ijkpn = indijk(
i ,
j ,
k+1,inoff,ijnoff)
1021 imjmkn = indijk(
i-1,
j-1,
k ,inoff,ijnoff)
1022 ipjmkn = indijk(
i+1,
j-1,
k ,inoff,ijnoff)
1023 imjpkn = indijk(
i-1,
j+1,
k ,inoff,ijnoff)
1024 ipjpkn = indijk(
i+1,
j+1,
k ,inoff,ijnoff)
1025 imjkmn = indijk(
i-1,
j ,
k-1,inoff,ijnoff)
1026 ipjkmn = indijk(
i+1,
j ,
k-1,inoff,ijnoff)
1027 imjkpn = indijk(
i-1,
j ,
k+1,inoff,ijnoff)
1028 ipjkpn = indijk(
i+1,
j ,
k+1,inoff,ijnoff)
1029 ijmkmn = indijk(
i ,
j-1,
k-1,inoff,ijnoff)
1030 ijpkmn = indijk(
i ,
j+1,
k-1,inoff,ijnoff)
1031 ijmkpn = indijk(
i ,
j-1,
k+1,inoff,ijnoff)
1032 ijpkpn = indijk(
i ,
j+1,
k+1,inoff,ijnoff)
1034 raijk = 1._rfreal/aijk(ijkn)
1036 DO l = xcoord,zcoord
1037 xyz(l,ijkn) = aimjk( ijkn)*xyz(l, imjkn) + &
1038 aipjk( ijkn)*xyz(l, ipjkn) + &
1039 aijmk( ijkn)*xyz(l, ijmkn) + &
1040 aijpk( ijkn)*xyz(l, ijpkn) + &
1041 aijkm( ijkn)*xyz(l, ijkmn) + &
1042 aijkp( ijkn)*xyz(l, ijkpn) + &
1043 aimjmk( ijkn)*xyz(l,imjmkn) + &
1044 aipjmk( ijkn)*xyz(l,ipjmkn) + &
1045 aimjpk( ijkn)*xyz(l,imjpkn) + &
1046 aipjpk( ijkn)*xyz(l,ipjpkn) + &
1047 aimjkm( ijkn)*xyz(l,imjkmn) + &
1048 aipjkm( ijkn)*xyz(l,ipjkmn) + &
1049 aimjkp( ijkn)*xyz(l,imjkpn) + &
1050 aipjkp( ijkn)*xyz(l,ipjkpn) + &
1051 aijmkm( ijkn)*xyz(l,ijmkmn) + &
1052 aijpkm( ijkn)*xyz(l,ijpkmn) + &
1053 aijmkp( ijkn)*xyz(l,ijmkpn) + &
1054 aijpkp( ijkn)*xyz(l,ijpkpn)
1055 xyz(l,ijkn) = xyz(l,ijkn)*raijk
1089 #include "Indexing.h"
1092 TYPE(t_region
) :: region
1095 INTEGER ::
i,
j,
k, l
1098 INTEGER :: ilev, inoff, ijnoff
1100 INTEGER :: ijkn, imjkn, ipjkn, ijmkn, ijpkn, ijkmn, ijkpn
1101 INTEGER :: imjmkn, ipjmkn, imjpkn, ipjpkn, imjkmn, ipjkmn, imjkpn, ipjkpn
1102 INTEGER :: ijmkmn, ijpkmn, ijmkpn, ijpkpn
1104 REAL(RFREAL) :: raijk, xyztemp, omega, omomg
1105 REAL(RFREAL),
POINTER :: aijk(:), aimjk(:), aipjk(:), aijmk(:), aijpk(:)
1106 REAL(RFREAL),
POINTER :: aijkm(:), aijkp(:), aimjmk(:), aipjmk(:), aimjpk(:)
1107 REAL(RFREAL),
POINTER :: aipjpk(:), aimjkm(:), aipjkm(:), aimjkp(:)
1108 REAL(RFREAL),
POINTER :: aipjkp(:), aijmkm(:), aijpkm(:), aijmkp(:)
1109 REAL(RFREAL),
POINTER :: aijpkp(:), xyz(:,:)
1115 global => region%global
1118 'RFLO_ModElliptSmoothing.F90' )
1127 aijk => region%levels(ilev)%grid%aijk
1128 aimjk => region%levels(ilev)%grid%aimjk
1129 aipjk => region%levels(ilev)%grid%aipjk
1130 aijmk => region%levels(ilev)%grid%aijmk
1131 aijpk => region%levels(ilev)%grid%aijpk
1132 aijkm => region%levels(ilev)%grid%aijkm
1133 aijkp => region%levels(ilev)%grid%aijkp
1134 aimjmk => region%levels(ilev)%grid%aimjmk
1135 aipjmk => region%levels(ilev)%grid%aipjmk
1136 aimjpk => region%levels(ilev)%grid%aimjpk
1137 aipjpk => region%levels(ilev)%grid%aipjpk
1138 aimjkm => region%levels(ilev)%grid%aimjkm
1139 aipjkm => region%levels(ilev)%grid%aipjkm
1140 aimjkp => region%levels(ilev)%grid%aimjkp
1141 aipjkp => region%levels(ilev)%grid%aipjkp
1142 aijmkm => region%levels(ilev)%grid%aijmkm
1143 aijpkm => region%levels(ilev)%grid%aijpkm
1144 aijmkp => region%levels(ilev)%grid%aijmkp
1145 aijpkp => region%levels(ilev)%grid%aijpkp
1147 xyz => region%levels(ilev)%grid%xyz
1152 omomg = 1._rfreal - omega
1157 ijkn = indijk(
i ,
j ,
k ,inoff,ijnoff)
1158 imjkn = indijk(
i-1,
j ,
k ,inoff,ijnoff)
1159 ipjkn = indijk(
i+1,
j ,
k ,inoff,ijnoff)
1160 ijmkn = indijk(
i ,
j-1,
k ,inoff,ijnoff)
1161 ijpkn = indijk(
i ,
j+1,
k ,inoff,ijnoff)
1162 ijkmn = indijk(
i ,
j ,
k-1,inoff,ijnoff)
1163 ijkpn = indijk(
i ,
j ,
k+1,inoff,ijnoff)
1164 imjmkn = indijk(
i-1,
j-1,
k ,inoff,ijnoff)
1165 ipjmkn = indijk(
i+1,
j-1,
k ,inoff,ijnoff)
1166 imjpkn = indijk(
i-1,
j+1,
k ,inoff,ijnoff)
1167 ipjpkn = indijk(
i+1,
j+1,
k ,inoff,ijnoff)
1168 imjkmn = indijk(
i-1,
j ,
k-1,inoff,ijnoff)
1169 ipjkmn = indijk(
i+1,
j ,
k-1,inoff,ijnoff)
1170 imjkpn = indijk(
i-1,
j ,
k+1,inoff,ijnoff)
1171 ipjkpn = indijk(
i+1,
j ,
k+1,inoff,ijnoff)
1172 ijmkmn = indijk(
i ,
j-1,
k-1,inoff,ijnoff)
1173 ijpkmn = indijk(
i ,
j+1,
k-1,inoff,ijnoff)
1174 ijmkpn = indijk(
i ,
j-1,
k+1,inoff,ijnoff)
1175 ijpkpn = indijk(
i ,
j+1,
k+1,inoff,ijnoff)
1177 raijk = 1._rfreal/aijk(ijkn)
1179 DO l = xcoord,zcoord
1180 xyztemp = aimjk( ijkn)*xyz(l, imjkn) + &
1181 aipjk( ijkn)*xyz(l, ipjkn) + &
1182 aijmk( ijkn)*xyz(l, ijmkn) + &
1183 aijpk( ijkn)*xyz(l, ijpkn) + &
1184 aijkm( ijkn)*xyz(l, ijkmn) + &
1185 aijkp( ijkn)*xyz(l, ijkpn) + &
1186 aimjmk( ijkn)*xyz(l,imjmkn) + &
1187 aipjmk( ijkn)*xyz(l,ipjmkn) + &
1188 aimjpk( ijkn)*xyz(l,imjpkn) + &
1189 aipjpk( ijkn)*xyz(l,ipjpkn) + &
1190 aimjkm( ijkn)*xyz(l,imjkmn) + &
1191 aipjkm( ijkn)*xyz(l,ipjkmn) + &
1192 aimjkp( ijkn)*xyz(l,imjkpn) + &
1193 aipjkp( ijkn)*xyz(l,ipjkpn) + &
1194 aijmkm( ijkn)*xyz(l,ijmkmn) + &
1195 aijpkm( ijkn)*xyz(l,ijpkmn) + &
1196 aijmkp( ijkn)*xyz(l,ijmkpn) + &
1197 aijpkp( ijkn)*xyz(l,ijpkpn)
1198 xyztemp = xyztemp*raijk
1199 xyz(l,ijkn) = omega*xyztemp+omomg*xyz(l,ijkn)
1234 #include "Indexing.h"
1237 TYPE(t_region
) :: region
1242 INTEGER ::
i,
j,
k, l, iter
1245 INTEGER :: ilev, lbound, h1, h2, ng1, ng2, ijkn
1248 REAL(RFREAL) :: raij,
dx,
dy,
dz, resid
1249 REAL(RFREAL),
POINTER :: aij(:,:), aimj(:,:), aipj(:,:), aijm(:,:), aijp(:,:)
1250 REAL(RFREAL),
POINTER :: aimjm(:,:), aipjm(:,:), aimjp(:,:), aipjp(:,:)
1251 REAL(RFREAL),
POINTER :: xyz(:,:), st(:,:,:), stold(:,:,:)
1257 global => region%global
1260 'RFLO_ModElliptSmoothing.F90' )
1265 lbound =
patch%lbound
1276 xyz => region%levels(ilev)%grid%xyz
1278 stold =>
patch%stOld
1285 aimjm =>
patch%aimjm
1286 aipjm =>
patch%aipjm
1287 aimjp =>
patch%aimjp
1288 aipjp =>
patch%aipjp
1295 ijkn = indijk(
i,
j,
k,inoff,ijnoff)
1296 IF (lbound==1 .OR. lbound==2)
THEN
1299 ELSE IF (lbound==3 .OR. lbound==4)
THEN
1302 ELSE IF (lbound==5 .OR. lbound==6)
THEN
1306 stold(1,ng1,ng2) = xyz(xcoord,ijkn)
1307 stold(2,ng1,ng2) = xyz(ycoord,ijkn)
1308 stold(3,ng1,ng2) = xyz(zcoord,ijkn)
1315 DO iter = 1,global%moveGridSiter
1324 raij = 1._rfreal/aij(
i,
j)
1327 st(l,
i,
j) = aimj(
i,
j)*stold(l,
i-1,
j ) + &
1328 aipj(
i,
j)*stold(l,
i+1,
j ) + &
1329 aijm(
i,
j)*stold(l,
i ,
j-1) + &
1330 aijp(
i,
j)*stold(l,
i ,
j+1) + &
1331 aimjm(
i,
j)*stold(l,
i-1,
j-1) + &
1332 aipjm(
i,
j)*stold(l,
i+1,
j-1) + &
1333 aimjp(
i,
j)*stold(l,
i-1,
j+1) + &
1334 aipjp(
i,
j)*stold(l,
i+1,
j+1)
1335 st(l,
i,
j) = st(l,
i,
j)*raij
1338 dx = st(1,
i,
j) - stold(1,
i,
j)
1339 dy = st(2,
i,
j) - stold(2,
i,
j)
1340 dz = st(3,
i,
j) - stold(3,
i,
j)
1356 ijkn = indijk(
i,
j,
k,inoff,ijnoff)
1357 IF (lbound==1 .OR. lbound==2)
THEN
1360 ELSE IF (lbound==3 .OR. lbound==4)
THEN
1363 ELSE IF (lbound==5 .OR. lbound==6)
THEN
1367 xyz(xcoord,ijkn) = st(1,ng1,ng2)
1368 xyz(ycoord,ijkn) = st(2,ng1,ng2)
1369 xyz(zcoord,ijkn) = st(3,ng1,ng2)
1405 #include "Indexing.h"
1408 TYPE(t_region
) :: region
1413 INTEGER ::
i,
j,
k, l, iter
1416 INTEGER :: ilev, lbound, h1, h2, ng1, ng2, ijkn
1419 REAL(RFREAL) :: raij,
dx,
dy,
dz, resid
1420 REAL(RFREAL),
POINTER :: aij(:,:), aimj(:,:), aipj(:,:), aijm(:,:), aijp(:,:)
1421 REAL(RFREAL),
POINTER :: aimjm(:,:), aipjm(:,:), aimjp(:,:), aipjp(:,:)
1422 REAL(RFREAL),
POINTER :: xyz(:,:), st(:,:,:), stold(:,:,:)
1428 global => region%global
1431 'RFLO_ModElliptSmoothing.F90' )
1436 lbound =
patch%lbound
1447 xyz => region%levels(ilev)%grid%xyz
1449 stold =>
patch%stOld
1456 aimjm =>
patch%aimjm
1457 aipjm =>
patch%aipjm
1458 aimjp =>
patch%aimjp
1459 aipjp =>
patch%aipjp
1466 ijkn = indijk(
i,
j,
k,inoff,ijnoff)
1467 IF (lbound==1 .OR. lbound==2)
THEN
1470 ELSE IF (lbound==3 .OR. lbound==4)
THEN
1473 ELSE IF (lbound==5 .OR. lbound==6)
THEN
1477 st(1,ng1,ng2) = xyz(xcoord,ijkn)
1478 st(2,ng1,ng2) = xyz(ycoord,ijkn)
1479 st(3,ng1,ng2) = xyz(zcoord,ijkn)
1486 DO iter = 1,global%moveGridSiter
1497 raij = 1._rfreal/aij(
i,
j)
1500 st(l,
i,
j) = aimj(
i,
j)*st(l,
i-1,
j ) + &
1501 aipj(
i,
j)*st(l,
i+1,
j ) + &
1502 aijm(
i,
j)*st(l,
i ,
j-1) + &
1503 aijp(
i,
j)*st(l,
i ,
j+1) + &
1504 aimjm(
i,
j)*st(l,
i-1,
j-1) + &
1505 aipjm(
i,
j)*st(l,
i+1,
j-1) + &
1506 aimjp(
i,
j)*st(l,
i-1,
j+1) + &
1507 aipjp(
i,
j)*st(l,
i+1,
j+1)
1508 st(l,
i,
j) = st(l,
i,
j)*raij
1511 dx = st(1,
i,
j) - stold(1,
i,
j)
1512 dy = st(2,
i,
j) - stold(2,
i,
j)
1513 dz = st(3,
i,
j) - stold(3,
i,
j)
1527 ijkn = indijk(
i,
j,
k,inoff,ijnoff)
1528 IF (lbound==1 .OR. lbound==2)
THEN
1531 ELSE IF (lbound==3 .OR. lbound==4)
THEN
1534 ELSE IF (lbound==5 .OR. lbound==6)
THEN
1538 xyz(xcoord,ijkn) = st(1,ng1,ng2)
1539 xyz(ycoord,ijkn) = st(2,ng1,ng2)
1540 xyz(zcoord,ijkn) = st(3,ng1,ng2)
1576 #include "Indexing.h"
1579 TYPE(t_region
) :: region
1584 INTEGER ::
i,
j,
k, l, iter
1587 INTEGER :: ilev, lbound, h1, h2, ng1, ng2, ijkn
1590 REAL(RFREAL) :: raij, stemp, omega, omomg,
dx,
dy,
dz, resid
1591 REAL(RFREAL),
POINTER :: aij(:,:), aimj(:,:), aipj(:,:), aijm(:,:), aijp(:,:)
1592 REAL(RFREAL),
POINTER :: aimjm(:,:), aipjm(:,:), aimjp(:,:), aipjp(:,:)
1593 REAL(RFREAL),
POINTER :: xyz(:,:), st(:,:,:), stold(:,:,:)
1599 global => region%global
1602 'RFLO_ModElliptSmoothing.F90' )
1607 omomg = 1._rfreal - omega
1610 lbound =
patch%lbound
1621 xyz => region%levels(ilev)%grid%xyz
1623 stold =>
patch%stOld
1630 aimjm =>
patch%aimjm
1631 aipjm =>
patch%aipjm
1632 aimjp =>
patch%aimjp
1633 aipjp =>
patch%aipjp
1640 ijkn = indijk(
i,
j,
k,inoff,ijnoff)
1641 IF (lbound==1 .OR. lbound==2)
THEN
1644 ELSE IF (lbound==3 .OR. lbound==4)
THEN
1647 ELSE IF (lbound==5 .OR. lbound==6)
THEN
1651 st(1,ng1,ng2) = xyz(xcoord,ijkn)
1652 st(2,ng1,ng2) = xyz(ycoord,ijkn)
1653 st(3,ng1,ng2) = xyz(zcoord,ijkn)
1660 DO iter = 1,global%moveGridSiter
1671 raij = 1._rfreal/aij(
i,
j)
1674 stemp = aimj(
i,
j)*st(l,
i-1,
j ) + &
1675 aipj(
i,
j)*st(l,
i+1,
j ) + &
1676 aijm(
i,
j)*st(l,
i ,
j-1) + &
1677 aijp(
i,
j)*st(l,
i ,
j+1) + &
1678 aimjm(
i,
j)*st(l,
i-1,
j-1) + &
1679 aipjm(
i,
j)*st(l,
i+1,
j-1) + &
1680 aimjp(
i,
j)*st(l,
i-1,
j+1) + &
1681 aipjp(
i,
j)*st(l,
i+1,
j+1)
1683 st(l,
i,
j) = omega*stemp+omomg*st(l,
i,
j)
1686 dx = st(1,
i,
j) - stold(1,
i,
j)
1687 dy = st(2,
i,
j) - stold(2,
i,
j)
1688 dz = st(3,
i,
j) - stold(3,
i,
j)
1702 ijkn = indijk(
i,
j,
k,inoff,ijnoff)
1703 IF (lbound==1 .OR. lbound==2)
THEN
1706 ELSE IF (lbound==3 .OR. lbound==4)
THEN
1709 ELSE IF (lbound==5 .OR. lbound==6)
THEN
1713 xyz(xcoord,ijkn) = st(1,ng1,ng2)
1714 xyz(ycoord,ijkn) = st(2,ng1,ng2)
1715 xyz(zcoord,ijkn) = st(3,ng1,ng2)
subroutine, public rflo_elliptgridsmoo(regions, resid)
**********************************************************************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_copygeometrydummy(region)
**********************************************************************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 jpnbeg
subroutine, public rflo_elliptgridsmooregion(region, resid)
subroutine rflo_calccellcentroids(region)
subroutine, public rflo_elliptgridsor2d(region, patch, iPatch)
**********************************************************************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 kpnbeg
subroutine registerfunction(global, funName, fileName)
subroutine, public rflo_elliptgridjac2d(region, patch, iPatch)
subroutine rflo_exchangednoderecv(region, regionSrc, patch, patchSrc, average, dNode)
subroutine rflo_changeinteriorgrid(region, boundMoved, edgeMoved, arcLen12, arcLen34, arcLen56, xyzOld, xyz)
subroutine, public rflo_gridphysgrad2d(region, patch)
**********************************************************************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 jdnbeg
**********************************************************************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 jpnend
**********************************************************************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 idnend
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 jdnend
**********************************************************************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 idnbeg
subroutine, public rflo_gridphysgrad3d(region)
**********************************************************************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
subroutine rflo_calcfacevectors(region)
subroutine, public rflo_elliptgridgauss3d(region)
subroutine, public rflo_elliptgridpatch(region, patch)
subroutine, public rflo_elliptmatrixcoeffs3d(region)
subroutine rflo_exchangegeometry(regions)
subroutine, public rflo_elliptgridsor3d(region)
subroutine rflo_generatecoarsegrids(region)
subroutine rflo_getpatchindicesnodes(region, patch, iLev, ibeg, iend, jbeg, jend, kbeg, kend)
**********************************************************************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 ipnbeg
subroutine, public rflo_elliptgridjac3d(region)
subroutine rflo_clearsendrequests(regions, iReg, geometry)
subroutine rflo_getdimensphysnodes(region, iLev, ipnbeg, ipnend, jpnbeg, jpnend, kpnbeg, kpnend)
**********************************************************************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
subroutine rflo_exchangednodecopy(region, regionSrc, patch, patchSrc, average, dNode, dNodeSrc)
subroutine rflo_getdimensdummynodes(region, iLev, idnbeg, idnend, jdnbeg, jdnend, kdnbeg, kdnend)
subroutine, public rflo_elliptmatrixcoeffs2d(region, patch, iPatch)
**********************************************************************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
long double dot_product(pnt vec1, pnt vec2)
**********************************************************************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 ipnend
subroutine rflo_exchangednodesend(region, regionSrc, patch, dNode)
subroutine, public rflo_elliptgridgauss2d(region, patch, iPatch)
**********************************************************************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 kdnbeg
subroutine rflo_calcfacecentroids(region)