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.
54 lines
1.5 KiB
54 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 LUPANG (MXND, MLN, XN, YN, ZN, LXK, KXL, NXL, LXN,
|
|
& NLOOP, ANGLE, LNODES, NSTART, LLL, XMIN, XMAX, YMIN, YMAX,
|
|
& ZMIN, ZMAX, DEV1, KREG, ERR)
|
|
C***********************************************************************
|
|
|
|
C SUROUTINE LUPANG = CALCULATES THE NEW ANGLES FOR ALL NODES IN A LOOP
|
|
|
|
C***********************************************************************
|
|
|
|
DIMENSION XN (MXND), YN (MXND), ZN(MXND)
|
|
DIMENSION LXN(4, MXND), NXL(2, 3*MXND)
|
|
DIMENSION LXK(4, MXND), KXL(2, 3*MXND)
|
|
DIMENSION ANGLE (MXND), LNODES (MLN, MXND)
|
|
|
|
LOGICAL ERR
|
|
|
|
CHARACTER*3 DEV1
|
|
|
|
ERR = .FALSE.
|
|
|
|
C LOOP AROUND THE INTERIOR PERIMETER CALCULATING THE NEW
|
|
C ANGLES
|
|
|
|
N1 = NSTART
|
|
KOUNT = 0
|
|
100 CONTINUE
|
|
N0 = LNODES (2, N1)
|
|
N2 = LNODES (3, N1)
|
|
CALL GETANG (MXND, MLN, XN, YN, LNODES, LXK, KXL, NXL, LXN,
|
|
& N0, N1, N2, ANGLE (N1), ERR)
|
|
IF (ERR) THEN
|
|
CALL MESSAGE(' ** ERROR IN LUPANG ** ')
|
|
GOTO 110
|
|
ENDIF
|
|
N1 = N2
|
|
IF (N1 .EQ. NSTART) GOTO 110
|
|
KOUNT = KOUNT+1
|
|
IF (KOUNT .GT. NLOOP) THEN
|
|
CALL MESSAGE(' ** ERROR IN LUPANG ** ')
|
|
ERR = .TRUE.
|
|
GOTO 110
|
|
ENDIF
|
|
GOTO 100
|
|
|
|
110 CONTINUE
|
|
RETURN
|
|
|
|
END
|
|
|