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.
55 lines
1.7 KiB
55 lines
1.7 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 CONDNO (MXND, NODES, QRAT, SRAT, COND, SIDES, XN, YN,
|
|
& LSIDE)
|
|
C***********************************************************************
|
|
|
|
C SUBROUTINE CONDNO = COMPUTES EVALUATOR FUNCTIONS FOR RESTRUCTURING
|
|
|
|
C***********************************************************************
|
|
|
|
C VARIABLES USED:
|
|
C LSIDE = .TRUE. IF SIDES ARRAY IS TO BE FILLED
|
|
C NODES = THE FOUR NODES OF THE ELEMENT
|
|
C QRAT = THE RATIO OF SMALLEST TO LARGEST ANGLE
|
|
C SRAT = THE RATIO OF SMALLEST TO LARGEST SIDE
|
|
C COND = SRAT*QRAT
|
|
|
|
C***********************************************************************
|
|
|
|
DIMENSION NODES (4), SIDES (4), XN (MXND), YN (MXND)
|
|
|
|
LOGICAL LSIDE
|
|
|
|
N1 = NODES (1)
|
|
N2 = NODES (2)
|
|
N3 = NODES (3)
|
|
N4 = NODES (4)
|
|
SS1 = (XN (N1) - XN (N2)) **2 + (YN (N1) - YN (N2)) **2
|
|
SS2 = (XN (N2) - XN (N3)) **2 + (YN (N2) - YN (N3)) **2
|
|
SS3 = (XN (N3) - XN (N4)) **2 + (YN (N3) - YN (N4)) **2
|
|
SS4 = (XN (N4) - XN (N1)) **2 + (YN (N4) - YN (N1)) **2
|
|
AMAX = AMAX1 (SS1, SS3)
|
|
AMIN = AMIN1 (SS1, SS3)
|
|
BMAX = AMAX1 (SS2, SS4)
|
|
BMIN = AMIN1 (SS2, SS4)
|
|
IF (AMIN * BMIN .GT. 0.0) THEN
|
|
SRAT = SQRT (SQRT (AMAX * BMAX / (AMIN * BMIN)))
|
|
ELSE
|
|
SRAT = 1.0E10
|
|
ENDIF
|
|
COND = QRAT * SRAT
|
|
IF (LSIDE) THEN
|
|
SIDES (1) = SQRT (SS1)
|
|
SIDES (2) = SQRT (SS2)
|
|
SIDES (3) = SQRT (SS3)
|
|
SIDES (4) = SQRT (SS4)
|
|
ENDIF
|
|
|
|
RETURN
|
|
|
|
END
|
|
|