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.
111 lines
3.6 KiB
111 lines
3.6 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
|
|
|
|
C=======================================================================
|
|
SUBROUTINE TPMAIN (A, NEUTRL, NAMES,
|
|
& NPTIMS, IPTIMS, TIMES, WHOTIM, BLKCOL,
|
|
& IDELB, MAPEL, MAPND)
|
|
C=======================================================================
|
|
|
|
C --*** TPMAIN *** (TPLOT) TPLOT main plot routine
|
|
C -- Written by Amy Gilkey - revised 02/29/88
|
|
C --
|
|
C --TPMAIN reads the plot variables, and displays the time-history or
|
|
C --the variable-versus-variable plots.
|
|
C --
|
|
C --Parameters:
|
|
C -- A - IN - the dynamic memory base array
|
|
C -- NEUTRL - IN - the type of neutral file to write.
|
|
C -- NAMES - IN - the variable names
|
|
C -- NPTIMS - IN - the number of selected time steps
|
|
C -- IPTIMS - IN - the selected time steps
|
|
C -- TIMES - IN - the database times
|
|
C -- WHOTIM - IN - true iff whole (versus history) time step
|
|
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 --
|
|
C --Common Variables:
|
|
C -- Uses NTPVAR of /TPVARS/
|
|
|
|
include 'params.blk'
|
|
|
|
PARAMETER (KLFT=1, KRGT=2, KBOT=3, KTOP=4)
|
|
C --These parameters define the indices of 2D limit arrays
|
|
|
|
include 'dbnums.blk'
|
|
include 'tpvars.blk'
|
|
|
|
DIMENSION A(*)
|
|
CHARACTER*(*) NAMES(*)
|
|
INTEGER IPTIMS(NPTIMS)
|
|
REAL TIMES(*)
|
|
LOGICAL WHOTIM(*)
|
|
INTEGER BLKCOL(0:NELBLK)
|
|
INTEGER IDELB(*)
|
|
INTEGER MAPEL(*), MAPND(*)
|
|
|
|
REAL TIMLIM(2)
|
|
|
|
C --Use the selected color table
|
|
CALL GRCOLU ('ALTERNATE')
|
|
|
|
C --Reserve storage for plot variables
|
|
|
|
C --*NOTE* PLTVAL(x,NTPVAR+1) holds the time data
|
|
C -- PLTVAL(x,NTPVAR+2) holds the compressed time data
|
|
LPLVAR = NPTIMS * NTPVAR
|
|
L = 0
|
|
IF (TIMPLT) THEN
|
|
L = NPTIMS + NPTIMS
|
|
END IF
|
|
CALL MDRSRV ('PLTVAL', KPLVAL, LPLVAR + L)
|
|
CALL MDSTAT (NERR, MEM)
|
|
IF (NERR .GT. 0) GOTO 100
|
|
|
|
C --Read plot variables
|
|
|
|
CALL TPREAD (A, NPTIMS, IPTIMS, TIMES, WHOTIM,
|
|
& A(KPLVAL+LPLVAR), A(KPLVAL))
|
|
|
|
CALL MDSTAT (NERR, MEM)
|
|
IF (NERR .GT. 0) GOTO 100
|
|
|
|
C --Compress plot variables
|
|
|
|
CALL MDRSRV ('NPTCRV', KNPTS, NTPVAR)
|
|
CALL MDSTAT (NERR, MEM)
|
|
IF (NERR .GT. 0) GOTO 100
|
|
|
|
CALL SQZTPV (NPTIMS, IPTIMS, WHOTIM, A(KNPTS), A(KPLVAL))
|
|
|
|
C --Plot
|
|
|
|
TIMLIM(1) = TIMES(IPTIMS(1))
|
|
TIMLIM(2) = TIMES(IPTIMS(NPTIMS))
|
|
|
|
CALL TPPLOT (NEUTRL, NPTIMS, A(KNPTS), TIMLIM, A(KPLVAL),
|
|
& NAMES, BLKCOL, MAPEL, MAPND)
|
|
|
|
CALL MDDEL ('PLTVAL')
|
|
CALL MDDEL ('NPTCRV')
|
|
|
|
100 CONTINUE
|
|
RETURN
|
|
END
|
|
|