9 CALL copy (w3m1,w2am1,lx1*ly1)
11 CALL copy (w3m1,w2cm1,lx1*ly1)
24 CALL copy (w3m2,w2am2,lx2*ly2)
26 CALL copy (w3m2,w2cm2,lx2*ly2)
39 common /screv/ ei2(lx1,ly1,lz1,lelt)
40 $ , ei3(lx1,ly1,lz1,lelt)
41 common /ctmp1/ exx(lx1,ly1,lz1,lelt)
42 $ , exy(lx1,ly1,lz1,lelt)
43 $ , eyy(lx1,ly1,lz1,lelt)
44 $ , ezz(lx1,ly1,lz1,lelt)
45 common /ctmp0/ exz(lx1,ly1,lz1,lelt)
46 $ , eyz(lx1,ly1,lz1,lelt)
48 ntot1 = lx1*ly1*lz1*nelv
49 CALL rzero (ei2,ntot1)
50 CALL rzero (ei3,ntot1)
51 IF (istep.EQ.0)
RETURN
54 CALL stnrate (vx,vy,vz,nelv,matmod)
57 CALL col3 (ei2,exx,eyy,ntot1)
58 CALL subcol3 (ei2,exy,exy,ntot1)
59 CALL rzero (ei3,ntot1)
62 CALL col4 (ei3,exx,eyy,ezz,ntot1)
63 CALL col4 (ei2,exy,exz,eyz,ntot1)
64 CALL add2s2 (ei3,ei2,const,ntot1)
65 CALL subcol4 (ei3,exx,eyz,eyz,ntot1)
66 CALL subcol4 (ei3,eyy,exz,exz,ntot1)
67 CALL subcol4 (ei3,ezz,exy,exy,ntot1)
68 CALL col3 (ei2,exx,eyy,ntot1)
69 CALL addcol3 (ei2,exx,ezz,ntot1)
70 CALL addcol3 (ei2,eyy,ezz,ntot1)
71 CALL subcol3 (ei2,exy,exy,ntot1)
72 CALL subcol3 (ei2,exz,exz,ntot1)
73 CALL subcol3 (ei2,eyz,eyz,ntot1)
79 SUBROUTINE opdot (DP,A1,A2,A3,B1,B2,B3,N)
83 dimension dp(lx1,ly1,lz1,1)
92 CALL vdot2 (dp,a1,a2,b1,b2,n)
94 CALL vdot3 (dp,a1,a2,a3,b1,b2,b3,n)
100 SUBROUTINE opadds (A1,A2,A3,B1,B2,B3,CONST,N,ISC)
104 dimension a1(lx1,ly1,lz1,1)
105 $ , a2(lx1,ly1,lz1,1)
106 $ , a3(lx1,ly1,lz1,1)
107 $ , b1(lx1,ly1,lz1,1)
108 $ , b2(lx1,ly1,lz1,1)
109 $ , b3(lx1,ly1,lz1,1)
112 CALL add2s1 (a1,b1,const,n)
113 CALL add2s1 (a2,b2,const,n)
114 IF (ldim.EQ.3)
CALL add2s1 (a3,b3,const,n)
115 ELSEIF (isc.EQ.2)
THEN
116 CALL add2s2 (a1,b1,const,n)
117 CALL add2s2 (a2,b2,const,n)
118 IF (ldim.EQ.3)
CALL add2s2 (a3,b3,const,n)
140 dimension a(lx1,ly1),b(lx1,ly1,lz1)
142 CALL dsset(lx1,ly1,lz1)
143 iface = eface1(iface1)
144 js1 = skpdat(1,iface)
145 jf1 = skpdat(2,iface)
146 jskip1 = skpdat(3,iface)
147 js2 = skpdat(4,iface)
148 jf2 = skpdat(5,iface)
149 jskip2 = skpdat(6,iface)
153 DO 100 j2=js2,jf2,jskip2
154 DO 100 j1=js1,jf1,jskip1
159 DO 150 j2=js2,jf2,jskip2
160 DO 150 j1=js1,jf1,jskip1
169 SUBROUTINE facexv (A1,A2,A3,B1,B2,B3,IFACE1,IOP)
185 dimension a1(lx1,ly1),a2(lx1,ly1),a3(lx1,ly1),
186 $ b1(lx1,ly1,lz1),b2(lx1,ly1,lz1),b3(lx1,ly1,lz1)
188 CALL dsset(lx1,ly1,lz1)
189 iface = eface1(iface1)
190 js1 = skpdat(1,iface)
191 jf1 = skpdat(2,iface)
192 jskip1 = skpdat(3,iface)
193 js2 = skpdat(4,iface)
194 jf2 = skpdat(5,iface)
195 jskip2 = skpdat(6,iface)
199 DO 100 j2=js2,jf2,jskip2
200 DO 100 j1=js1,jf1,jskip1
202 a1(i,1) = b1(j1,j2,1)
203 a2(i,1) = b2(j1,j2,1)
204 a3(i,1) = b3(j1,j2,1)
207 DO 150 j2=js2,jf2,jskip2
208 DO 150 j1=js1,jf1,jskip1
210 b1(j1,j2,1) = a1(i,1)
211 b2(j1,j2,1) = a2(i,1)
212 b3(j1,j2,1) = a3(i,1)
231 dimension a1(lx1,ly1,lz1),a2(lx1,ly1,lz1),a3(lx1,ly1,lz1),
232 $ b1(lx1,ly1),b2(lx1,ly1),b3(lx1,ly1)
234 CALL dsset(lx1,ly1,lz1)
235 iface = eface1(iface1)
236 js1 = skpdat(1,iface)
237 jf1 = skpdat(2,iface)
238 jskip1 = skpdat(3,iface)
239 js2 = skpdat(4,iface)
240 jf2 = skpdat(5,iface)
241 jskip2 = skpdat(6,iface)
244 DO 100 j2=js2,jf2,jskip2
245 DO 100 j1=js1,jf1,jskip1
247 a1(j1,j2,1) = a1(j1,j2,1) - b1(i,1)
248 a2(j1,j2,1) = a2(j1,j2,1) - b2(i,1)
249 a3(j1,j2,1) = a3(j1,j2,1) - b3(i,1)
269 common /scrmg/ ae1(lx1,ly1,lz1,lelv)
270 $ , ae2(lx1,ly1,lz1,lelv)
271 $ , ae3(lx1,ly1,lz1,lelv)
272 common /scruz/ e1(lx1,ly1,lz1,lelv)
273 $ , e2(lx1,ly1,lz1,lelv)
274 $ , e3(lx1,ly1,lz1,lelv)
276 dimension h1(lx1,ly1,lz1,1),h2(lx1,ly1,lz1,1)
278 ntot1 = lx1*ly1*lz1*nelv
286 CALL copy (e1,ev1,ntot1)
287 CALL copy (e2,ev2,ntot1)
288 IF (ldim.EQ.3)
CALL copy (e3,ev3,ntot1)
295 CALL axhmsf (ae1,ae2,ae3,e1,e2,e3,h1,h2,matmod)
296 CALL rmask (ae1,ae2,ae3,nelv)
300 evnew =
glsc3(e1,ae1,vmult,ntot1) +
glsc3(e2,ae2,vmult,ntot1)
301 IF (ldim.EQ.3) evnew = evnew +
glsc3(e3,ae3,vmult,ntot1)
302 crit = abs( (evnew - evold)/evnew )
303 IF ( crit .LT. tolev )
GOTO 2000
305 CALL col3 (e1,binvm1,ae1,ntot1)
306 CALL col3 (e2,binvm1,ae2,ntot1)
307 IF (ldim.EQ.3)
CALL col3 (e3,binvm1,ae3,ntot1)
308 xx =
glsc3(e1,ae1,vmult,ntot1) +
glsc3(e2,ae2,vmult,ntot1)
309 IF (ldim.EQ.3) xx = xx +
glsc3(e3,ae3,vmult,ntot1)
310 IF (xx .LT. 0.0)
GO TO 9000
313 CALL cmult (e1,xnorm,ntot1)
314 CALL cmult (e2,xnorm,ntot1)
315 IF (ldim.EQ.3)
CALL cmult (e3,xnorm,ntot1)
324 CALL copy (ev1,e1,ntot1)
325 CALL copy (ev2,e2,ntot1)
326 IF (ldim.EQ.3)
CALL copy (ev3,e3,ntot1)
333 $
WRITE ( 6,*)
' Non +ve def. A-operator detected during eigenvalue
334 $computation : tran(x)Ax =',xx
349 dimension a(1),b(1),c(1)
364 IF (iftran.AND.istep.LT.9)
RETURN
372 $
' Emergency exit:',istep,
' time =',time
374 $
' Latest solution and data are dumped for post-processing.'
375 WRITE (6,*)
' *** STOP ***'
379 $
' Emergency exit:',istep,
' time =',time
381 $
' Latest solution and data are dumped for post-processing.'
382 WRITE (6,*)
' *** STOP ***'
403 dimension a1(lx1,ly1,lz1),a2(lx1,ly1,lz1),a3(lx1,ly1,lz1),
408 CALL dsset(lx1,ly1,lz1)
409 iface = eface1(iface1)
410 js1 = skpdat(1,iface)
411 jf1 = skpdat(2,iface)
412 jskip1 = skpdat(3,iface)
413 js2 = skpdat(4,iface)
414 jf2 = skpdat(5,iface)
415 jskip2 = skpdat(6,iface)
419 DO 100 j2=js2,jf2,jskip2
420 DO 100 j1=js1,jf1,jskip1
422 a1(j1,j2,1) = a1(j1,j2,1)*b(i,1)
423 a2(j1,j2,1) = a2(j1,j2,1)*b(i,1)
426 DO 200 j2=js2,jf2,jskip2
427 DO 200 j1=js1,jf1,jskip1
429 a1(j1,j2,1) = a1(j1,j2,1)*b(i,1)
430 a2(j1,j2,1) = a2(j1,j2,1)*b(i,1)
431 a3(j1,j2,1) = a3(j1,j2,1)*b(i,1)
448 common /scrmg/ ae1(lx1,ly1,lz1,lelv)
449 $ , ae2(lx1,ly1,lz1,lelv)
450 $ , ae3(lx1,ly1,lz1,lelv)
451 common /scruz/ e1(lx1,ly1,lz1,lelv)
452 $ , e2(lx1,ly1,lz1,lelv)
453 $ , e3(lx1,ly1,lz1,lelv)
455 ntot1 = lx1*ly1*lz1*nelv
456 CALL rzero3 (e1 ,e2 ,e3 ,ntot1)
457 CALL rzero3 (ae1,ae2,ae3,ntot1)
459 CALL copy (e1,bm1,ntot1)
460 CALL copy (e2,bm1,ntot1)
461 IF (ldim.EQ.3)
CALL copy (e3,bm1,ntot1)
463 CALL rmask (e1,e2,e3,nelv)
464 CALL col3 (ae1,bm1,e1,ntot1)
465 CALL col3 (ae2,bm1,e2,ntot1)
466 IF (ldim.EQ.3)
CALL col3 (ae3,bm1,e3,ntot1)
470 xx =
glsc3(e1,ae1,vmult,ntot1) +
glsc3(e2,ae2,vmult,ntot1)
471 IF (ldim.EQ.3) xx = xx +
glsc3(e3,ae3,vmult,ntot1)
473 CALL cmult (e1,xnorm,ntot1)
474 CALL cmult (e2,xnorm,ntot1)
475 IF (ldim.EQ.3)
CALL cmult (e3,xnorm,ntot1)
494 CALL vsoln (vx(i,j,k,iel),vy(i,j,k,iel),vz(i,j,k,iel),
495 $ xm1(i,j,k,iel),ym1(i,j,k,iel),zm1(i,j,k,iel),pi)
501 SUBROUTINE vsoln (UX,UY,UZ,X,Y,Z,PI)
530 CALL prsoln (pr(i,j,k,iel),xm2(i,j,k,iel),ym2(i,j,k,iel),
553 dimension ta(lx1,ly1,lz1,lelt)
560 WRITE (21,*)
'ELEMENT NUMBER ',iel
561 DO 101 ipl=lz1i,lz1j,lz1inc
562 CALL outm1 (ta,a,lz1,iel,ipl)
575 dimension ta(lx1,ly1,lz1,lelt)
583 WRITE (21,*)
'ELEMENT NUMBER ',iel
584 DO 101 ipl=lz1i,lz1j,lz1inc
585 CALL outm1 (ta,a,lz1,iel,ipl)
594 dimension x(lx1,lz1,6,lelt)
605 WRITE(21,106) txt,ifc,nface
606 DO 100 j=nzi,nzj,nzinc
607 WRITE(21,105) (x(i,j,ifc,iel),i=nxi,nxj,nxinc)
611 106
FORMAT(///,5x,
' ^ ',/,
614 $ 5x,
' +----> ',
'Plane = ',i2,
'/',i2,/,
622 dimension x(lx1,ly1,lz1,lelt)
632 WRITE(6,106) txt,ip,np
633 DO 100 j=nyi,nyj,nyinc
634 WRITE(6,105) (x(i,j,ip,iel),i=nxi,nxj,nxinc)
639 106
FORMAT(///,5x,
' ^ ',/,
642 $ 5x,
' +----> ',
'Plane = ',i2,
'/',i2,/,
650 dimension x(lx2,ly2,lz2,lelv)
660 WRITE(21,106) txt,ip,np
661 DO 100 j=nyi,nyj,nyinc
662 WRITE(21,105) (x(i,j,ip,iel),i=nxi,nxj,nxinc)
666 106
FORMAT(///,5x,
' ^ ',/,
669 $ 5x,
' +----> ',
'Plane = ',i2,
'/',i2,/,
681 common /screv/ hfmask(lx1,lz1,6,lelt)
682 $ , hvmask(lx1,ly1,lz1,lelt)
684 dimension c1mask(lx1,ly1,lz1,1)
685 $ , c2mask(lx1,ly1,lz1,1)
686 $ , c3mask(lx1,ly1,lz1,1)
694 IF (imdata.EQ.0)
THEN
699 IF (ifld.EQ.1)
CALL skipcnr (nel)
700 CALL sethmsk (hvmask,hfmask,ifld,nel)
701 CALL setmlog (hvmask,hfmask,ifld,nel)
702 CALL setmask (c1mask,c2mask,c3mask,hvmask,nel)
703 IF (iflmsf(ifld))
CALL setcsys (hvmask,hfmask,nel)
704 IF (ifld.EQ.0)
CALL fixwmsk (c2mask,c3mask,hvmask,hfmask,nel)
706 if (ifaxis.and.ifld.eq.1)
call fixmska (c1mask,c2mask,c3mask)
716 common /screv/ hfmask(lx1,lz1,6,lelt)
717 $ , hvmask(lx1,ly1,lz1,lelt)
719 IF (.NOT.iflmsf(ifld))
RETURN
722 CALL sethmsk (hvmask,hfmask,ifld,nel)
723 CALL setcsys (hvmask,hfmask,nel)
734 dimension hvmask(lx1,ly1,lz1,1)
735 $ , hfmask(lx1,lz1,6,1)
738 ntot1 = lx1*ly1*lz1*nel
743 CALL cfill (hvmask,const,ntot1)
744 CALL cfill (hfmask,const,ntotf)
751 IF (cb.EQ.
'ON ' .OR. cb.EQ.
'on ' .or.
752 $ cb.EQ.
'MM ' .OR. cb.EQ.
'mm ' )
THEN
753 CALL facev (hvmask,iel,ifc,3.0,lx1,ly1,lz1)
754 CALL cfill (hfmask(1,1,ifc,iel),3.0,nxz1)
761 IF (cb.EQ.
'SYM' .OR. cb.EQ.
'A ' .OR. cb.EQ.
'WS ' .OR.
762 $ cb.EQ.
'ws ' .OR. cb.EQ.
'WSL' .OR. cb.EQ.
'wsl' .OR.
763 $ cb.EQ.
'SH ' .OR. cb.EQ.
'sh ' .OR. cb.EQ.
'SHL' .OR.
765 CALL facev (hvmask,iel,ifc,2.0,lx1,ly1,lz1)
766 CALL cfill (hfmask(1,1,ifc,iel),2.0,nxz1)
773 IF (cb.EQ.
'MF ' .OR. cb.EQ.
'V ' .OR. cb.EQ.
'v ' .OR.
774 $ cb.EQ.
'VL ' .OR. cb.EQ.
'vl ' .OR. cb(1:2).EQ.
'mv')
THEN
775 CALL facev (hvmask,iel,ifc,1.0,lx1,ly1,lz1)
776 CALL cfill (hfmask(1,1,ifc,iel),1.0,nxz1)
784 CALL facev (hvmask,iel,ifc,0.0,lx1,ly1,lz1)
785 CALL cfill (hfmask(1,1,ifc,iel),0.0,nxz1)
794 IF (cb.EQ.
'SYM')
THEN
795 CALL facev (hvmask,iel,ifc,2.0,lx1,ly1,lz1)
796 CALL cfill (hfmask(1,1,ifc,iel),2.0,nxz1)
804 IF (cb(1:1).EQ.
'M' .OR. cb(1:1).EQ.
'm')
THEN
807 CALL facev (hvmask,iel,ifc,2.0,lx1,ly1,lz1)
808 CALL cfill (hfmask(1,1,ifc,iel),2.0,nxz1)
815 IF (cb.EQ.
'FIX')
THEN
816 CALL facev (hvmask,iel,ifc,0.0,lx1,ly1,lz1)
817 CALL cfill (hfmask(1,1,ifc,iel),0.0,nxz1)
823 CALL dsop (hvmask,
'MNA',lx1,ly1,lz1)
833 common /indxfc/ mcrfc(4,6)
848 CALL lfalse (ifnskp,nmxcr)
852 IF (cdof(ifc,iel).EQ.
'1')
THEN
854 ifnskp(icr,iel)=.true.
855 ELSEIF (cdof(ifc,iel).EQ.
'2')
THEN
857 ifnskp(icr,iel)=.true.
858 ELSEIF (cdof(ifc,iel).EQ.
'3')
THEN
860 ifnskp(icr,iel)=.true.
861 ELSEIF (cdof(ifc,iel).EQ.
'4')
THEN
863 ifnskp(icr,iel)=.true.
865 IF (cdof(ifc,iel).EQ.
'*')
THEN
868 ifnskp(icr,iel)=.true.
876 SUBROUTINE setmask (C1MASK,C2MASK,C3MASK,HVMASK,NEL)
881 dimension hvmask(lx1,ly1,lz1,1)
882 $ , c1mask(lx1,ly1,lz1,1)
883 $ , c2mask(lx1,ly1,lz1,1)
884 $ , c3mask(lx1,ly1,lz1,1)
886 ntot1 = lx1*ly1*lz1*nel
887 CALL rzero3 (c1mask,c2mask,c3mask,ntot1)
893 hmv=abs( hvmask(ix,iy,iz,iel) )
894 IF (hmv .GT. 2.9)
THEN
895 c1mask(ix,iy,iz,iel) = 1.0
897 IF ((hmv.GT.1.9 .AND. hmv.LT.2.1) .OR. hmv.GT.4.9)
THEN
898 c2mask(ix,iy,iz,iel) = 1.0
902 IF (ldim.EQ.3)
CALL copy (c3mask,c2mask,ntot1)
911 common /indxfc/ mcrfc(4,6)
923 dimension hvmask(lx1,ly1,lz1,1)
924 $ , hfmask(lx1,lz1,6,1)
934 iflmsf(ifld) = .false.
935 iflmse(ifld) = .false.
936 iflmsc(ifld) = .false.
937 CALL lfalse (ifmsfc(1,1,ifld),ntotf)
938 CALL lfalse (ifmseg(1,1,ifld),ntots)
939 CALL lfalse (ifmscr(1,1,ifld),ntotc)
943 hmf = abs( hfmask(1,1,ifc,iel) )
944 IF (hmf .GT. 1.9 .AND. hmf .LT. 3.1 )
THEN
945 iflmsf(ifld) = .true.
946 ifmsfc(ifc,iel,ifld) = .true.
949 CALL gllog(iflmsf(ifld),.true.)
957 hmv = abs( hvmask(ix,iy,iz,iel) )
958 IF (hmv .LT. 1.9 .OR. hmv .GT. 3.1)
GOTO 200
962 hmf = abs( hfmask(1,1,ifc,iel) )
963 IF (abs(hmv - hmf) .GT. epsa) idiff=idiff + 1
966 iflmse(ifld) = .true.
967 ifmseg(isd,iel,ifld) = .true.
970 CALL gllog(iflmse(ifld),.true.)
978 hmv = abs( hvmask(ix,iy,iz,iel) )
979 IF (hmv .LT. 1.9 .OR. hmv .GT. 3.1)
GOTO 300
983 hmf = abs( hfmask(1,1,ifc,iel) )
984 IF (abs(hmv - hmf) .GT. epsa) idiff=idiff + 1
992 hms = abs( hvmask(ixs,iys,izs,iel) )
993 IF (abs(hmv - hms) .GT. epsa) idiff=idiff + 1
996 IF ( (ldim.EQ.2 .AND. idiff.EQ.2) .OR.
997 $ (ldim.EQ.3 .AND. idiff.EQ.6) )
THEN
998 iflmsc(ifld) = .true.
999 ifmscr(icr,iel,ifld) = .true.
1002 CALL gllog(iflmsc(ifld),.true.)
1012 dimension hvmask(lx1,ly1,lz1,1)
1013 $ , hfmask(lx1,lz1,6,1)
1016 ntot1 = lx1*ly1*lz1*nel
1018 CALL rzero3 (vnx,vny,vnz,ntot1)
1019 CALL rzero3 (v1x,v1y,v1z,ntot1)
1020 CALL rzero3 (v2x,v2y,v2z,ntot1)
1024 hmf = abs( hfmask(1,1,ifc,iel) )
1025 IF (hmf .GT. 1.9 .AND. hmf .LT. 3.1)
1026 $
CALL facexv(unx(1,1,ifc,iel),uny(1,1,ifc,iel),unz(1,1,ifc,iel),
1027 $ vnx(1,1,1,iel),vny(1,1,1,iel),vnz(1,1,1,iel),ifc,1)
1031 CALL comavn2 (hvmask,hfmask,nel)
1033 CALL comavn3 (hvmask,hfmask,nel)
1043 common /indxfc/ mcrfc(4,6)
1055 dimension hvmask(lx1,ly1,lz1,1)
1056 $ , hfmask(lx1,lz1,6,1)
1058 ntot1 = lx1*ly1*lz1*nel
1062 CALL rzero (vnz,ntot1)
1069 hmv = abs( hvmask(ix,iy,iz,iel) )
1070 IF (hmv .LT. 1.9 .OR. hmv .GT. 3.1)
GOTO 100
1071 vnx(ix,iy,iz,iel) = 0.0
1072 vny(ix,iy,iz,iel) = 0.0
1077 IF (ifnskp(icr,iel))
GOTO 200
1080 hmv = abs( hvmask(ix,iy,iz,iel) )
1081 IF (hmv .LT. 1.9 .OR. hmv .GT. 3.1)
GOTO 200
1084 hmf = abs( hfmask(1,1,ifc,iel) )
1085 IF (abs(hmv - hmf) .LT. epsa)
THEN
1087 vnx(ix,iy,iz,iel)=vnx(ix,iy,iz,iel) + unx(ir,iz,ifc,iel)
1088 vny(ix,iy,iz,iel)=vny(ix,iy,iz,iel) + uny(ir,iz,ifc,iel)
1093 CALL dssum (vnx,lx1,ly1,lz1)
1094 CALL dssum (vny,lx1,ly1,lz1)
1095 CALL unitvec (vnx,vny,vnz,ntot1)
1097 CALL copy (v1y,vnx,ntot1)
1098 CALL copy (v1x,vny,ntot1)
1108 common /scrcg/ vnmag(lx1,ly1,lz1,lelt)
1109 common /indxfc/ mcrfc(4,6)
1121 dimension hvmask(lx1,ly1,lz1,1)
1122 $ , hfmask(lx1,lz1,6,1)
1124 ntot1 = lx1*ly1*lz1*nel
1138 hmv = abs( hvmask(ix,iy,iz,iel) )
1139 IF (hmv .LT. 1.9 .OR. hmv .GT. 3.1)
GOTO 100
1140 CALL edgindv (lv1,lv2,lvskip,isd)
1142 lv = lv1 + (i-1)*lvskip
1143 vnx(lv,1,1,iel) = 0.0
1144 vny(lv,1,1,iel) = 0.0
1145 vnz(lv,1,1,iel) = 0.0
1154 hmv = abs( hvmask(ix,iy,iz,iel) )
1155 IF (hmv .LT. 1.9 .OR. hmv .GT. 3.1)
GOTO 150
1156 vnx(ix,iy,iz,iel) = 0.0
1157 vny(ix,iy,iz,iel) = 0.0
1158 vnz(ix,iy,iz,iel) = 0.0
1168 hmv = abs( hvmask(ix,iy,iz,iel) )
1169 IF (hmv .LT. 1.9 .OR. hmv .GT. 3.1)
GOTO 200
1172 hmf = abs( hfmask(1,1,ifc,iel) )
1173 IF (abs(hmv - hmf) .LT. epsa)
THEN
1174 CALL edgindv (lv1,lv2,lvskip,isd)
1175 CALL edgindf (lf1,lf2,lfskip,isd,ii)
1177 lv = lv1 + (i-1)*lvskip
1178 lf = lf1 + (i-1)*lfskip
1179 vnx(lv,1,1,iel)=vnx(lv,1,1,iel)+unx(lf,1,ifc,iel)
1180 vny(lv,1,1,iel)=vny(lv,1,1,iel)+uny(lf,1,ifc,iel)
1181 vnz(lv,1,1,iel)=vnz(lv,1,1,iel)+unz(lf,1,ifc,iel)
1194 hmv = abs( hvmask(ix,iy,iz,iel) )
1195 IF (hmv .LT. 1.9 .OR. hmv .GT. 3.1)
GOTO 300
1198 hmf = abs( hfmask(1,1,ifc,iel) )
1199 IF (abs(hmv - hmf) .LT. epsa)
THEN
1202 ir = mcrrst(ira,icr)
1203 is = mcrrst(isa,icr)
1204 vnx(ix,iy,iz,iel)=vnx(ix,iy,iz,iel)+unx(ir,is,ifc,iel)
1205 vny(ix,iy,iz,iel)=vny(ix,iy,iz,iel)+uny(ir,is,ifc,iel)
1206 vnz(ix,iy,iz,iel)=vnz(ix,iy,iz,iel)+unz(ir,is,ifc,iel)
1211 CALL dssum (vnx,lx1,ly1,lz1)
1212 CALL dssum (vny,lx1,ly1,lz1)
1213 CALL dssum (vnz,lx1,ly1,lz1)
1214 CALL unitvec (vnx,vny,vnz,ntot1)
1215 CALL vdot3 (vnmag,vnx,vny,vnz,vnx,vny,vnz,ntot1)
1219 hmf = abs( hfmask(1,1,ifc,iel) )
1220 IF (hmf .LT. 1.9 .OR. hmf .GT. 3.1)
GOTO 500
1221 CALL facind2 (js1,jf1,jskip1,js2,jf2,jskip2,ifc)
1222 DO 520 j2=js2,jf2,jskip2
1223 DO 520 j1=js1,jf1,jskip1
1224 IF (vnmag(j1,j2,1,iel) .LT. epsa)
GOTO 520
1225 vlzdif = abs(vnz(j1,j2,1,iel)) - 1.0
1226 IF (abs(vlzdif) .LT. epsn)
THEN
1227 v1x(j1,j2,1,iel) = 1.0
1228 v1y(j1,j2,1,iel) = 0.0
1229 v1z(j1,j2,1,iel) = 0.0
1231 ssn = sqrt(vnx(j1,j2,1,iel)**2 + vny(j1,j2,1,iel)**2)
1232 v1x(j1,j2,1,iel) = -vny(j1,j2,1,iel) / ssn
1233 v1y(j1,j2,1,iel) = vnx(j1,j2,1,iel) / ssn
1234 v1z(j1,j2,1,iel) = 0.0
1239 CALL dssum (v1x,lx1,ly1,lz1)
1240 CALL dssum (v1y,lx1,ly1,lz1)
1241 CALL dssum (v1z,lx1,ly1,lz1)
1242 CALL unitvec (v1x,v1y,v1z,ntot1)
1244 CALL vcross (v2x,v2y,v2z,vnx,vny,vnz,v1x,v1y,v1z,ntot1)
1249 SUBROUTINE fixwmsk (W2MASK,W3MASK,HVMASK,HFMASK,NEL)
1252 dimension hvmask(lx1,ly1,lz1,1)
1253 $ , hfmask(lx1,lz1,6,1)
1255 dimension w2mask(lx1,ly1,lz1,1)
1256 $ , w3mask(lx1,ly1,lz1,1)
1259 CALL fxwms2 (w2mask,hvmask,hfmask,nel)
1261 CALL fxwms3 (w2mask,w3mask,hvmask,hfmask,nel)
1264 CALL dsop(w2mask,
'MUL',lx1,ly1,lz1)
1265 IF (ldim.EQ.3)
CALL dsop(w3mask,
'MUL',lx1,ly1,lz1)
1274 common /indxfc/ mcrfc(4,6)
1286 dimension w2mask(lx1,ly1,lz1,1)
1287 $ , hvmask(lx1,ly1,lz1,1)
1288 $ , hfmask(lx1,lz1,6,1)
1298 hmv = abs( hvmask(ix,iy,iz,iel) )
1299 IF (hmv .LT. 1.9 .OR. hmv .GT. 2.1)
GOTO 100
1302 hmf = abs( hfmask(1,1,ifc,iel) )
1303 IF (abs(hmv - hmf) .LT. epsa)
THEN
1305 dot = vnx(ix,iy,iz,iel)*unx(ir,iz,ifc,iel) +
1306 $ vny(ix,iy,iz,iel)*uny(ir,iz,ifc,iel)
1307 IF (
dot .LT. 0.99)
THEN
1308 w2mask(ix,iy,iz,iel) = 0.0
1318 SUBROUTINE fxwms3 (W2MASK,W3MASK,HVMASK,HFMASK,NEL)
1322 common /indxfc/ mcrfc(4,6)
1334 dimension w2mask(lx1,ly1,lz1,1)
1335 $ , w3mask(lx1,ly1,lz1,1)
1336 $ , hvmask(lx1,ly1,lz1,1)
1337 $ , hfmask(lx1,lz1,6,1)
1349 hmv = abs( hvmask(ix,iy,iz,iel) )
1350 IF (hmv .LT. 1.9 .OR. hmv .GT. 2.1)
GOTO 100
1353 hmf = abs( hfmask(1,1,ifc,iel) )
1354 IF (abs(hmv - hmf) .LT. epsa)
THEN
1355 CALL edgindf (lf1,lf2,lfskip,isd,ii)
1356 lf = lf1 + (nmid-1)*lfskip
1357 dot = vnx(ix,iy,iz,iel)*unx(lf,1,ifc,iel) +
1358 $ vny(ix,iy,iz,iel)*uny(lf,1,ifc,iel) +
1359 $ vnz(ix,iy,iz,iel)*unz(lf,1,ifc,iel)
1360 IF (
dot .LT. 0.99)
THEN
1361 CALL edgindv (lv1,lv2,lvskip,isd)
1362 DO 140 lv=lv1,lv2,lvskip
1363 w3mask(lv,1,1,iel) = 0.0
1377 hmv = abs( hvmask(ix,iy,iz,iel) )
1378 IF (hmv .LT. 1.9 .OR. hmv .GT. 2.1)
GOTO 300
1381 hmf = abs( hfmask(1,1,ifc,iel) )
1382 IF (abs(hmv - hmf) .LT. epsa)
THEN
1385 ir = mcrrst(ira,icr)
1386 is = mcrrst(isa,icr)
1387 dot = vnx(ix,iy,iz,iel)*unx(ir,is,ifc,iel) +
1388 $ vny(ix,iy,iz,iel)*uny(ir,is,ifc,iel) +
1389 $ vnz(ix,iy,iz,iel)*unz(ir,is,ifc,iel)
1391 IF (
dot .LT. 0.99)
THEN
1392 w2mask(ix,iy,iz,iel) = 0.0
1404 common /indxfc/ mcrfc(4,6)
1625 mcrind(4) = mcrind(3) - lx1 + 1
1626 mcrind(5) = mcrind(7) - mcrind(3) + 1
1627 mcrind(6) = mcrind(5) + lx1 - 1
1628 mcrind(8) = mcrind(7) - lx1 + 1
1634 medind(1,2) = lx1**2 - lx1 + 1
1635 medind(2,2) = lx1**2
1637 medind(2,3) = medind(1,2)
1639 medind(2,4) = lx1**2
1683 common /indxfc/ mcrfc(4,6)
1695 ityp = ntefc(ifcn,isd)
1697 lf1 = medind(1,ityp)
1698 lf2 = medind(2,ityp)
1701 IF (ityp .GE. 3) lfskip = lx1
1709 common /indxfc/ mcrfc(4,6)
1721 iodd = isd - isd/2*2
1728 IF (isd .GE. 9)
THEN
1750 cdof(ifc,iel)=cbc(ifc,iel,0)(1:1)
1756 SUBROUTINE amask (VB1,VB2,VB3,V1,V2,V3,NEL)
1763 common /scrsf/ a1mask(lx1,ly1,lz1,lelt)
1764 $ , a2mask(lx1,ly1,lz1,lelt)
1765 $ , a3mask(lx1,ly1,lz1,lelt)
1766 common /ctmp0/ wa(lx1,ly1,lz1,lelt)
1768 dimension vb1(lx1,ly1,lz1,1)
1769 $ , vb2(lx1,ly1,lz1,1)
1770 $ , vb3(lx1,ly1,lz1,1)
1771 $ , v1(lx1,ly1,lz1,1)
1772 $ , v2(lx1,ly1,lz1,1)
1773 $ , v3(lx1,ly1,lz1,1)
1775 ntot1 = lx1*ly1*lz1*nel
1776 CALL rone (wa,ntot1)
1777 CALL copy (vb1,v1,ntot1)
1778 CALL copy (vb2,v2,ntot1)
1779 IF (ldim.EQ.3)
CALL copy (vb3,v3,ntot1)
1781 IF (ifield.EQ.1)
THEN
1782 CALL sub3 (a1mask,wa,v1mask,ntot1)
1783 CALL sub3 (a2mask,wa,v2mask,ntot1)
1784 IF (ldim.EQ.3)
CALL sub3 (a3mask,wa,v3mask,ntot1)
1785 ELSEIF (ifield.EQ.ifldmhd)
THEN
1786 CALL sub3 (a1mask,wa,b1mask,ntot1)
1787 CALL sub3 (a2mask,wa,b2mask,ntot1)
1788 IF (ldim.EQ.3)
CALL sub3 (a3mask,wa,b3mask,ntot1)
1790 CALL sub3 (a1mask,wa,w1mask,ntot1)
1791 CALL sub3 (a2mask,wa,w2mask,ntot1)
1792 IF (ldim.EQ.3)
CALL sub3 (a3mask,wa,w3mask,ntot1)
1795 CALL qmask (vb1,vb2,vb3,a1mask,a2mask,a3mask,nel)
1808 dimension r1(lx1,ly1,lz1,1)
1809 $ , r2(lx1,ly1,lz1,1)
1810 $ , r3(lx1,ly1,lz1,1)
1820 IF (ifield.EQ.1)
THEN
1821 CALL qmask (r1,r2,r3,v1mask,v2mask,v3mask,nel)
1822 ELSEIF (ifield.eq.ifldmhd)
then
1823 CALL qmask (r1,r2,r3,b1mask,b2mask,b3mask,nel)
1825 CALL qmask (r1,r2,r3,w1mask,w2mask,w3mask,nel)
1835 SUBROUTINE qmask (R1,R2,R3,R1MASK,R2MASK,R3MASK,NEL)
1840 common /ctmp1/ s1(lx1,ly1,lz1,lelt)
1841 $ , s2(lx1,ly1,lz1,lelt)
1842 $ , s3(lx1,ly1,lz1,lelt)
1844 dimension r1(lx1,ly1,lz1,1)
1845 $ , r2(lx1,ly1,lz1,1)
1846 $ , r3(lx1,ly1,lz1,1)
1847 $ , r1mask(lx1,ly1,lz1,1)
1848 $ , r2mask(lx1,ly1,lz1,1)
1849 $ , r3mask(lx1,ly1,lz1,1)
1851 ntot1 = lx1*ly1*lz1*nel
1855 CALL copy (s1,r1,ntot1)
1856 CALL copy (s2,r2,ntot1)
1857 CALL col2 (r1,r1mask,ntot1)
1858 CALL col2 (r2,r2mask,ntot1)
1860 CALL copy (s3,r3,ntot1)
1861 CALL col2 (r3,r3mask,ntot1)
1866 IF (iflmsf(ifield))
THEN
1868 CALL fcmsk2 (r1,r2,s1,s2,r1mask,r2mask,nel)
1870 CALL fcmsk3 (r1,r2,r3,s1,s2,s3,r1mask,r2mask,r3mask,nel)
1876 IF (ldim.EQ.3 .AND. iflmse(ifield))
1877 $
CALL egmask (r1,r2,r3,s1,s2,s3,r1mask,r2mask,r3mask,nel)
1881 IF (iflmsc(ifield))
THEN
1883 CALL crmsk2 (r1,r2,s1,s2,r1mask,r2mask,nel)
1885 CALL crmsk3 (r1,r2,r3,s1,s2,s3,r1mask,r2mask,r3mask,nel)
1892 SUBROUTINE fcmsk2 (R1,R2,S1,S2,R1MASK,R2MASK,NEL)
1897 dimension r1(lx1,ly1,lz1,1)
1898 $ , r2(lx1,ly1,lz1,1)
1899 $ , s1(lx1,ly1,lz1,1)
1900 $ , s2(lx1,ly1,lz1,1)
1901 $ , r1mask(lx1,ly1,lz1,1)
1902 $ , r2mask(lx1,ly1,lz1,1)
1908 IF (.NOT.ifmsfc(ifc,iel,ifield))
GO TO 100
1909 CALL facind2 (js1,jf1,jskip1,js2,jf2,jskip2,ifc)
1910 DO 120 j2=js2,jf2,jskip2
1911 DO 120 j1=js1,jf1,jskip1
1912 rnor = ( s1(j1,j2,1,iel)*vnx(j1,j2,1,iel) +
1913 $ s2(j1,j2,1,iel)*vny(j1,j2,1,iel) ) *
1914 $ r1mask(j1,j2,1,iel)
1915 rtn1 = ( s1(j1,j2,1,iel)*v1x(j1,j2,1,iel) +
1916 $ s2(j1,j2,1,iel)*v1y(j1,j2,1,iel) ) *
1917 $ r2mask(j1,j2,1,iel)
1918 r1(j1,j2,1,iel) = rnor*vnx(j1,j2,1,iel) +
1919 $ rtn1*v1x(j1,j2,1,iel)
1920 r2(j1,j2,1,iel) = rnor*vny(j1,j2,1,iel) +
1921 $ rtn1*v1y(j1,j2,1,iel)
1928 SUBROUTINE fcmsk3 (R1,R2,R3,S1,S2,S3,R1MASK,R2MASK,R3MASK,NEL)
1933 dimension r1(lx1,ly1,lz1,1)
1934 $ , r2(lx1,ly1,lz1,1)
1935 $ , r3(lx1,ly1,lz1,1)
1936 $ , s1(lx1,ly1,lz1,1)
1937 $ , s2(lx1,ly1,lz1,1)
1938 $ , s3(lx1,ly1,lz1,1)
1939 $ , r1mask(lx1,ly1,lz1,1)
1940 $ , r2mask(lx1,ly1,lz1,1)
1941 $ , r3mask(lx1,ly1,lz1,1)
1947 IF (.NOT.ifmsfc(ifc,iel,ifield))
GO TO 100
1948 CALL facind2 (js1,jf1,jskip1,js2,jf2,jskip2,ifc)
1949 DO 120 j2=js2,jf2,jskip2
1950 DO 120 j1=js1,jf1,jskip1
1951 rnor = ( s1(j1,j2,1,iel)*vnx(j1,j2,1,iel) +
1952 $ s2(j1,j2,1,iel)*vny(j1,j2,1,iel) +
1953 $ s3(j1,j2,1,iel)*vnz(j1,j2,1,iel) ) *
1954 $ r1mask(j1,j2,1,iel)
1955 rtn1 = ( s1(j1,j2,1,iel)*v1x(j1,j2,1,iel) +
1956 $ s2(j1,j2,1,iel)*v1y(j1,j2,1,iel) +
1957 $ s3(j1,j2,1,iel)*v1z(j1,j2,1,iel) ) *
1958 $ r2mask(j1,j2,1,iel)
1959 rtn2 = ( s1(j1,j2,1,iel)*v2x(j1,j2,1,iel) +
1960 $ s2(j1,j2,1,iel)*v2y(j1,j2,1,iel) +
1961 $ s3(j1,j2,1,iel)*v2z(j1,j2,1,iel) ) *
1962 $ r3mask(j1,j2,1,iel)
1963 r1(j1,j2,1,iel) = rnor*vnx(j1,j2,1,iel) +
1964 $ rtn1*v1x(j1,j2,1,iel) +
1965 $ rtn2*v2x(j1,j2,1,iel)
1966 r2(j1,j2,1,iel) = rnor*vny(j1,j2,1,iel) +
1967 $ rtn1*v1y(j1,j2,1,iel) +
1968 $ rtn2*v2y(j1,j2,1,iel)
1969 r3(j1,j2,1,iel) = rnor*vnz(j1,j2,1,iel) +
1970 $ rtn1*v1z(j1,j2,1,iel) +
1971 $ rtn2*v2z(j1,j2,1,iel)
1978 SUBROUTINE egmask (R1,R2,R3,S1,S2,S3,R1MASK,R2MASK,R3MASK,NEL)
1983 dimension r1(lx1,ly1,lz1,1)
1984 $ , r2(lx1,ly1,lz1,1)
1985 $ , r3(lx1,ly1,lz1,1)
1986 $ , s1(lx1,ly1,lz1,1)
1987 $ , s2(lx1,ly1,lz1,1)
1988 $ , s3(lx1,ly1,lz1,1)
1989 $ , r1mask(lx1,ly1,lz1,1)
1990 $ , r2mask(lx1,ly1,lz1,1)
1991 $ , r3mask(lx1,ly1,lz1,1)
1997 IF (.NOT.ifmseg(isd,iel,ifield))
GOTO 100
1998 CALL edgindv (lv1,lv2,lvskip,isd)
1999 DO 120 lv=lv1,lv2,lvskip
2000 rnor = ( s1(lv,1,1,iel)*vnx(lv,1,1,iel) +
2001 $ s2(lv,1,1,iel)*vny(lv,1,1,iel) +
2002 $ s3(lv,1,1,iel)*vnz(lv,1,1,iel) ) *
2003 $ r1mask(lv,1,1,iel)
2004 rtn1 = ( s1(lv,1,1,iel)*v1x(lv,1,1,iel) +
2005 $ s2(lv,1,1,iel)*v1y(lv,1,1,iel) +
2006 $ s3(lv,1,1,iel)*v1z(lv,1,1,iel) ) *
2007 $ r2mask(lv,1,1,iel)
2008 rtn2 = ( s1(lv,1,1,iel)*v2x(lv,1,1,iel) +
2009 $ s2(lv,1,1,iel)*v2y(lv,1,1,iel) +
2010 $ s3(lv,1,1,iel)*v2z(lv,1,1,iel) ) *
2011 $ r3mask(lv,1,1,iel)
2012 r1(lv,1,1,iel) = rnor*vnx(lv,1,1,iel) +
2013 $ rtn1*v1x(lv,1,1,iel) +
2014 $ rtn2*v2x(lv,1,1,iel)
2015 r2(lv,1,1,iel) = rnor*vny(lv,1,1,iel) +
2016 $ rtn1*v1y(lv,1,1,iel) +
2017 $ rtn2*v2y(lv,1,1,iel)
2018 r3(lv,1,1,iel) = rnor*vnz(lv,1,1,iel) +
2019 $ rtn1*v1z(lv,1,1,iel) +
2020 $ rtn2*v2z(lv,1,1,iel)
2027 SUBROUTINE crmsk2 (R1,R2,S1,S2,R1MASK,R2MASK,NEL)
2032 common /indxfc/ mcrfc(4,6)
2043 dimension r1(lx1,ly1,lz1,1)
2044 $ , r2(lx1,ly1,lz1,1)
2045 $ , s1(lx1,ly1,lz1,1)
2046 $ , s2(lx1,ly1,lz1,1)
2047 $ , r1mask(lx1,ly1,lz1,1)
2048 $ , r2mask(lx1,ly1,lz1,1)
2054 IF (.NOT.ifmscr(icr,iel,ifield))
GO TO 100
2058 rnor = ( s1(ix,iy,iz,iel)*vnx(ix,iy,iz,iel) +
2059 $ s2(ix,iy,iz,iel)*vny(ix,iy,iz,iel) ) *
2060 $ r1mask(ix,iy,iz,iel)
2061 rtn1 = ( s1(ix,iy,iz,iel)*v1x(ix,iy,iz,iel) +
2062 $ s2(ix,iy,iz,iel)*v1y(ix,iy,iz,iel) ) *
2063 $ r2mask(ix,iy,iz,iel)
2064 r1(ix,iy,iz,iel) = rnor*vnx(ix,iy,iz,iel) +
2065 $ rtn1*v1x(ix,iy,iz,iel)
2066 r2(ix,iy,iz,iel) = rnor*vny(ix,iy,iz,iel) +
2067 $ rtn1*v1y(ix,iy,iz,iel)
2073 SUBROUTINE crmsk3 (R1,R2,R3,S1,S2,S3,R1MASK,R2MASK,R3MASK,NEL)
2078 common /indxfc/ mcrfc(4,6)
2089 dimension r1(lx1,ly1,lz1,1)
2090 $ , r2(lx1,ly1,lz1,1)
2091 $ , r3(lx1,ly1,lz1,1)
2092 $ , s1(lx1,ly1,lz1,1)
2093 $ , s2(lx1,ly1,lz1,1)
2094 $ , s3(lx1,ly1,lz1,1)
2095 $ , r1mask(lx1,ly1,lz1,1)
2096 $ , r2mask(lx1,ly1,lz1,1)
2097 $ , r3mask(lx1,ly1,lz1,1)
2103 IF (.NOT.ifmscr(icr,iel,ifield))
GO TO 100
2107 rnor = ( s1(ix,iy,iz,iel)*vnx(ix,iy,iz,iel) +
2108 $ s2(ix,iy,iz,iel)*vny(ix,iy,iz,iel) +
2109 $ s3(ix,iy,iz,iel)*vnz(ix,iy,iz,iel) ) *
2110 $ r1mask(ix,iy,iz,iel)
2111 rtn1 = ( s1(ix,iy,iz,iel)*v1x(ix,iy,iz,iel) +
2112 $ s2(ix,iy,iz,iel)*v1y(ix,iy,iz,iel) +
2113 $ s3(ix,iy,iz,iel)*v1z(ix,iy,iz,iel) ) *
2114 $ r2mask(ix,iy,iz,iel)
2115 rtn2 = ( s1(ix,iy,iz,iel)*v2x(ix,iy,iz,iel) +
2116 $ s2(ix,iy,iz,iel)*v2y(ix,iy,iz,iel) +
2117 $ s3(ix,iy,iz,iel)*v2z(ix,iy,iz,iel) ) *
2118 $ r3mask(ix,iy,iz,iel)
2119 r1(ix,iy,iz,iel) = rnor*vnx(ix,iy,iz,iel) +
2120 $ rtn1*v1x(ix,iy,iz,iel) +
2121 $ rtn2*v2x(ix,iy,iz,iel)
2122 r2(ix,iy,iz,iel) = rnor*vny(ix,iy,iz,iel) +
2123 $ rtn1*v1y(ix,iy,iz,iel) +
2124 $ rtn2*v2y(ix,iy,iz,iel)
2125 r3(ix,iy,iz,iel) = rnor*vnz(ix,iy,iz,iel) +
2126 $ rtn1*v1z(ix,iy,iz,iel) +
2127 $ rtn2*v2z(ix,iy,iz,iel)
2146 if (1.le.f.and.f.le.2)
then
2147 sn(1) = unx(iy,iz,iside,e)
2148 sn(2) = uny(iy,iz,iside,e)
2149 sn(3) = unz(iy,iz,iside,e)
2150 elseif (3.le.f.and.f.le.4)
then
2151 sn(1) = unx(ix,iz,iside,e)
2152 sn(2) = uny(ix,iz,iside,e)
2153 sn(3) = unz(ix,iz,iside,e)
2154 elseif (5.le.f.and.f.le.6)
then
2155 sn(1) = unx(ix,iy,iside,e)
2156 sn(2) = uny(ix,iy,iside,e)
2157 sn(3) = unz(ix,iy,iside,e)
2170 real c1mask(lx1,ly1,lz1,1)
2171 $ ,c2mask(lx1,ly1,lz1,1)
2172 $ ,c3mask(lx1,ly1,lz1,1)
2174 common /ctmp0/ im1(lx1,ly1,lz1),im2(lx1,ly1,lz1)
2175 integer e,f,val,im1,im2
2188 if (cb.eq.
'SYM')
call iface_e(im1,f,1,lx1,ly1,lz1)
2189 if (cb.eq.
'A ')
call iface_e(im2,f,2,lx1,ly1,lz1)
2191 call icol2(im2,im1,n)
2196 if ( im2(i,j,k) .eq. 2)
then
2197 c1mask(i,j,k,e) = 0.
2198 c2mask(i,j,k,e) = 0.
2223 integer a(nx,ny,nz),val
2224 call facind (kx1,kx2,ky1,ky2,kz1,kz2,nx,ny,nz,iface)
2237 real b1(1),b2(1),b3(1),x1(1),x2(1),x3(1),wt(1)
2239 nel = nelfld(ifield)
2245 s=s+wt(i)*(b1(i)*x1(i)+b2(i)*x2(i)+b3(i)*x3(i))
2249 s=s+wt(i)*(b1(i)*x1(i)+b2(i)*x2(i))
2261 real b1(1),b2(1),b3(1),x1(1),x2(1),x3(1),wt(1)
2263 nel = nelfld(ifield)
2269 s=s+wt(i)*(b1(i)*x1(i)+b2(i)*x2(i)+b3(i)*x3(i))
2273 s=s+wt(i)*(b1(i)*x1(i)+b2(i)*x2(i))
subroutine unitvec(X, Y, Z, N)
subroutine lfalse(IFA, N)
subroutine rzero3(A, B, C, N)
subroutine facind2(JS1, JF1, JSKIP1, JS2, JF2, JSKIP2, IFC)
subroutine facev(a, ie, iface, val, nx, ny, nz)
subroutine facind(kx1, kx2, ky1, ky2, kz1, kz2, nx, ny, nz, iface)
subroutine dsset(nx, ny, nz)
subroutine dsop(u, op, nx, ny, nz)
subroutine dssum(u, nx, ny, nz)
real function dot(V1, V2, N)
subroutine col3(a, b, c, n)
subroutine addcol3(a, b, c, n)
function glsc3(a, b, mult, n)
subroutine add2s2(a, b, c1, n)
subroutine vdot2(dot, u1, u2, v1, v2, n)
subroutine col4(a, b, c, d, n)
subroutine subcol3(a, b, c, n)
subroutine subcol4(a, b, c, d, n)
subroutine sub3(a, b, c, n)
subroutine cmult(a, const, n)
subroutine cfill(a, b, n)
subroutine add2s1(a, b, c1, n)
subroutine vdot3(dot, u1, u2, u3, v1, v2, v3, n)
subroutine vcross(u1, u2, u3, v1, v2, v3, w1, w2, w3, n)
subroutine opdssum(a, b, c)
subroutine prepost(ifdoin, prefin)
subroutine axhmsf(au1, au2, au3, u1, u2, u3, h1, h2, matmod)
subroutine stnrate(u1, u2, u3, nel, matmod)
subroutine amask(VB1, VB2, VB3, V1, V2, V3, NEL)
subroutine edgindf(LF1, LF2, LFSKIP, ISD, IFCN)
subroutine vsoln(UX, UY, UZ, X, Y, Z, PI)
subroutine printel(TA, A, IEL)
subroutine crmsk3(R1, R2, R3, S1, S2, S3, R1MASK, R2MASK, R3MASK, NEL)
subroutine fxwms3(W2MASK, W3MASK, HVMASK, HFMASK, NEL)
subroutine comavn2(HVMASK, HFMASK, NEL)
subroutine comavn3(HVMASK, HFMASK, NEL)
subroutine facsub2(A1, A2, A3, B1, B2, B3, IFACE1)
subroutine setaxw2(IFAXWG)
subroutine egmask(R1, R2, R3, S1, S2, S3, R1MASK, R2MASK, R3MASK, NEL)
subroutine cmult2(A, B, CONST, N)
subroutine crmsk2(R1, R2, S1, S2, R1MASK, R2MASK, NEL)
subroutine opadds(A1, A2, A3, B1, B2, B3, CONST, N, ISC)
function op_glsc2_wt(b1, b2, b3, x1, x2, x3, wt)
subroutine outf1(X, TXT, IEL, IFC)
subroutine setmlog(HVMASK, HFMASK, IFLD, NEL)
subroutine getsnormal(sn, ix, iy, iz, iside, e)
subroutine outm1(X, TXT, NP, IEL, IP)
subroutine qmask(R1, R2, R3, R1MASK, R2MASK, R3MASK, NEL)
subroutine facexv(A1, A2, A3, B1, B2, B3, IFACE1, IOP)
subroutine opdot(DP, A1, A2, A3, B1, B2, B3, N)
subroutine setmask(C1MASK, C2MASK, C3MASK, HVMASK, NEL)
subroutine fcmsk2(R1, R2, S1, S2, R1MASK, R2MASK, NEL)
subroutine fcmsk3(R1, R2, R3, S1, S2, S3, R1MASK, R2MASK, R3MASK, NEL)
subroutine stsmask(C1MASK, C2MASK, C3MASK)
subroutine prsoln(P, X, Y, Z, PI)
subroutine edgindv(LV1, LV2, LVSKIP, ISD)
subroutine icol2(a, b, n)
subroutine add3s(A, B, C, CONST, N)
subroutine faccvs(A1, A2, A3, B, IFACE1)
subroutine outm2(X, TXT, NP, IEL, IP)
subroutine printv(TA, A, NEL)
function op_vlsc2_wt(b1, b2, b3, x1, x2, x3, wt)
subroutine setaxw1(IFAXWG)
subroutine facexs(A, B, IFACE1, IOP)
subroutine setcsys(HVMASK, HFMASK, NEL)
subroutine fixmska(c1mask, c2mask, c3mask)
subroutine fxwms2(W2MASK, HVMASK, HFMASK, NEL)
subroutine gammasf(H1, H2)
subroutine rmask(R1, R2, R3, NEL)
subroutine fixwmsk(W2MASK, W3MASK, HVMASK, HFMASK, NEL)
subroutine sethmsk(HVMASK, HFMASK, IFLD, NEL)
subroutine iface_e(a, iface, val, nx, ny, nz)