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.
110 lines
3.3 KiB
110 lines
3.3 KiB
2 years ago
|
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 NEWINI (IDNSUR, IDESUR, NSSUR, NESUR, BLKTYP, IBPARM)
|
||
|
C=======================================================================
|
||
|
|
||
|
C --*** NEWINI *** (GEN3D) Calculate 3D initial variables
|
||
|
C -- Written by Amy Gilkey - revised 09/02/87
|
||
|
C --
|
||
|
C --NEWINI calculates the initial variables for the 3D database.
|
||
|
C --The output number of nodes and elements and the length of the node
|
||
|
C --sets and the side sets must be calculated before NEWINI is called.
|
||
|
C --
|
||
|
C --Parameters:
|
||
|
C -- IDNSUR - IN - the number of surface node sets
|
||
|
C -- IDESUR - IN - the number of surface side sets
|
||
|
C -- NSSUR - IN - the number of nodes in the surface side set
|
||
|
C -- NESUR - IN - the number of elements in the surface side set
|
||
|
C -- BLKTYP - IN - the element block type
|
||
|
C -- IBPARM - IN - the block parameters (defined by the block type)
|
||
|
C --
|
||
|
C --Common Variables:
|
||
|
C -- Uses NDIM, NUMNP, NUMEL, NELBLK,
|
||
|
C -- NUMNPS, LNPSNL, NUMESS, LESSEL, LESSNL of /DBNUMS/
|
||
|
C -- Uses NUMNP3, NUMEL3, LNPSN3, LESSE3, LESSN3 of /DBNUM3/
|
||
|
C -- Uses LNPSNO, LESSEO, LESSNO of /DBNUM3/
|
||
|
C -- Sets NUMNP3, NDIM3, NUMEL3, NELBL3,
|
||
|
C -- NNPS3, LNPSN3, NESS3, LESSE3, LESSN3 of /DBNUM3/
|
||
|
C -- Uses NNREPL, NEREPL of /PARAMS/
|
||
|
|
||
|
INCLUDE 'g3_dbtitl.blk'
|
||
|
INCLUDE 'g3_dbnums.blk'
|
||
|
INCLUDE 'g3_dbnum3.blk'
|
||
|
INCLUDE 'g3_params.blk'
|
||
|
|
||
|
CHARACTER BLKTYP(NELBLK)
|
||
|
INTEGER IBPARM(4,NELBLK)
|
||
|
|
||
|
C --Database title - unchanged
|
||
|
|
||
|
CONTINUE
|
||
|
|
||
|
C --Number of dimensions
|
||
|
|
||
|
NDIM3 = 3
|
||
|
|
||
|
C --Number of nodes and elements, set by RENUMB
|
||
|
|
||
|
CONTINUE
|
||
|
|
||
|
C --Number of element blocks
|
||
|
|
||
|
NELBL3 = 0
|
||
|
DO 30 IELB = 1, NELBLK
|
||
|
IF (BLKTYP(IELB) .EQ. 'T') THEN
|
||
|
NRSTRT = 1
|
||
|
NREND = IBPARM(1,IELB) - 1
|
||
|
NBLK = 1
|
||
|
10 CONTINUE
|
||
|
NRSTRT = NREND + 1
|
||
|
IF (NRSTRT .LE. IBPARM(2,IELB)) THEN
|
||
|
NREND = MIN (IBPARM(2,IELB), NREND + IBPARM(3,IELB))
|
||
|
ELSE
|
||
|
NREND = NEREPL
|
||
|
END IF
|
||
|
NBLK = NBLK + 1
|
||
|
IF (NREND .LT. NEREPL) GOTO 10
|
||
|
IBPARM(4,IELB) = NBLK
|
||
|
NELBL3 = NELBL3 + NBLK
|
||
|
|
||
|
ELSE IF (BLKTYP(IELB) .EQ. 'S') THEN
|
||
|
NBLK = 1
|
||
|
NR = NRTRAN(NBLK)
|
||
|
20 CONTINUE
|
||
|
IF (NEREPL .GT. NR) THEN
|
||
|
NBLK = NBLK + 1
|
||
|
NR = NR + NRTRAN(NBLK)
|
||
|
GOTO 20
|
||
|
END IF
|
||
|
IBPARM(4,IELB) = NBLK
|
||
|
NELBL3 = NELBL3 + NBLK
|
||
|
|
||
|
ELSE
|
||
|
NELBL3 = NELBL3 + 1
|
||
|
END IF
|
||
|
30 CONTINUE
|
||
|
|
||
|
C --Lengths of node sets set by NEWNPS
|
||
|
C --Lengths of side sets set by NEWESS
|
||
|
|
||
|
C --LNPSN3 = LNPSNL * NNREPL
|
||
|
C --LESSE3 = LESSEL * NEREPL
|
||
|
C --LESSN3 = LESSE3 * 2
|
||
|
|
||
|
C --Number and lengths of sets, including front and back sets
|
||
|
|
||
|
NNPS3 = NUMNPS + IDNSUR
|
||
|
LNPSN3 = LNPSNO + IDNSUR*NUMNP
|
||
|
|
||
|
NESS3 = NUMESS + IDESUR
|
||
|
LESSE3 = LESSEO + IDESUR*NESUR
|
||
|
LESSN3 = LESSNO + IDESUR*NSSUR
|
||
|
|
||
|
RETURN
|
||
|
END
|