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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
|
SUBROUTINE SCALED (TYPE,EMORD)
C
C THIS ROUTINE PROCESSES CELAS, CDAMP, AND CMASS ELEMENTS.
C
C TYPE - DENOTES FORM OF EST DATA. IE CELAS1,CELAS2,ETC.
C EMORD - DENOTES MATRIX 1 = CELAS = STIFFNESS MATRIX,
C 2 = CMASS = MASS MATRIX,
C 3 = CDAMP = DAMPING MATRIX
C
C EST FOR ELAS ELEMENTS
C
C TYPE TYPE TYPE TYPE
C CELAS1 CELAS2 CELAS3 CELAS4
C ------ ---- ------ ---- ------ ---- ------ ----
C ECPT(1) IELID I IELID I IELID I IELID I
C ECPT(2) IGP1 I K R IS1 I K R
C ECPT(3) IGP2 I IGP1 I IS2 I IS1 I
C ECPT(4) IC1 I IGP2 I K R IS2 I
C ECPT(5) IC2 I IC1 I GSUBE R
C ECPT(6) K R IC2 I S R
C ECPT(7) GSUBE R GSUBE R
C ECPT(8) S R S R
C
LOGICAL NOGO
INTEGER TYPE,EMORD,EID,ISIL(2),ICOMP(2),GPT(4),CPT(2),
1 KPT(4),GSPT(4),CODE,IEST(1),DICT(7),GSUBE,ELID,
2 ESTID
DOUBLE PRECISION DZ(16)
DIMENSION Z(16)
CHARACTER UFM*23,UWM*25
COMMON /XMSSG / UFM,UWM
COMMON /EMGEST/ EST(100)
COMMON /EMGPRM/ DUMY(15),IMAT(3),IPREC,NOGO
COMMON /SYSTEM/ KSYSTM(65)
COMMON /EMGDIC/ DUM2(2),NLOCS,ELID,ESTID
EQUIVALENCE (KSYSTM(2),IOUTPT),(Z(1),DZ(1)),(IEST(1),EST(1))
DATA GPT / 2, 3, 2, 3 /, CPT / 4, 5 /, KPT /6, 2, 4, 2 /
DATA GSPT / 7, 7, 5, 0 /
C
C TEST IF MATRIX TO BE PRODUCED IS REQUESTED
C
IF (IMAT(EMORD) .EQ. 0) RETURN
C
C MOVE EST DATA TO LOCAL ARRAYS. LOCATIONS ARE GIVEN BY DATA //
C
EID = IEST(1)
IP = KPT(TYPE)
Z(1) = EST(IP)
GSUBE = 0
ICOMP(1)= 0
ICOMP(2)= 0
DICT(2) = 1
NGRIDS = 2
IP = GPT(TYPE)
ISIL(1) = IEST(IP)
ISIL(2) = IEST(IP+1)
IF (TYPE .GE. 3) GO TO 10
IP = CPT(TYPE)
IF (IEST(IP ) .NE. 0) ICOMP(1) = IEST(IP ) - 1
IF (IEST(IP+1) .NE. 0) ICOMP(2) = IEST(IP+1) - 1
C
C IF ONE SIL IS ZERO INSURE THAT IT IS THE SECOND.
C IF BOTH SILS ARE NON-ZERO MAKE SURE HIGHER OF TWO IS SECOND.
C
10 IF (ISIL(2) .EQ. 0) GO TO 5
IF (ISIL(1) .EQ. 0) GO TO 4
IF (ISIL(1) .LE. ISIL(2)) GO TO 5
C
C SWITCH SILS AND COMPS
C
4 IP = ISIL(2)
ISIL(2) = ISIL(1)
ISIL(1) = IP
IP = ICOMP(2)
ICOMP(2)= ICOMP(1)
ICOMP(1)= IP
5 IF (ISIL(2) .GT. 0) GO TO 20
C
C IF THE SECOND SIL EQUALS ZERO THE ELEMENT IS GROUNDED
C ONLY A SINGLE MATRIX TERM IS PRODUCED
C
NGRIDS = 1
DICT(2)= 1
NTERMS = 1
CODE = 2**ICOMP(1)
NCOL = 1
GO TO 80
C
20 IF (ISIL(2) .NE. ISIL(1)) GO TO 30
C
C IF THE ELEMENT CONNECTS TWO COMPONENTS OF THE SAME POINT IT
C MUST HAVE SPECIAL TREATMENT
C
IF (ICOMP(2) .EQ. ICOMP(1)) GO TO 110
C
C IN THE GENERAL CASE, THE CONNECTED COMPONENTS MAY BE THE SAME
C AND THE MATRIX IS A 2 BY 2. IF THE COMPONENTS ARE DIFFERENT
C THE MATRIX WILL BE A 4 BY 4 WITH ADDITIONAL ZEROS.
C
GO TO 40
30 IF (ICOMP(1) .EQ. ICOMP(2)) GO TO 70
C
40 NTERMS= 16
CODE = 2**ICOMP(1) + 2**ICOMP(2)
NCOL = 4
DO 50 I = 2,16
Z( I) = 0.0
50 CONTINUE
IF (ICOMP(2) .LT. ICOMP(1)) GO TO 60
Z( 4) =-Z(1)
Z(13) =-Z(1)
Z(16) = Z(1)
IF (ISIL(1) .NE. ISIL(2)) GO TO 80
Z( 2) = Z( 4)
Z( 5) = Z(13)
Z( 6) = Z(16)
Z( 4) = 0.0
Z(13) = 0.0
Z(16) = 0.0
GO TO 80
60 Z( 6) = Z(1)
Z( 7) =-Z(1)
Z(10) =-Z(1)
Z(11) = Z(1)
Z( 1) = 0.0
IF (ISIL(1) .NE. ISIL(2)) GO TO 80
Z( 1) = Z(11)
Z( 2) = Z(10)
Z( 5) = Z( 7)
Z( 7) = 0.0
Z(10) = 0.0
Z(11) = 0.0
GO TO 80
C
C COMPONENTS ARE THE SAME FOR BOTH POINTS
C
70 NTERMS= 4
NCOL = 2
CODE = 2**ICOMP(1)
Z(2) =-Z(1)
Z(3) =-Z(1)
Z(4) = Z(1)
C
C OUTPUT THE MATRIX HERE
C
80 DICT(1) = ESTID
DICT(3) = NCOL
DICT(4) = CODE
DICT(5) = 0
IPG = GSPT(TYPE)
C
C STRUCTURAL DAMPING FOR STIIFNESS MATRICES IS INSERTED IN DICT
C
IF (EMORD.EQ.1 .AND. TYPE.LE.3) DICT(5) = IEST(IPG)
IF (IPREC .EQ. 1) GO TO 100
I = NTERMS
90 DZ(I) = Z(I)
I = I - 1
IF (I .GT. 0) GO TO 90
100 CALL EMGOUT (Z,DZ,NTERMS,1,DICT,EMORD,IPREC)
RETURN
C
110 WRITE (IOUTPT,120) UWM,EID
120 FORMAT (A25,' 3120, IMPROPER CONNECTION ON CELAS ELEMENT',I9)
RETURN
END
|