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.7 KiB
51 lines
1.7 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
|
||
|
|
||
|
C=======================================================================
|
||
|
SUBROUTINE DBSBEL (NELBLK, NUMEL, LENE, INEL, NLISEL, LISEL)
|
||
|
C=======================================================================
|
||
|
|
||
|
C --*** DBSBEL *** (BLOT) Select elements given list of elements
|
||
|
C -- Written by Amy Gilkey - revised 01/05/88
|
||
|
C --
|
||
|
C --DBSBEL creates the element block selection array and the element
|
||
|
C --selection array (by block) given a list of selected elements.
|
||
|
C --
|
||
|
C --Parameters:
|
||
|
C -- NELBLK - IN - the number of element blocks
|
||
|
C -- NUMEL - IN - the number of elements
|
||
|
C -- LENE - IN - the cumulative element counts by element block
|
||
|
C -- INEL - IN - the indices of the selected elements
|
||
|
C -- NLISEL - IN/OUT - the number of selected elements for each block
|
||
|
C -- LISEL - IN/OUT - the indices of the selected elements (by block)
|
||
|
|
||
|
INTEGER LENE(0:*)
|
||
|
INTEGER INEL(0:*)
|
||
|
INTEGER NLISEL(0:*)
|
||
|
INTEGER LISEL(0:*)
|
||
|
|
||
|
LISEL(0) = 0
|
||
|
CALL INIINT (NUMEL, 0, LISEL(1))
|
||
|
|
||
|
NLISEL(0) = 0
|
||
|
DO 110 IELB = 1, NELBLK
|
||
|
IEL = LENE(IELB-1)+1
|
||
|
LEL = LENE(IELB)
|
||
|
NEL = 0
|
||
|
DO 100 I = 1, INEL(0)
|
||
|
IF ((INEL(I) .GE. IEL) .AND. (INEL(I) .LE. LEL)) THEN
|
||
|
LISEL(IEL+NEL) = INEL(I)
|
||
|
NEL = NEL + 1
|
||
|
END IF
|
||
|
100 CONTINUE
|
||
|
LISEL(0) = LISEL(0) + NEL
|
||
|
NLISEL(IELB) = NEL
|
||
|
IF (NEL .GT. 0) NLISEL(0) = NLISEL(0) + 1
|
||
|
110 CONTINUE
|
||
|
|
||
|
RETURN
|
||
|
END
|