1 subroutine AsIFlx (y, ac, x, xmudmi, shp, 2 & shgl, ien, mater, flxres) 3c 4c---------------------------------------------------------------------- 5c 6c This routine computes and assembles the data corresponding to the 7c interior elements. 8c 9c Zdenek Johan, Winter 1991. (Fortran 90) 10c---------------------------------------------------------------------- 11c 12 use rlssave 13 include "common.h" 14c 15 dimension y(nshg,ndof), ac(nshg,ndof), 16 & x(numnp,nsd), 17 & shp(MAXTOP,maxsh,MAXQPT), 18 & shgl(MAXTOP,nsd,maxsh,MAXQPT), 19 & ien(npro,nshl), 20 & mater(npro), flxres(numnp,nflow) 21c 22 dimension ycl(npro,nshl,ndof), acl(npro,nshl,ndof), 23 & xl(npro,nenl,nsd), 24 & rl(npro,nshl,nflow), BDiagl(npro,nshl,nflow,nflow) 25c 26 dimension ql(npro,nshl,(nflow-1)*nsd) 27c 28 dimension xmudmi(npro,ngauss) 29 dimension sgn(npro,nshl) 30 dimension EGmass(npro,nedof,nedof), rml(npro,nshl,nflow) 31 32 dimension rlsl(npro,nshl,6) 33c 34c.... create the matrix of mode signs for the hierarchic basis 35c functions. 36c 37 if (ipord .gt. 1) then 38 call getsgn(ien,sgn) 39 endif 40c 41c.... gather the variables 42c 43 call localy(y, ycl, ien, ndof, 'gather ') 44 call localy(ac, acl, ien, ndof, 'gather ') 45 call localx(x, xl, ien, nsd, 'gather ') 46 47 if( (iLES.gt.10).and.(iLES.lt.20)) then ! bardina 48 call local (rls, rlsl, ien, 6, 'gather ') 49 else 50 rlsl = zero 51 endif 52c 53c 54c.... get the element residual 55c 56 rl = zero 57 58 ql = zero !only used now in elmmfg 59 60 EGmassd= one ! just a dummy real since we don't have a LHS with MFI 61 62 if (nsd .eq. 3) then 63 call e3 (ycl, ycl, acl, shp(lcsyst,1:nshl,:), 64 & shgl(lcsyst,:,1:nshl,:), xl, rl, rml, 65 & xmudmi, BDiagl, ql, sgn, rlsl, EGmassd) 66 endif 67c 68c.... assemble the residual 69c 70 call local (flxres, rl, ien, nflow, 'scatter ') 71c 72c.... end 73c 74 return 75 end 76