xref: /phasta/phSolver/common/gensvb.f (revision 595995161822a203c8467e0e4a253d7bd7d6df32)
1*59599516SKenneth E. Jansen        subroutine gensvb (ientmp, iBCBtmp, BCBtmp, mattmp,
2*59599516SKenneth E. Jansen     &                     ienb,   iBCB,    BCB,    materb)
3*59599516SKenneth E. Jansenc
4*59599516SKenneth E. Jansenc----------------------------------------------------------------------
5*59599516SKenneth E. Jansenc
6*59599516SKenneth E. Jansenc  This routine saves the boundary element block.
7*59599516SKenneth E. Jansenc
8*59599516SKenneth E. Jansenc input:
9*59599516SKenneth E. Jansenc  ientmp (npro,nshl)           : boundary nodal connectivity
10*59599516SKenneth E. Jansenc  iBCtmp (npro,ndiBCB)         : boundary condition codes
11*59599516SKenneth E. Jansenc  BCBtmp (npro,nshlb,ndBCB)    : boundary condition values
12*59599516SKenneth E. Jansenc  mattmp (npro)                : material type flag
13*59599516SKenneth E. Jansenc
14*59599516SKenneth E. Jansenc output:
15*59599516SKenneth E. Jansenc  ienb   (npro,nshl)           : boundary nodal connectivity
16*59599516SKenneth E. Jansenc  iBCB   (npro,ndiBCB)         : boundary condition codes
17*59599516SKenneth E. Jansenc  BCB    (npro,nshlb,ndBCB)    : boundary condition values
18*59599516SKenneth E. Jansenc  materb (npro)                : material type flag
19*59599516SKenneth E. Jansenc
20*59599516SKenneth E. Jansenc
21*59599516SKenneth E. Jansenc Zdenek Johan, Winter 1992.
22*59599516SKenneth E. Jansenc----------------------------------------------------------------------
23*59599516SKenneth E. Jansenc
24*59599516SKenneth E. Jansen        include "common.h"
25*59599516SKenneth E. Jansenc
26*59599516SKenneth E. Jansen        dimension   ientmp(npro,nshl),
27*59599516SKenneth E. Jansen     &              iBCBtmp(npro,ndiBCB),    BCBtmp(npro,ndBCB)
28*59599516SKenneth E. Jansen
29*59599516SKenneth E. Jansen        dimension   mattmp(npro),           ienb(npro,nshl),
30*59599516SKenneth E. Jansen     &              iBCB(npro,ndiBCB),      BCB(npro,nshlb,ndBCB),
31*59599516SKenneth E. Jansen     &              materb(npro)
32*59599516SKenneth E. Jansenc
33*59599516SKenneth E. Jansenc.... generate the boundary element mapping
34*59599516SKenneth E. Jansenc
35*59599516SKenneth E. Jansen        do i = 1, nshl
36*59599516SKenneth E. Jansen          ienb(:,i) = ientmp(:,i)
37*59599516SKenneth E. Jansen        enddo
38*59599516SKenneth E. Jansenc
39*59599516SKenneth E. Jansenc.... save the boundary element data
40*59599516SKenneth E. Jansenc
41*59599516SKenneth E. Jansen        iBCB   = iBCBtmp
42*59599516SKenneth E. Jansen        do i = 1, nenbl ! This is NOT NSHLB as we are just copying the
43*59599516SKenneth E. Jansen                        ! piecewise constant data given by NSpre and
44*59599516SKenneth E. Jansen                        ! higher order coefficients must be zero
45*59599516SKenneth E. Jansen           do j = 1, ndBCB
46*59599516SKenneth E. Jansen              BCB(:,i,j)   = BCBtmp(:,j)
47*59599516SKenneth E. Jansen           end do
48*59599516SKenneth E. Jansen        end do
49*59599516SKenneth E. Jansen        do i = nenbl+1, nshlb
50*59599516SKenneth E. Jansen           do j = 1, ndBCB
51*59599516SKenneth E. Jansen              BCB(:,i,j)   = zero
52*59599516SKenneth E. Jansen           end do
53*59599516SKenneth E. Jansen        end do
54*59599516SKenneth E. Jansen
55*59599516SKenneth E. Jansen        materb = mattmp
56*59599516SKenneth E. Jansenc
57*59599516SKenneth E. Jansenc.... return
58*59599516SKenneth E. Jansenc
59*59599516SKenneth E. Jansen        return
60*59599516SKenneth E. Jansen        end
61