Главная страница сайта  Российские промышленные издания (узловые агрегаты) 

0 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

Блок-схема программы PROGRAM STVECT

Начало

Считывание заданного масштаба

Начало цикла по злементам

Считывание напряжений элемента и координат

Вычерчивание вектора

Обозначение вектора

Конец цикла по элементам

Останов

II F0RMAT(13H1 X SHIFT = ,F10.2/

1 13Н X SCALE = ,F10.2/

2 13H Y SHIFT = ,F10.2/

3 13H Y SCALE = ,F10.2) READ(5,15) PSCALE

15 FORMATiFlO.2) WRITE(6,16) PSCALE

16 FORMAT(13H0PLOT SCALE = ,F10.2,9H UNITS/IN)

Считывание с перфокарт координат и напряжений

100 READ(5,20) N,X,Y,SMAX,SMIN,ANG

WR1TE(6,20) N,X,Y,SMAX,SMIN,ANG 20 FORMAT(I10,2F10.2,3F10.3)

Если перфокарта пустая, закончить чертеж

IF(N)210,210,110 Изменение масштаба

НО X = (X-XSHIFT).XSCALE Y = (Y-YSHIFT).YSCALE SMAX = SMAX/PSCALE SMIN = SMIN/PSCALE ANG= ANG/57.3

с с с

с с с

с с с

с с с

Вычисление координат концов векторов

R = X + SMAX/2..SIN(ANG) S = Y + SMAX/2..C0S(ANG) р = 2..Х - R Q = 2..Y-S

Вычерчивание отрезков

CALL PL0T(R,S,3) CALL PL0T(P,Q,2) R = X - SMIN.COS(ANG) S = Y + SMIN.SIN(ANG) P = 2..X-R Q = 2..Y-S CALL PL0T(R,S,3) CALL PL0T(P,Q,2)

Печать номера элемента

A = X + 0.2 B = Y + 0.1 FPN = N

CALL NUMBER (A,B,. 14,FPN,0.,0) Переход к следующему элементу

GO ТО 100

Конец чертежа

210 CONTINUE

CALL PLOT (0.,0.,999)

STOP



20.9. Решение задачи о собственных значениях итерационным методом

При исследовании колебаний и устойчивости, а также при расчете методом конечных элементов волноводов и т. д. можно получить систему матричных уравнений вида ИХ = XX, где В - квадратная матрица известных коэффициентов, X - вектор [xi, Х2, XnY, а - скалярная величина, соответствующая собственным частотам, критической нагрузке, частотам среза и т. п. Уравнения вида НХ = XX называются уравнениями собственных значений, и в общем случае они имеют столько решений, т. е. собственных значений и соответствующих собственных векторов, сколько степеней свободы Xi. Примером моГут служить задачи о свободных колебаниях, в которых

Н = КМ. (20.12)

Наибольшее собственное значение можно определить простым итерационным методом;

а) Задать некоторое значение вектора X, которое в дальнейшем называется Xgi. Поскольку собственный вектор характеризует некоторую собственную функцию системы, нам нужны только относительные значения компонент вектора X. Поэтому можно считать, что одна из неизвестных (скажем, Xi) всегда равна единице.

б) Вычислить AXg,. -

в) Произведение AXgi представляет собой вектор, который можно записать в виде A,g2g2, где Xg2 - множитель, такой, что компонента Xi вектора Xg2 опять равна единице, а остальные переменные Х2, х, .. ., Хп принимают соответствующие значения.

г) Сравнить Xg2 с Xgi пли в общем случае Xg с Х(г+1). Если они не отличаются (в пределах заданной точности) друг от друга, то полученное множество значений образует собственный вектор, а множитель представляет собой наибольшее собственное значение. В противном случае снова вернуться к пункту «а».

Другие собственные значения и соответствующие им собственные векторы определяются методом «ловли льва в пустыне» в сочетании с итерационным методом. При использовании этого метода матрица Н видоизменяется таким образом, чтобы свести максимальное собственное значение системы к нулю. В результате наибольшим собственным значением становится последующее значение X. После этого процесс итераций повторяется.

Предположим, что на некотором этапеполучены собственное значение Хг и собственный вектор Хг.

Используемую для нахождения X, и Х матрицу можно с помощью метода «ловли льва» видоизменить так, чтобы

хмх.

избавиться от г-го корня, т. е. сделать Хт равным нулю, не изменяя других собственных значений и собственных векторов. Очевидно, что после этого у видоизмененной матрицы наибольшим собственным значением будет Xr+i- Пусть

Zr= г . 20.13)

Можно записать

[Н - XZ - X2Z2 - ... - XZ,] х =

- - НХ - XZXf •- А.22-г - • •. - XZjXf - я/, {х\мх я 2 {х1м.х, х\шх ~~ xlmx

(20.14)

Используя свойство ортогональности собственных функций," можно показать, что при г ф s справедливо равенство

xJmXs = 0. (20.15)

Равенство (20.14) можно переписать в виде

[Я-Я,2,-Я222- ... - Я,2,] Jf, = ЯД, - ЯД, = 0Х„ (20.16)

так как XjMXr - скалярная величина и на нее можно сократить.

Из соотношения (20.16) следует, что Х все еще остается собственным вектором видоизмененной матрицы, но соответствующее собственное значение Яг равно нулю.

Теперь остается доказать, что другие корни системы не изменяются в процессе «ловли льва». Полагая, что Я и Х - собственное значение и собственный вектор (s > г), можно записать

[Н - XZi - X2Z2 - ... - rZr] х =

fix2 - XiZXg - X2Z2X - ... - Xj-ZXg =

X„X ,1 -

X{MXj

Следовательно, Я« остается корнем видоизменной матрицы.

Свойство ортогональности, использованное в (20.14) и 20.17), доказывается следующим образом. Записываем равенства

К MXs = X,X„ K~MXr = XrXr.

(20.18) (20.19)



Умножая (20.18) на Х1м\ а (20.19) на Xlhf и выполняя затем операцию транспонирования в последнем уравнении (помня

при этом, что матрицы JiC~ и LcHMMeTpH4Hbi). получаем

xJmk~mx, = хХмх,.

(20.20) (20.21)

Если теперь вычесть (20.21) из (20.20), то в результате получим {Xs-Xr)XjMX, = 0. (20.22)

Так как в общем случае Xj ф %г, то должно выполняться равенство

Х1МХ, = 0. (20.23)

Пример программы

Обозначения переменных в подпрограмме EIGEN

Характеристическаяматрица (К М или М- К) Матрица масс (или жесткости) Требуемая точность определения собственного вектора

Максимально допустимое число итераций Количество определяемых собственных чисел Квадратный корень из обратной величины собственного значения, используемый вместе с матрицей i?" М для определения низших собственных частот

EGG W

TEST

NEIG

Программа 20-9

SUBROUTINE EIGEN (EGG,W,NV)

DIMENSION EGG(4,4),X(4),XAUX(4),XUX(4),EAUX(4,4),W(4,4)

EGG - характеристическая матрица W - матрица масс

READ (5,10) TEST,NIT,NEIQ 10 FORMAT(F10.5,2I10)

TEST - требуемая точность NIT - максимальное число итераций NEIG - количество определяемых собственных чисел

DO 1 II = 1,NEIG DO 66 I = I,NV XUX(I) = 1. 66 X(I)=1.

14 CALL MPRD(EGG,X,XAUX,NV,NV,1) EIQ = XAUX(n DO 571 = 1,NV

Блок-схема программы EIGEN

начало

Считывание основных данных

Начало щГнла Но определяемым собственным аначениям

Выполнение итераций

Проверка условия заданной

достижения точности

Проверка превышения заданного числа итераций

Запись собственнозо значения и собственного вентора

Формирование видоизмененной матрицы

Конец цикла по собственным значениям

Возврат в основную лроерамму



0 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