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.

81 lines
2.4 KiB

2 years ago
C Copyright(C) 1999-2020, 2023 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 PRXYZ (OPTION, NOUT, NDIM, NAMECO, NUMNP, LISNP, CORD,
* MAP, DOMAP)
C=======================================================================
C --*** PRXYZ *** (EXPLORE) Display database coordinates
C --
C --PRXYZ displays the coordinate array.
C --
C --Parameters:
C -- OPTION - IN - '*' to print all, else print options
C -- NOUT - IN - the output file, <=0 for standard
C -- NDIM - IN - the number of coordinates per node
C -- NAMECO - IN - the coordinate names
C -- NUMNP - IN - the number of nodes
C -- LISNP - IN - the indices of the selected nodes
C -- CORD - IN - the nodal coordinates
include 'exodusII.inc'
CHARACTER*(*) OPTION
CHARACTER*(*) NAMECO(*)
INTEGER LISNP(0:*)
REAL CORD(NUMNP,NDIM)
INTEGER MAP(*)
LOGICAL DOMAP
INTEGER GETPRC, PRTLEN
CHARACTER*128 FMT1, FMT
PRTLEN = GETPRC() + 7
WRITE(FMT1,20) PRTLEN, PRTLEN-7
CALL SQZSTR(FMT1, LFMT)
WRITE(FMT, 30) FMT1(:LFMT), FMT1(:LFMT)
IF (NOUT .GT. 0) WRITE (NOUT, 10000)
if (domap) then
if (nout .gt. 0) then
write (nout, 10005)
else
write (*, 10005)
end if
end if
IF (NOUT .GT. 0) THEN
WRITE (NOUT, 10010) (NAMECO(I)(:8), I=1,NDIM)
ELSE
WRITE (*, 10010) (NAMECO(I)(:8), I=1,NDIM)
END IF
DO 100 IX = 1, LISNP(0)
INP = LISNP(IX)
if (domap) then
id = map(inp)
else
id = inp
end if
IF (NOUT .GT. 0) THEN
WRITE (NOUT, FMT, IOSTAT=IDUM)
& ID, (CORD(INP,I), I=1,NDIM)
ELSE
WRITE (*, FMT, IOSTAT=IDUM)
& ID, (CORD(INP,I), I=1,NDIM)
END IF
100 CONTINUE
RETURN
10000 FORMAT (/, 1X, 'COORDINATES')
10005 FORMAT (1X, 'Nodal ids are Global')
20 FORMAT('1PE',I2.2,'.',I2.2)
30 FORMAT('(1X, ''Node'', I12, 5 (2X, ',A,'), :, /,',
$ '(15X, 5 (2X, ',A,')))')
10010 FORMAT (/, 1X, 8X, 5X, 4X, 5 (2X, A8, :, 3X), :, /,
& (1X, 6 (7X, A8, :, 9X)))
END