1 subroutine AsBRes (y, yc, x, shpb, shglb, 2 & ienb, materb, iBCB, BCB, 3 & rmes) 4c 5c---------------------------------------------------------------------- 6c 7c This routine computes and assembles the data corresponding to the 8c boundary elements. 9c 10c Zdenek Johan, Winter 1991. (Fortran 90) 11c---------------------------------------------------------------------- 12c 13 include "common.h" 14c 15 dimension y(nshg,nflow), x(numnp,nsd), 16 & yc(nshg,ndof), shpb(nshl,ngaussb), 17 & shglb(nsd,nshl,ngaussb), 18 & ienb(npro,nshl), materb(npro), 19 & iBCB(npro,ndiBCB), BCB(npro,nshlb,ndBCB), 20 & rmes(nshg,nflow) 21c 22 dimension yl(npro,nshl,nflow), xlb(npro,nenl,nsd), 23 & ycl(npro,nshl,ndof), rml(npro,nshl,nflow) 24c 25 dimension sgn(npro,nshl) 26c 27c.... create the matrix of mode signs for the hierarchic basis 28c functions. 29c 30 if (ipord .gt. 1) then 31 call getsgn(ienb,sgn) 32 endif 33c 34c.... gather the variables 35c 36 call localy(y, yl, ienb, nflow, 'gather ') 37 call localy(yc, ycl, ienb, ndof, 'gather ') 38 call localx(x, xlb, ienb, nsd, 'gather ') 39c 40c.... get the boundary element residuals 41c 42 rml = zero 43 call e3b (yl, ycl, iBCB, BCB, shpb, shglb, 44 & xlb, rml, rml, sgn) 45 46c 47c.... assemble the residual and the modified residual 48c 49 if (iabres .eq. 1) rml = abs(rml) 50c 51 call local(rmes, rml, ienb, nflow, 'scatter ') 52c 53c.... end 54c 55 return 56 end 57 58 59 60 61