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.
 
 
 
 
 
 

56 lines
1.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 DBONM1 (NDB, NELBLK, NVAREL, ISEVOK, IEVOK, NBLKDM)
C=======================================================================
C --*** DBONM1 *** (EXOLIB) Internal to DBONAM
C --
C --DBONM1 writes the element block variable truth table.
C --
C --Parameters:
C -- NDB - IN - the database number
C -- NELBLK - IN - the number of element blocks
C -- NVAREL - IN - the number of element variables
C -- ISEVOK - IN - the element block variable truth table;
C -- variable i of block j exists iff ISEVOK(i,j)
C -- IEVOK - SCRATCH - size = NELBLK * NVAREL (may overlap ISEVOK)
C --
C --Database must be positioned in front of truth table upon entry;
C --upon exit positioned after table.
INTEGER NDB
INTEGER NELBLK, NVAREL
c LOGICAL ISEVOK(nvarel,*)
integer ISEVOK(nvarel,*)
INTEGER IEVOK(nvarel,*)
C --Write the element block variable truth table
IF ((NVAREL .GT. 0) .AND. (NELBLK .GT. 0)) THEN
DO 110 IELB = 1, NELBLK
DO 100 I = 1, NVAREL
IF (ISEVOK(I,IELB) .ne. 0) THEN
IEVOK(I,IELB) = 1
ELSE
IEVOK(I,IELB) = 0
END IF
100 CONTINUE
110 CONTINUE
WRITE (NDB) ((IEVOK(I,IELB), I=1,NVAREL), IELB=1,NELBLK)
c DO 130 IELB = 1, NELBLK
c DO 120 I = 1, NVAREL
c ISEVOK(IELB,I) = (IEVOK(IELB,I) .EQ. 1)
c 120 CONTINUE
c 130 CONTINUE
ELSE
WRITE (NDB) 0
END IF
RETURN
END