Cloned SEACAS for EXODUS library with extra build files for internal package management.
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

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