xref: /phasta/phSolver/compressible/asbres.f (revision 595995161822a203c8467e0e4a253d7bd7d6df32)
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