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.
88 lines
3.1 KiB
88 lines
3.1 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 SOLID (LENF, NLNKF, LINKF, NXFAC, IXFAC,
|
||
|
& XN, YN, ZN, IELBST, BLKCOL, IDELB, *)
|
||
|
C=======================================================================
|
||
|
|
||
|
C --*** SOLID *** (DETOUR) Paint solid mesh (by index)
|
||
|
C -- Modified by John Glick - 11/29/88
|
||
|
C -- Written by Amy Gilkey - revised 10/27/87
|
||
|
C --
|
||
|
C --SOLID paints the mesh in the color of each element's element block.
|
||
|
C --
|
||
|
C --Parameters:
|
||
|
C -- LENF - IN - the cumulative face counts by element block
|
||
|
C -- NLNKF - IN - the number of nodes per face
|
||
|
C -- LINKF - IN - the connectivity for all faces
|
||
|
C -- NXFAC - IN - the number of ordered faces (if DOIXF)
|
||
|
C -- IXFAC - IN - the indices of the ordered faces (if DOIXF)
|
||
|
C -- XN, YN, ZN - IN - the nodal coordinates
|
||
|
C -- IELBST - IN - the element block status (>0 if selected)
|
||
|
C -- BLKCOL - IN/OUT - the user selected colors of the element blocks.
|
||
|
C -- BLKCOL(0) = 1 if the user defined material
|
||
|
C -- colors should be used in mesh plots.
|
||
|
C -- = -1 if program selected colors should
|
||
|
C -- be used.
|
||
|
C -- BLKCOL(i) = the user selected color of element
|
||
|
C -- block i:
|
||
|
C -- -2 - no color selected by user.
|
||
|
C -- -1 - black
|
||
|
C -- 0 - white
|
||
|
C -- 1 - red
|
||
|
C -- 2 - green
|
||
|
C -- 3 - yellow
|
||
|
C -- 4 - blue
|
||
|
C -- 5 - cyan
|
||
|
C -- 6 - magenta
|
||
|
C -- * - return statement if the cancel function is active
|
||
|
C --
|
||
|
C --Common Variables:
|
||
|
C -- Uses NUMEL, NELBLK of /DBNUMS/
|
||
|
C -- Uses IS3DIM of /D3NUMS/
|
||
|
|
||
|
include 'dbnums.blk'
|
||
|
COMMON /D3NUMS/ IS3DIM, NNPSUR, NUMNPF, LLNSET
|
||
|
LOGICAL IS3DIM
|
||
|
|
||
|
INTEGER LENF(0:NELBLK)
|
||
|
INTEGER NLNKF(NELBLK)
|
||
|
INTEGER LINKF(*)
|
||
|
INTEGER IXFAC(*)
|
||
|
REAL XN(*), YN(*), ZN(*)
|
||
|
INTEGER IELBST(NELBLK)
|
||
|
INTEGER BLKCOL(0:NELBLK)
|
||
|
INTEGER IDELB(*)
|
||
|
|
||
|
LOGICAL GRABRT
|
||
|
|
||
|
DO 100 IX = 1, NXFAC
|
||
|
IFAC = IXFAC(IX)
|
||
|
IELB = 0
|
||
|
IXL = IDBLNK (IELB, IFAC, LENF, NLNKF)
|
||
|
|
||
|
IF (GRABRT ()) RETURN 1
|
||
|
IF (IELB .GT. 0) THEN
|
||
|
c ITEMP = IDELB(IELB)
|
||
|
ITEMP = IELB
|
||
|
ELSE
|
||
|
ITEMP = IELB
|
||
|
ENDIF
|
||
|
CALL UGRCOL (ITEMP, BLKCOL)
|
||
|
IF ( (.NOT. IS3DIM) .AND. (NLNKF(IELB) .EQ. 9)) THEN
|
||
|
NNPF = 8
|
||
|
ELSE
|
||
|
NNPF = NLNKF(IELB)
|
||
|
ENDIF
|
||
|
CALL SOLIDF (NNPF, LINKF(IXL), XN, YN, ZN)
|
||
|
100 CONTINUE
|
||
|
|
||
|
CALL PLTFLU
|
||
|
|
||
|
RETURN
|
||
|
END
|