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.
 
 
 
 
 
 

74 lines
1.9 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 GETKXN (NPNODE, MAXKXN, NNXK, KXN, NUID, NODE, KLIST,
& NUMK, ERR)
C***********************************************************************
C SUBROUTINE GETKXN = GET THE LIST OF ELEMENTS RELATED TO THIS NODE
C***********************************************************************
DIMENSION KLIST (20), NUID (NPNODE), KXN (NNXK, MAXKXN)
LOGICAL ERR
ERR = .FALSE.
NUM = 0
NN = NODE
C ADD IN THE FIRST THREE NODES LISTED
100 CONTINUE
DO 110 I = 1, 3
IF (KXN (I, NN) .EQ. 0) THEN
NUMK = NUM
IF (NUMK .GE. 1) THEN
RETURN
ELSE
WRITE (*, 10000)NODE, NUID (NODE)
ERR = .TRUE.
RETURN
ENDIF
ENDIF
NUM = NUM + 1
KLIST (NUM) = KXN (I, NN)
110 CONTINUE
C CHECK THE FOURTH NODE FOR CONTINUATION
IF (KXN (4, NN) .LT. 0) THEN
NN = IABS (KXN (4, NN))
IF (NUM .LT. 18) THEN
GOTO 100
ELSE
WRITE (*, 10010)NODE, NUID (NODE)
ERR = .TRUE.
RETURN
ENDIF
C ADD IN THE LAST NODE IF IT IS NONZERO
ELSE
IF (KXN (4, NN) .NE. 0) THEN
NUM = NUM + 1
KLIST (NUM) = KXN (4, NN)
ENDIF
NUMK = NUM
IF (NUMK .GE. 1) THEN
RETURN
ELSE
WRITE (*, 10000)NODE, NUID (NODE)
ERR = .TRUE.
RETURN
ENDIF
ENDIF
10000 FORMAT (' NO ELEMENTS CONNECTED TO NODE', I5, ', NUID = ', I10)
10010 FORMAT (' TOO MANY ELEMENTS CONNECTED TO NODE', I5, ', NUID = ',
& I10)
END