File: empcor.f

package info (click to toggle)
nastran 0.1.95-2
  • links: PTS, VCS
  • area: non-free
  • in suites: bookworm, bullseye, sid
  • size: 122,540 kB
  • sloc: fortran: 284,409; sh: 771; makefile: 324
file content (46 lines) | stat: -rw-r--r-- 1,191 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
      SUBROUTINE EMPCOR(MT1X,MT2X,PT,PC,FRSROW,MIDROW,LASROW,NX,A,Z)
C
C     EMPTY CORE OF A TRIANGULAR MATRIX
C
      INTEGER PT,PC,FRSROW,ROW,MCB(7)
      REAL A(1),Z(1)
C
C
C     MT1      FIRST PART OF THE MATRIX (UP TO ROW -MIDROW-).
C     MT2      REST OF THE MATRIX.
C     PT       PRECISION OF THE MATRIX ON TAPE.
C     PC       ......... .. ... ...... IN CORE.
C     FRSROW   FIRST ROW IN CORE.
C     LAST     LAST  ... .. CORE.
C     N        SIZE OF THE COMPLETE MATRIX.
C     A        LOCATION OF THE COMPLETE MATRIX.
C
      COMMON /PACKX/IT1,IT2,II,JJ,INCR
      DATA  MCB /7*0/
      MT1 = MT1X
      MT2 = MT2X
      N   = NX
      MT  = MT1
      IF(FRSROW .GT. MIDROW .AND. MT2 .NE. 0) MT = MT2
      NA  =1
      INCR = 1
      IT1 = PC
      IT2 = PT
      JJ  = N
      DO 105 ROW =  FRSROW,LASROW
      II = ROW
      CALL PACK(A(NA),MT,MCB)
      IF( ROW .EQ. N) GO TO 110
      NA = NA + PC* (N-ROW+1)
      IF( ROW .NE. MIDROW .OR. MT2 .EQ. 0) GO TO 105
      CALL CLOSE(MT,1)
      MT = MT2
      CALL GOPEN(MT,Z,1)
  105 CONTINUE
      GO TO 115
C
C     END OF CORE DUMP
C
  110 CALL CLOSE(MT,1)
  115 RETURN
      END