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.
76 lines
2.5 KiB
76 lines
2.5 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 SQZTPV (NPTIMS, IPTIMS, WHOTIM, NPTS, PLTVAL)
|
||
|
C=======================================================================
|
||
|
|
||
|
C --*** SQZTPV *** (TPLOT) Compress curves for whole time steps
|
||
|
C -- Written by Amy Gilkey - revised 11/11/87
|
||
|
C --
|
||
|
C --SQZTPV compresses the values for TPLOT curves so that only the values
|
||
|
C --for whole time steps are in the curve. Curves of history variables
|
||
|
C --only are left intact.
|
||
|
C --
|
||
|
C --Parameters:
|
||
|
C -- NPTIMS - IN - the number of selected time steps
|
||
|
C -- IPTIMS - IN - the selected time steps
|
||
|
C -- WHOTIM - IN - true iff whole (versus history) time step
|
||
|
C -- NPTS - OUT - the number of points on each curve
|
||
|
C -- PLTVAL - IN/OUT - the plot data;
|
||
|
C -- PLTVAL(x,NTPVAR+1) holds the times if TIMPLT
|
||
|
C -- PLTVAL(x,NTPVAR+2) holds the compressed times if TIMPLT and needed
|
||
|
C --
|
||
|
C --Common Variables:
|
||
|
C -- Uses NTPCRV, NTPVAR, TIMPLT of /TPVARS/
|
||
|
|
||
|
include 'params.blk'
|
||
|
include 'tpvars.blk'
|
||
|
|
||
|
INTEGER IPTIMS(*)
|
||
|
LOGICAL WHOTIM(*)
|
||
|
INTEGER NPTS(NTPVAR+2)
|
||
|
REAL PLTVAL(NPTIMS,NTPVAR+2)
|
||
|
|
||
|
CHARACTER TYPX, TYPY
|
||
|
|
||
|
NSQZ = 0
|
||
|
NPTIMW = NWHSEL (NPTIMS, IPTIMS, WHOTIM)
|
||
|
|
||
|
IF (TIMPLT) TYPX = 'H'
|
||
|
N = 0
|
||
|
DO 100 NP = 1, NTPCRV
|
||
|
IF (.NOT. TIMPLT) THEN
|
||
|
N = N + 1
|
||
|
CALL DBVTYP_BL (ITVID(N), TYPX, IDUM)
|
||
|
END IF
|
||
|
N = N + 1
|
||
|
CALL DBVTYP_BL (ITVID(N), TYPY, IDUM)
|
||
|
IF ((NPTIMS .NE. NPTIMW) .AND.
|
||
|
& ((TYPX .NE. 'H') .OR. (TYPY .NE. 'H'))) THEN
|
||
|
NSQZ = NSQZ + 1
|
||
|
IF (.NOT. TIMPLT) THEN
|
||
|
CALL SQZLGV (NPTIMS, IPTIMS, WHOTIM,
|
||
|
& PLTVAL(1,N-1), NPTS(N-1), PLTVAL(1,N-1))
|
||
|
END IF
|
||
|
CALL SQZLGV (NPTIMS, IPTIMS, WHOTIM,
|
||
|
& PLTVAL(1,N), NPTS(N), PLTVAL(1,N))
|
||
|
ELSE
|
||
|
IF (.NOT. TIMPLT) THEN
|
||
|
NPTS(N-1) = NPTIMS
|
||
|
END IF
|
||
|
NPTS(N) = NPTIMS
|
||
|
END IF
|
||
|
100 CONTINUE
|
||
|
|
||
|
IF ((NSQZ .GT. 0) .AND. TIMPLT) THEN
|
||
|
CALL SQZLGV (NPTIMS, IPTIMS, WHOTIM,
|
||
|
& PLTVAL(1,NTPVAR+1), IDUM, PLTVAL(1,NTPVAR+2))
|
||
|
END IF
|
||
|
|
||
|
RETURN
|
||
|
END
|