Приложение 2. Программа для расчета статически неопределимой плоской рамы Ниже приводится текст программы на языке ФОРТРАН COMMON E,AJ,W,A,Q,
* NGR, NX,
* EJI_(20),ALI_(20),QI_(20),
* AMIJ0_(20,21),AMIJ1_(20,21) DIMENSION A_(20,20), B_(20), NOUT(20)
DIMENSION A1(20,20), B1(20)
DIMENSION AMXIJ_(20,3),XIJ_(20,3),
* AMXIJ (20,3),XIJ (20,3)
CHARACTER(80) TEXT C ВВОД ИСХОДНЫХ ДАННЫХ OPEN (UNIT = 4, FILE = 'INZAD2.TXT')
C ИДЕНТИФИКАЦИОННАЯ СТРОКА
READ (4, '(A80)') TEXT
C МОДУЛЬ УПРУГОСТИ, МОМЕНТ ИНЕРЦИИ,
C ХАРАКТЕРНАЯ ДЛИНА, РАСПРЕДЕЛЕННАЯ НАГРУЗКА
READ (4, 100) E,AJ,W,A,Q
100 FORMAT (5E10.0)
C КОЛИЧЕСТВО СИЛОВЫХ УЧАСТКОВ, КОЛИЧЕСТВО НЕИЗВЕСТНЫХ
READ (4, 101) NGR, NX
101 FORMAT (2I10)
C EJI_, ALI_,QI_ ПО УЧАСТКАМ
DO I = 1,NGR
READ (4, 102) N,EJI_(N),ALI_(N),QI_(N)
102 FORMAT (I10,3E10.0)
END DO DO I = 1,NGR
READ (4, 103) N,(AMIJ0_(N,J),AMIJ1_(N,J),J=1,NX+1)
103 FORMAT (I10, 42E10.0)
END DO CLOSE (4)
C ВЫВОД ИСХОДНЫХ ДАННЫХ В ФАЙЛ OPEN (UNIT = 4, FILE = 'OUTZAD2.TXT') C ИДЕНТИФИКАЦИОННАЯ СТРОКА
WRITE (4, '(A80)') TEXT C ЗАГОЛОВОК
WRITE (4, '(1X)')
WRITE (4, *)
* ' ИСХОДНЫЕ ДАННЫЕ'
WRITE (4, '(1X)')
WRITE (4,200) E,AJ,W,A,Q
200 FORMAT (5X,'МОДУЛЬ УПРУГОСТИ: ',E12.4/
* 5X,'МОМЕНТ ИНЕРЦИИ: ',E12.4/
* 5X,'МОМЕНТ СОПРОТИВЛЕНИЯ: ',E12.4/
* 5X,'ХАРАКТЕРНАЯ ДЛИНА: ',E12.4/
* 5X,'РАСПРЕДЕЛЕННАЯ НАГРУЗКА: ',E12.4/) WRITE (4,201) NGR, NX
201 FORMAT (5X,'КОЛИЧЕСТВО СИЛОВЫХ УЧАСТКОВ: ',I2/
* 5X,'КОЛИЧЕСТВО НЕИЗВЕСТНЫХ РЕАКЦИЙ: ',I2/) WRITE (4,*)
* 'N уч-ка EJiотн Liотн Qiотн'
WRITE (4, '(1X)')
DO I = 1,NGR
WRITE (4, 202) I,EJI_(I),ALI_(I),QI_(I)
202 FORMAT (I5,3X,3F8.3)
END DO WRITE (4, '(1X)')
WRITE (4,*)
* 'N уч-ка (Mij0 Mij1)'
WRITE (4, '(1X)') DO I = 1,NGR
WRITE (4, 203) I, (AMIJ0_(I,J),AMIJ1_(I,J),J=1,NX+1)
203 FORMAT (I3, 21(2X,2F7.3))
END DO C ВЫЧИСЛЕНИЕ КОЭФФИЦИЕНТОВ СИСТЕМЫ КАНОНИЧЕСКИХ УР-НИЙ
DO I=1,NX
B_(I) = -DLTIJ_(I,NX+1)
DO J=1,NX
A_(I,J) = DLTIJ_(I,J)
END DO
END DO C ВЫВОД РАСШИРЕННОЙ МАТРИЦЫ В ФАЙЛ WRITE (4, '(1X)')
WRITE (4,*) ' КОЭФФИЦИЕНТЫ РАСШИРЕННОЙ МАТРИЦЫ'
WRITE (4, '(1X)')
DO I = 1,NX
WRITE (4, 204) (A_(I,J),J=1,NX), B_(I)
204 FORMAT (21F10.5)
END DO
KOUT = 0
DO I = 1,NX
NOUT(I) = 0.0
END DO WRITE (4, '(1X)')
WRITE (4, *) ' НЕПОВРЕЖДЕННАЯ КОНСТРУКЦИЯ'
1 DO I=1,NX
B1(I) = B_(I)
DO J=1,NX
A1(I,J) = A_(I,J)
END DO
END DO
C ОБНУЛЕНИЕ ОТБРОШЕННЫХ НЕИЗВЕСТНЫХ
IF (KOUT .GT. 0) THEN
DO K = 1,KOUT
B1(NOUT(K)) = 0.0
DO I=1,NX
A1(I,NOUT(K)) = 0.0
A1(NOUT(K),I) = 0.0
END DO
A1(NOUT(K),NOUT(K)) = 1.0
END DO
END IF
C РЕШЕНИЕ СИСТЕМЫ КАНОНИЧЕСКИХ УР-НИЙ
CALL LEGAUS(A1,B1,20,NX) C ВЫВОД РЕШЕНИЯ СЛАУ В ФАЙЛ WRITE (4, '(1X)')
WRITE (4,*) ' РЕШЕНИЕ СЛАУ'
WRITE (4, '(1X)')
WRITE (4, 205) (I,B1(I),I=1,NX)
205 FORMAT (5X,'X[',I2,'] = ',F10.5) PRINT *, ''
PRINT 205, (I,B1(I),I=1,NX) C ВЫЧИСЛЕНИЕ MX
DO I = 1,NGR
AMXIJ_(I,1) = AMIJ0_(I,NX+1)
AMXIJ_(I,3) = AMIJ1_(I,NX+1)
XIJ_ (I,1) = 0.
XIJ_ (I,3) = 1.
XIJ (I,1) = 0.
XIJ (I,3) = A*ALI_(I)
DO J = 1,NX
AMXIJ_(I,1) = AMXIJ_(I,1) + B1(J)*AMIJ0_(I,J)
AMXIJ_(I,3) = AMXIJ_(I,3) + B1(J)*AMIJ1_(I,J)
END DO
AMXIJ (I,1) = AMXIJ_(I,1)*Q*A**2/1000.
AMXIJ (I,3) = AMXIJ_(I,3)*Q*A**2/1000. R = 0.5
IF (ABS(QI_(I)).GT.0.0001) THEN
R = 0.5-(AMXIJ_(I,3)-AMXIJ_(I,1))/(QI_(I)*ALI_(I)**2)
IF (R.LE.0. .OR. R.GE.1.) THEN
R = 0.5
END IF
END IF
XIJ_ (I,2) = R
AMXIJ_(I,2) =
* AMXIJ_(I,1) + (AMXIJ_(I,3) - AMXIJ_(I,1))*R +
* 0.5*QI_(I)*ALI_(I)**2*(R-1.0)*R
XIJ (I,2) = A*ALI_(I)*XIJ_ (I,2)
AMXIJ (I,2) = Q*A**2/1000.*AMXIJ_(I,2)
END DO
C ВЫВОД M(X) В ФАЙЛ WRITE (4, '(1X)')
WRITE (4,*)
* ' РЕЗУЛЬТАТЫ РАСЧЕТОВ M(x)'
WRITE (4, '(1X)')
WRITE (4,*)
* 'N уч-ка X/Li Mi/qa**2 Xi[м] Mi[кН] Mi/Wi[МПа]'
WRITE (4, '(1X)')
DO I = 1,NGR
WRITE (4, 211)
* I, XIJ_(I,1),AMXIJ_(I,1),XIJ(I,1),AMXIJ(I,1),
* AMXIJ(I,1)/(1000.* EJI_(I)*W)
WRITE (4, 212)
* XIJ_(I,2),AMXIJ_(I,2),XIJ(I,2),AMXIJ(I,2),
* AMXIJ(I,2)/(1000.* EJI_(I)*W)
WRITE (4, 212)
* XIJ_(I,3),AMXIJ_(I,3),XIJ(I,3),AMXIJ(I,3),
* AMXIJ(I,3)/(1000.* EJI_(I)*W)
WRITE (4, '(1X)')
END DO
211 FORMAT (I2, 2(3X,F8.3,F10.4),3X,F8.1)
212 FORMAT (2X, 2(3X,F8.3,F10.4),3X,F8.1) DO I = 1,NGR
PRINT *, ''
PRINT 211, I, XIJ_(I,1),AMXIJ_(I,1),XIJ(I,1),AMXIJ(I,1),
* AMXIJ(I,1)/(1000.* EJI_(I)*W)
PRINT 212, XIJ_(I,2),AMXIJ_(I,2),XIJ(I,2),AMXIJ(I,2),
* AMXIJ(I,2)/(1000.* EJI_(I)*W)
PRINT 212, XIJ_(I,3),AMXIJ_(I,3),XIJ(I,3),AMXIJ(I,3),
* AMXIJ(I,3)/(1000.* EJI_(I)*W)
END DO PRINT *, ' KOUT >'
READ *,KOUT
IF ((KOUT .EQ. 0) .OR. (KOUT .GT. NX)) GO TO 2
PRINT *, ' NOUT (I1,I2, ...) >'
READ *, (NOUT(I), I=1,KOUT) WRITE (4, '(1X)')
WRITE (4, 206) (NOUT(I), I=1,KOUT)
206 FORMAT (' НОМЕРА ПОВРЕЖДЕННЫХ ОПОР: ',21I4)
GOTO 1 2 CLOSE (4)
END C ВЫЧИСЛЕНИЕ КОЭФФИЦИЕНТОВ СЛАУ FUNCTION DLTIJ_(I,J)
COMMON E,AJ,W,A,Q,
* NGR, NX,
* EJI_(20),ALI_(20),QI_(20),
* AMIJ0_(20,21),AMIJ1_(20,21)
DLTIJ_ = 0.0
DO N = 1,NGR
DLTIJ_ = DLTIJ_ + (ALI_(N)/(6.0*EJI_(N)))*
* (2.0*AMIJ0_(N,I)*AMIJ0_(N,J) + 2.0*AMIJ1_(N,I)*AMIJ1_(N,J) +
* AMIJ0_(N,I)*AMIJ1_(N,J) + AMIJ1_(N,I)*AMIJ0_(N,J))
IF (J.EQ.NX+1) DLTIJ_ = DLTIJ_ - (1.0/EJI_(N))*
* (QI_(N)*ALI_(N)**3/12.0)*0.5*(AMIJ0_(N,I) + AMIJ1_(N,I))
END DO
RETURN
END
C РЕШЕНИЕ СЛАУ ПО ГАУССУ SUBROUTINE LEGAUS(A,B,NA,NX)
DIMENSION A(NA,NA),B(NA)
C ПРЯМОЙ ХОД ПО ГАУССУ
DO N=1,NX-1
DO I=N+1,NX
B(I) = B(I) - (A(I,N)/A(N,N))*B(N)
DO J=N+1,NX
A(I,J) = A(I,J) - (A(I,N)/A(N,N))*A(N,J)
END DO
END DO
END DO
C ОБРАТНЫЙ ХОД ПО ГАУССУ
B(NX) = B(NX)/A(NX,NX)
DO N=1,NX-1
DO J=1,N
B(NX-N) = B(NX-N) - A(NX-N,NX-N+J)*B(NX-N+J)
END DO
B(NX-N) = B(NX-N)/A(NX-N,NX-N)
END DO
END Для работы программы должен быть задан файл исходных данных под именем 'INZAD2.TXT', текст которого для рассматриваемого варианта приводится ниже: ИВАНОВ И.И. ГР. ПС-70 ВАР. 30
2E11, 1430E-8, 159E-6, 1.0, 20E3 //E,AJ,W,A,Q
6, 3 //NGR, NX
1, 2.0, 1.0, 0.0 //EJi/EJ, Li/A, Qi/Q
2, 2.0, 1.0, 0.0
3, 2.0, 2.0, -1.0
4, 2.0, 1.0, 0.0
5, 1.0, 1.0, 0.0
6, 1.0, 1.0, 0.0
1, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0
2, 1.0, 2.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.0
3, 0.0, 0.0, 0.0, 2.0, 0.0, 0.0, 0.0,-2.0
4, -1.0,-2.0, -1.0,-2.0, -2.0,-2.0, 2.0, 1.0
5, 2.0, 2.0, 0.0, 0.0, 0.0, 1.0, 3.0, 3.0
6, 2.0, 2.0, 2.0, 2.0, 1.0, 2.0, -1.0,-1.0 Первая строка содержит идентификатор конкретной задачи. Во второй строке вводятся модуль упругости, момент инерции двутаврового профиля, момент сопротивления, длина участка и величина распределенной нагрузки. В третьей строке нужно указать количество силовых и число лишних неизвестных. Далее вводится информация из таблиц 2.3 и 2.4 о силовых участках и значениях эпюр безразмерных моментов.
Программа работает в интерактивном режиме. После решения задачи расчета неповрежденной конструкции, на экран выводится таблица результатов расчета. При выводе результатов для изгибающего момента значения выдаются в начале, средине и конце силового участка. Если на участке приложена распределенная нагрузка, так что эпюра изгибающего момента является квадратной параболой, и на участке имеется экстремум этой параболы, то выдается координата и значение этого экстремума. Для удобства анализа результатов в таблице выведены также величины изгибных напряжений .
Далее выдается запрос ' KOUT >', на который следует ввести число поврежденных опор. После чего на запрос ' NOUT (I1,I2, ...) >' нужно через запятую ввести номера (по номерам лишних неизвестных) поврежденных опор. Выход из программы происходит при вводе KOUT = 0.
Результаты работы программы записываются в файл 'OUTZAD2.TXT'. Ниже приводится распечатка файла 'OUTZAD2.TXT' для рассматриваемой задачи.
ИВАНОВ И.И. ГР. ПС-70 ВАР. 30
ИСХОДНЫЕ ДАННЫЕ
МОДУЛЬ УПРУГОСТИ: .2000E+12
МОМЕНТ ИНЕРЦИИ: .1430E-04
МОМЕНТ СОПРОТИВЛЕНИЯ: .1590E-03
ХАРАКТЕРНАЯ ДЛИНА: .1000E+01
РАСПРЕДЕЛЕННАЯ НАГРУЗКА: .2000E+05
КОЛИЧЕСТВО СИЛОВЫХ УЧАСТКОВ: 6
КОЛИЧЕСТВО НЕИЗВЕСТНЫХ РЕАКЦИЙ: 3
N уч-ка EJiотн Liотн Qiотн
1 2.000 1.000 .000
2 2.000 1.000 .000
3 2.000 2.000 -1.000
4 2.000 1.000 .000
5 1.000 1.000 .000
6 1.000 1.000 .000
N уч-ка (Mij0 Mij1)
1 .000 1.000 .000 .000 .000 .000 .000 .000
2 1.000 2.000 .000 .000 .000 .000 .000 3.000
3 .000 .000 .000 2.000 .000 .000 .000 -2.000
4 -1.000 -2.000 -1.000 -2.000 -2.000 -2.000 2.000 1.000
5 2.000 2.000 .000 .000 .000 1.000 3.000 3.000
6 2.000 2.000 2.000 2.000 1.000 2.000 -1.000 -1.000
КОЭФФИЦИЕНТЫ РАСШИРЕННОЙ МАТРИЦЫ
10.50000 5.16667 5.50000 -4.16667
5.16667 6.50000 4.50000 4.08333
5.50000 4.50000 4.66667 1.50000
НЕПОВРЕЖДЕННАЯ КОНСТРУКЦИЯ
РЕШЕНИЕ СЛАУ
X[ 1] = -1.43856
X[ 2] = 1.12924
X[ 3] = .92797
РЕЗУЛЬТАТЫ РАСЧЕТОВ M(x)
N уч-ка X/Li Mi/qa**2 Xi[м] Mi[кН] Mi/Wi[МПа]
1 .000 .0000 .000 .0000 .0
.500 -.7193 .500 -14.3856 -45.2
1.000 -1.4386 1.000 -28.7712 -90.5
2 .000 -1.4386 .000 -28.7712 -90.5
.500 -.6578 .500 -13.1568 -41.4
1.000 .1229 1.000 2.4576 7.7
3 .000 .0000 .000 .0000 .0
.565 .6376 1.129 12.7518 40.1
1.000 .2585 2.000 5.1695 16.3
4 .000 .4534 .000 9.0678 28.5
.500 .1081 .500 2.1610 6.8
1.000 -.2373 1.000 -4.7458 -14.9
5 .000 .1229 .000 2.4576 15.5
.500 .5869 .500 11.7373 73.8
1.000 1.0508 1.000 21.0170 132.2
6 .000 -.6907 .000 -13.8136 -86.9
.500 -.2267 .500 -4.5339 -28.5
1.000 .2373 1.000 4.7458 29.8 НОМЕРА ПОВРЕЖДЕННЫХ ОПОР: 1
РЕШЕНИЕ СЛАУ
X[ 1] = .00000
X[ 2] = 1.22039
X[ 3] = -.85537
РЕЗУЛЬТАТЫ РАСЧЕТОВ M(x)
N уч-ка X/Li Mi/qa**2 Xi[м] Mi[кН] Mi/Wi[МПа]
1 .000 .0000 .000 .0000 .0
.500 .0000 .500 .0000 .0
1.000 .0000 1.000 .0000 .0
2 .000 .0000 .000 .0000 .0
.500 1.5000 .500 30.0000 94.3
1.000 3.0000 1.000 60.0000 188.7
3 .000 .0000 .000 .0000 .0
.610 .7447 1.220 14.8934 46.8
1.000 .4408 2.000 8.8154 27.7
4 .000 2.4904 .000 49.8072 156.6
.500 1.3802 .500 27.6033 86.8
1.000 .2700 1.000 5.3995 17.0
5 .000 3.0000 .000 60.0000 377.4
.500 2.5723 .500 51.4463 323.6
1.000 2.1446 1.000 42.8926 269.8
6 .000 .5854 .000 11.7080 73.6
.500 .1577 .500 3.1543 19.8
1.000 -.2700 1.000 -5.3995 -34.0 НОМЕРА ПОВРЕЖДЕННЫХ ОПОР: 2
РЕШЕНИЕ СЛАУ
X[ 1] = -1.47704
X[ 2] = .00000
X[ 3] = 2.06222
РЕЗУЛЬТАТЫ РАСЧЕТОВ M(x)
N уч-ка X/Li Mi/qa**2 Xi[м] Mi[кН] Mi/Wi[МПа]
1 .000 .0000 .000 .0000 .0
.500 -.7385 .500 -14.7704 -46.4
1.000 -1.4770 1.000 -29.5407 -92.9
2 .000 -1.4770 .000 -29.5407 -92.9
.500 -.7156 .500 -14.3111 -45.0
1.000 .0459 1.000 .9185 2.9
3 .000 .0000 .000 .0000 .0
.500 -.5000 1.000 -10.0000 -31.4
1.000 -2.0000 2.000 -40.0000 -125.8
4 .000 -.6474 .000 -12.9482 -40.7
.500 -.4089 .500 -8.1778 -25.7
1.000 -.1704 1.000 -3.4074 -10.7
5 .000 .0459 .000 .9185 5.8
.500 1.0770 .500 21.5407 135.5
1.000 2.1081 1.000 42.1630 265.2
6 .000 -1.8919 .000 -37.8370 -238.0
.500 -.8607 .500 -17.2148 -108.3
1.000 .1704 1.000 3.4074 21.4 НОМЕРА ПОВРЕЖДЕННЫХ ОПОР: 3
РЕШЕНИЕ СЛАУ
X[ 1] = -1.15943
X[ 2] = 1.54980
X[ 3] = .00000
РЕЗУЛЬТАТЫ РАСЧЕТОВ M(x)
N уч-ка X/Li Mi/qa**2 Xi[м] Mi[кН] Mi/Wi[МПа]
1 .000 .0000 .000 .0000 .0
.500 -.5797 .500 -11.5942 -36.5
1.000 -1.1594 1.000 -23.1885 -72.9
2 .000 -1.1594 .000 -23.1885 -72.9
.500 -.2391 .500 -4.7828 -15.0
1.000 .6811 1.000 13.6230 42.8
3 .000 .0000 .000 .0000 .0
.775 1.2009 1.550 24.0188 75.5
1.000 1.0996 2.000 21.9920 69.2
4 .000 1.6096 .000 32.1925 101.2
.500 .9144 .500 18.2888 57.5
1.000 .2193 1.000 4.3850 13.8
5 .000 .6811 .000 13.6230 85.7
.500 .6811 .500 13.6230 85.7
1.000 .6811 1.000 13.6230 85.7
6 .000 -.2193 .000 -4.3850 -27.6
.500 -.2193 .500 -4.3850 -27.6
1.000 -.2193 1.000 -4.3850 -27.6
|