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