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.
115 lines
3.8 KiB
115 lines
3.8 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 RDMMAX (IFLD, INTYP, CFIELD,
|
|
& NAMIGV, NAMINV, NAMIEV,
|
|
& NAMOGV, NAMONV, NAMOEV,
|
|
& NSTEP, MMSTEP, MMNAME, MMTYP, MMVAR, MMNUM, *)
|
|
C=======================================================================
|
|
|
|
C --*** RDMMAX *** (EXPLORE) Parse the MINMAX command parameters
|
|
C --
|
|
C --RDMMAX parses the MINMAX command parameters. It first reads
|
|
C --the name, if any, and determines its type and variable number.
|
|
C --It then reads the 'ALL' versus 'THIS' parameter.
|
|
C --
|
|
C --Parameters:
|
|
C -- IFLD - IN/OUT - the number of the next entry to scan, incremented
|
|
C -- INTYP - IN - the free-format field types
|
|
C -- -1 = none, 0 = name, 1 = real, 2 = integer
|
|
C -- CFIELD - IN - the input character fields
|
|
C -- NAMIGV - IN - the names of the global variables as input
|
|
C -- NAMINV - IN - the names of the nodal variables as input
|
|
C -- NAMIEV - IN - the names of the element variables as input
|
|
C -- NAMOGV - IN - the names of the global variables for comparison
|
|
C -- NAMONV - IN - the names of the nodal variables for comparison
|
|
C -- NAMOEV - IN - the names of the element variables for comparison
|
|
C -- NSTEP - IN - the current step number
|
|
C -- MMSTEP - IN/OUT - the requested step number, <=0 for all
|
|
C -- MMNAME - IN/OUT - min/max variable name
|
|
C -- MMTYP - IN/OUT - min/max variable type:
|
|
C -- 'G'lobal, 'N'odal, 'E'lement
|
|
C -- MMVAR - IN/OUT - min/max variable number
|
|
C -- MMNUM - IN/OUT - number of sequential min/max requests for this
|
|
C -- variable
|
|
C -- * - return statement if invalid range of integers specified;
|
|
C -- message printed
|
|
C --
|
|
C --Common Variables:
|
|
C -- Uses NVARNP, NVAREL, NVARGL of /DBNUMS/
|
|
|
|
include 'exodusII.inc'
|
|
include 'exp_dbnums.blk'
|
|
|
|
INTEGER INTYP(*)
|
|
CHARACTER*(*) CFIELD(*)
|
|
CHARACTER*(*) NAMIGV(*), NAMINV(*), NAMIEV(*)
|
|
CHARACTER*(*) NAMOGV(*), NAMONV(*), NAMOEV(*)
|
|
CHARACTER*(*) MMNAME
|
|
CHARACTER MMTYP
|
|
|
|
CHARACTER*(256) NAME, WORD
|
|
CHARACTER CH
|
|
|
|
CALL FFCHAR (IFLD, INTYP, CFIELD, ' ', NAME)
|
|
|
|
IF (NAME .NE. ' ') THEN
|
|
|
|
C --Get the variable name
|
|
|
|
IV = LOCSTR (NAME, NVARGL, NAMOGV)
|
|
IF (IV .GT. 0) THEN
|
|
CH = 'G'
|
|
NAME = NAMIGV(IV)
|
|
ELSE
|
|
IV = LOCSTR (NAME, NVARNP, NAMONV)
|
|
IF (IV .GT. 0) THEN
|
|
CH = 'N'
|
|
NAME = NAMINV(IV)
|
|
ELSE
|
|
IV = LOCSTR (NAME, NVAREL, NAMOEV)
|
|
IF (IV .GT. 0) THEN
|
|
CH = 'E'
|
|
NAME = NAMIEV(IV)
|
|
END IF
|
|
END IF
|
|
END IF
|
|
IF (IV .LE. 0) THEN
|
|
CALL PRTERR ('CMDERR', 'Expected variable name')
|
|
GOTO 100
|
|
END IF
|
|
|
|
C --Get the ALL (versus this time step) field
|
|
|
|
CALL FFCHAR (IFLD, INTYP, CFIELD, 'THIS', WORD)
|
|
IF (WORD .EQ. 'ALL') THEN
|
|
MMSTEP = 0
|
|
ELSE IF (WORD .EQ. 'THIS') THEN
|
|
MMSTEP = NSTEP
|
|
ELSE
|
|
CALL PRTERR ('CMDERR', 'Expected "ALL" or "THIS"')
|
|
GOTO 100
|
|
END IF
|
|
|
|
MMNAME = NAME
|
|
MMVAR = IV
|
|
MMTYP = CH
|
|
MMNUM = 1
|
|
ELSE
|
|
|
|
C --Get next min/max for last variable
|
|
|
|
IF (MMVAR .EQ. 0) THEN
|
|
CALL PRTERR ('CMDERR', 'Expected variable name')
|
|
GOTO 100
|
|
END IF
|
|
END IF
|
|
|
|
RETURN
|
|
|
|
100 CONTINUE
|
|
RETURN 1
|
|
END
|
|
|