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.
61 lines
2.0 KiB
61 lines
2.0 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 RWMAP (NDBIN, NDBOUT, NUMEL, NUMELO, IXELEM,
|
|
& MAPEL, NEWIX)
|
|
C=======================================================================
|
|
C --*** RWMAP *** (ALGEBRA) Read and write database element order map
|
|
C -- Written by Amy Gilkey - revised 04/28/88
|
|
C -- Modified for EXODUSIIV2 format 8/29/95
|
|
C --
|
|
C --RWMAP reads and writes the element order map to the database.
|
|
C --Deleted elements are removed.
|
|
C --
|
|
C --Parameters:
|
|
C -- NDBIN, NDBOUT - IN - the input and output database file
|
|
C -- NUMEL - IN - the number of elements
|
|
C -- NUMELO - IN - the number of output elements
|
|
C -- IXELEM - IN - the indices of the output elements (iff NUMELO <> NUMEL)
|
|
C -- IOERR - OUT - input/output error flag
|
|
C -- MAPEL - SCRATCH - the element order map
|
|
C -- NEWIX - SCRATCH - size = NUMEL (iff NUMELO <> NUMEL)
|
|
C --
|
|
C --Database must be positioned at start of map upon entry;
|
|
C --upon exit at end of map.
|
|
|
|
INTEGER IXELEM(*)
|
|
INTEGER MAPEL(*)
|
|
INTEGER NEWIX(*)
|
|
|
|
call exgmap (ndbin, mapel, ierr)
|
|
|
|
IF ((NUMELO .GT. 0) .AND. (NUMEL .NE. NUMELO)) THEN
|
|
do ix = 1, numelo
|
|
newix(ix) = mapel(ixelem(ix))
|
|
end do
|
|
do ix = 1, numelo
|
|
mapel(ix) = newix(ix)
|
|
end do
|
|
END IF
|
|
|
|
call expmap(ndbout, mapel, ierr)
|
|
|
|
call exgenm(ndbin, mapel, ierr)
|
|
|
|
IF ((NUMELO .GT. 0) .AND. (NUMEL .NE. NUMELO)) THEN
|
|
do ix = 1, numelo
|
|
newix(ix) = mapel(ixelem(ix))
|
|
end do
|
|
do ix = 1, numelo
|
|
mapel(ix) = newix(ix)
|
|
end do
|
|
END IF
|
|
|
|
call expenm(ndbout, mapel, ierr)
|
|
|
|
RETURN
|
|
END
|
|
|