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.
 
 
 
 
 
 

48 lines
1.5 KiB

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 LTADD (MDIM, MDIMO, N, LINK, IHOLD)
C***********************************************************************
C SUBROUTINE LTADD = LOOKUP TABLE REINSURTION FOR DATA POINTER ARRAYS
C***********************************************************************
C VARIABLES USED:
C MDIM = DIMENSION OF LINK ARRAY, AND BASE FOR LOOKUP START
C LINK = LOOKUP TABLE ARRAY OF ID'S AND POINTERS
C LINK(1,I) = ID VALUE STORED IN I'TH ROW (0 IF EMPTY)
C LINK(2,I) = DATA POINTER ASSOCIATED W/THIS I'TH ID VALUE
C IHOLD = TEMPORARY LINK ARRAY TO BE USED FOR REINSURRTION
C***********************************************************************
DIMENSION LINK(2,MDIM), IHOLD(2,MDIM)
LOGICAL ADDLNK
ADDLNK=.TRUE.
C SORT THROUGH THE ORIGINAL LINK LIST AND LINK VALID ENTRIES IN THE
C IHOLD LIST
DO 100 I = 1, MDIMO
IF ( (LINK(1,I) .NE. 0) .AND. (LINK(2,I) .LE. N) )
& CALL LTSORT (MDIM, IHOLD, IABS(LINK(1,I)), LINK(2,I),
& ADDLNK)
100 CONTINUE
C TRANSFER THE IHOLD LIST BACK TO THE LINK LIST
DO 120 I = 1, MDIM
DO 110 J = 1, 2
LINK(J,I) = IHOLD (J, I)
110 CONTINUE
120 CONTINUE
RETURN
END