Cloned SEACAS for EXODUS library with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.4 KiB

2 years ago
C Copyright(C) 1999-2020 National Technology & Engineering Solutions
C of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
C NTESS, the U.S. Government retains certain rights in this software.
C
C See packages/seacas/LICENSE for details
subroutine getssn(ia, ierr)
include 'dbase.blk'
integer ia(*)
CALL MDFIND ('LTSESS', KLTSSS, LESSEL)
CALL MDFIND ('IXNESS', KIXNSS, NUMESS)
CALL MDFIND ('IDESS', KIDSS, NUMESS)
CALL MDFIND ('LTNNSS', KLTNNN, LESSEL)
CALL MDFIND ('LTNESS', KLTNSS, LESSNL)
CALL MDFIND ('NNESS', KNNSS, NUMESS)
c ...Convert sides to nodes.... a(kltsss),
C offset into element list for current side set
isoff = 0
C node count for current side set
nodcnt = 0
do i=0,numess-1
C update index array
ia(kixnss+i)=nodcnt+1
C get num of sides & df
call exgsp(ndb,ia(kidss+i),nsess,ndess,ierr)
if (ierr .gt. 0) goto 170
C get side set nodes
if (nsess .gt. 0) then
call exgssn(ndb,ia(kidss+i),ia(kltnnn+isoff),
& ia(kltnss+nodcnt),ierr)
if (ierr .gt. 0) goto 170
end if
nness = 0
C sum node counts to calculate next index
do ii=0,nsess-1
nness=nness+ia(kltnnn+isoff+ii)
end do
ia(knnss+i)=nness
nodcnt=nodcnt+nness
isoff=isoff+nsess
end do
170 continue
return
end