xref: /phasta/phSolver/compressible/asiq.f (revision 595995161822a203c8467e0e4a253d7bd7d6df32)
1*59599516SKenneth E. Jansen        subroutine AsIq (y,       x,       shp,
2*59599516SKenneth E. Jansen     &                   shgl,    ien,     xmudmi,
3*59599516SKenneth E. Jansen     &                   qres,    rmass    )
4*59599516SKenneth E. Jansenc
5*59599516SKenneth E. Jansenc----------------------------------------------------------------------
6*59599516SKenneth E. Jansenc
7*59599516SKenneth E. Jansenc This routine computes and assembles the data corresponding to the
8*59599516SKenneth E. Jansenc interior elements for the global reconstruction of the diffusive
9*59599516SKenneth E. Jansenc flux vector.
10*59599516SKenneth E. Jansenc
11*59599516SKenneth E. Jansenc input:
12*59599516SKenneth E. Jansenc     y     (nshg,ndof)        : Y variables
13*59599516SKenneth E. Jansenc     x     (numnp,nsd)         : nodal coordinates
14*59599516SKenneth E. Jansenc     shp   (nshape,ngauss)     : element shape-functions
15*59599516SKenneth E. Jansenc     shgl  (nsd,nshape,ngauss) : element local shape-function gradients
16*59599516SKenneth E. Jansenc     ien   (npro)              : nodal connectivity array
17*59599516SKenneth E. Jansenc
18*59599516SKenneth E. Jansenc output:
19*59599516SKenneth E. Jansenc     qres  (nshg,nflow-1,nsd)  : residual vector for diffusive flux
20*59599516SKenneth E. Jansenc     rmass  (nshg)            : lumped mass matrix
21*59599516SKenneth E. Jansenc
22*59599516SKenneth E. Jansenc----------------------------------------------------------------------
23*59599516SKenneth E. Jansenc
24*59599516SKenneth E. Jansen        include "common.h"
25*59599516SKenneth E. Jansenc
26*59599516SKenneth E. Jansen        dimension y(nshg,ndof),               x(numnp,nsd),
27*59599516SKenneth E. Jansen     &            shp(nshl,ngauss),
28*59599516SKenneth E. Jansen     &            shgl(nsd,nshl,ngauss),
29*59599516SKenneth E. Jansen     &            ien(npro,nshl),
30*59599516SKenneth E. Jansen     &            qres(nshg,idflx),    rmass(nshg)
31*59599516SKenneth E. Jansenc
32*59599516SKenneth E. Jansenc.... element level declarations
33*59599516SKenneth E. Jansenc
34*59599516SKenneth E. Jansen        dimension ycl(npro,nshl,ndof),        xl(npro,nenl,nsd),
35*59599516SKenneth E. Jansen     &            ql(npro,nshl,idflx),       rmassl(npro,nshl),
36*59599516SKenneth E. Jansen     &            xmudmi(npro,ngauss)
37*59599516SKenneth E. Jansenc
38*59599516SKenneth E. Jansen        dimension sgn(npro,nshape)
39*59599516SKenneth E. Jansenc
40*59599516SKenneth E. Jansenc.... create the matrix of mode signs for the hierarchic basis
41*59599516SKenneth E. Jansenc     functions.
42*59599516SKenneth E. Jansenc
43*59599516SKenneth E. Jansen        if (ipord .gt. 1) then
44*59599516SKenneth E. Jansen           call getsgn(ien,sgn)
45*59599516SKenneth E. Jansen        endif
46*59599516SKenneth E. Jansenc
47*59599516SKenneth E. Jansenc.... gather the variables
48*59599516SKenneth E. Jansenc
49*59599516SKenneth E. Jansen
50*59599516SKenneth E. Jansen        call localy(y,      ycl,     ien,    ndof,   'gather  ')
51*59599516SKenneth E. Jansen        call localx(x,      xl,     ien,    nsd,    'gather  ')
52*59599516SKenneth E. Jansenc
53*59599516SKenneth E. Jansenc.... get the element residuals
54*59599516SKenneth E. Jansenc
55*59599516SKenneth E. Jansen        ql     = zero
56*59599516SKenneth E. Jansen        rmassl = zero
57*59599516SKenneth E. Jansen
58*59599516SKenneth E. Jansen        call e3q  (ycl,      shp,    shgl,
59*59599516SKenneth E. Jansen     &             xl,       ql,     rmassl,
60*59599516SKenneth E. Jansen     &             xmudmi,   sgn )
61*59599516SKenneth E. Jansen
62*59599516SKenneth E. Jansenc
63*59599516SKenneth E. Jansenc.... assemble the diffusive flux residual
64*59599516SKenneth E. Jansenc
65*59599516SKenneth E. Jansen        call local (qres,   ql,  ien,  idflx,'scatter ')
66*59599516SKenneth E. Jansen        call local (rmass,  rmassl, ien,  1,      'scatter ')
67*59599516SKenneth E. Jansenc
68*59599516SKenneth E. Jansenc.... end
69*59599516SKenneth E. Jansenc
70*59599516SKenneth E. Jansen        return
71*59599516SKenneth E. Jansen        end
72