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.
77 lines
2.3 KiB
77 lines
2.3 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 SPSTOR (A, ISTEP, TYP, NWRDS, NVAR, NENUM,
|
|
& PLTVAL, DATA)
|
|
C=======================================================================
|
|
|
|
C --*** SPSTOR *** (SPLOT) Read and store plot variables from database
|
|
C -- Written by Amy Gilkey - revised 11/05/87
|
|
C --
|
|
C --SPSTOR reads variables from the database and stores any that are
|
|
C --plot variables in the appropriate location. It reads only one
|
|
C --variable type (nodal or element) per call.
|
|
C --
|
|
C --Parameters:
|
|
C -- A - IN - the dynamic memory base array
|
|
C -- ISTEP - IN - the time step number
|
|
C -- TYP - IN - the variable type ("N"odal or "E"lement)
|
|
C -- NWRDS - IN - the number of words in a data record
|
|
C -- NVAR - IN - the number of records to read
|
|
C -- NENUM - IN - the selected node/element numbers
|
|
C -- PLTVAL - OUT - the plot data array
|
|
C -- DATA - SCRATCH - size = NWRDS
|
|
C --
|
|
C --Common Variables:
|
|
C -- Uses NELBLK, NVAREL of /DBNUMS/
|
|
C -- Uses NNENUM of /SELNE/
|
|
C -- Uses NSPVAR, ISVID of /SPVARS/
|
|
|
|
include 'params.blk'
|
|
include 'dbnums.blk'
|
|
include 'selne.blk'
|
|
include 'spvars.blk'
|
|
|
|
DIMENSION A(*)
|
|
CHARACTER TYP
|
|
INTEGER NENUM(NNENUM)
|
|
REAL PLTVAL(NNENUM,NSPVAR)
|
|
REAL DATA(NWRDS)
|
|
|
|
LOGICAL NEED
|
|
|
|
CALL DBVIX_BL (TYP, 1, ISID)
|
|
CALL DBVIX_BL (TYP, NVAR, IEID)
|
|
|
|
DO 120 ID = ISID, IEID
|
|
|
|
C --Determine if variable is needed
|
|
|
|
NEED = (LOCINT (ID, NSPVAR, ISVID) .GT. 0)
|
|
|
|
IF (NEED) THEN
|
|
|
|
C --Read nodal/element variable
|
|
|
|
CALL GETVAR (A, ID, -1, ISTEP, NWRDS, DATA)
|
|
|
|
C --Scan plot variable information and store if a node/element
|
|
C --point from this data is to be plotted
|
|
|
|
DO 110 N = 1, NSPVAR
|
|
IF (ID .EQ. ISVID(N)) THEN
|
|
DO 100 I = 1, NNENUM
|
|
NE = NENUM(I)
|
|
PLTVAL(I,N) = DATA(NE)
|
|
100 CONTINUE
|
|
END IF
|
|
110 CONTINUE
|
|
END IF
|
|
120 CONTINUE
|
|
|
|
RETURN
|
|
END
|
|
|