книги из ГПНТБ / Постнов В.А. Метод конечных элементов в расчетах судовых конструкций
.pdfarray MGE [1 : R, 1 : R], |
MGR [1 : Я, |
1 : H)\ |
||||
input (1, T)\ |
|
|
|
|
|
|
for К : = 1 step 1 until M do |
|
|
|
|
||
begin |
|
|
|
|
|
|
MG (a, b, c); comment |
процедура |
вычисления матрицы |
||||
жесткости для конечного элемента; |
|
|
||||
for W : = 1 step 1 until R do |
|
|
|
|||
begin |
|
R |
do |
|
|
|
for U : — 1 step 1 until |
goto |
E 1; |
||||
if T IK, W } > T |
IK, |
U] |
then |
|||
A : = T ГK, W)\ |
|
|
|
|
|
|
В : = T[K, U] + |
l — T IK, |
Wl; |
|
|
||
MGK [A, B] : = |
MGK IA, В] + |
MGE [W, U1; |
||||
£1 : end end
end end;
Использование матрицы индексов для автоматического формиро вания только части симметричной ленточной системы уравнений. Система уравнений метода конечных элементов является симметрич ной относительно главной диагонали: kyl = kt s.
Кроме того, при правильном порядке нумерации неизвестных матрица получается ленточной, с положительными коэффициентами на главной диагонали и, как правило, хорошо обусловленной.
Для экономии оперативной памяти машины, которая всегда огра ничена, выгодно сразу формировать только симметричную часть
ленты коэффициентов (наибольшее |
число ненулевых |
элементов |
|
в строке правее главной диагонали. К примеру, на рис. III.9 ширина |
|||
ленты матрицы Я = 10). Это легко |
достигается с использованием |
||
матрицы индексов. |
|
|
|
Очевидно, что в процессе получения общей матрицы жесткости, |
|||
описанном выше, если для фиксированного индекса S |
(5 = |
1, 2, . . . |
|
. . ., R) в одной строке матрицы индексов индекс L |
пробегает все |
||
значения от I до R, то формироваться будут все коэффициенты общей матрицы жесткости без учета симметрии. Если же формировать коэффициенты ks>l при условии S ^ L , то будут получаться коэффи
циенты, расположенные на |
главной диагонали и правее ее, |
т. е. |
||
только симметричная часть ленты. |
|
вну |
||
Это условие |
реализуется |
в программе Form 1 тем, что во |
||
треннем цикле |
по элементам |
строки матрицы индексов, помечен |
||
ном Е2, параметру цикла S |
первоначально присваивается |
значе |
||
ние L, а не 1. |
|
|
все же |
|
Если лента системы уравнений (ее симметричная часть) |
||||
не помещается в блоке оперативной памяти, то ее придется |
форми |
|||
ровать последовательно по участкам с записью на магнитную ленту. Эта операция также весьма просто может быть реализована с помо щью матрицы индексов. При этом можно формировать любую часть ленты, в любой последовательности.
130
Пусть при определенно^ ширине ленты Н может быть сформи ровано только /гх строк ленточной системы уравнений (рис. III. 10)
объемом |
Я X п х, |
равным объему оперативной памяти машины. |
Для того |
чтобы |
начать формирование участка Я х п 1 со строки |
с номером Ct требуется найти в матрице индексов такую строку, где первый раз встречается индекс Ct. Номер М этой строки и укажет номер элемента в матрице индексов, с которого следует начать фор мирование ленты. Для формирования /гх строк этой части ленты в матрице индексов следует отыскать строку с номером С1+п
Номер этой строки укажет но мер элемента в матрице индек сов. Эту простую операцию ма шина выполняет автоматически. Примеры разделения системы на зоны при формировании приве дены в работе [11].
Информация состоит из чис ла участков формирования и размеров каждого участка. Ма шина формирует на одном и том же поле оперативной памяти ЭВМ отдельные участки матри цы, начиная с первого по счету, и отсылает их на хранение на магнитную ленту.
Для решения системы урав нений в этом же порядке с маг нитной ленты считывается уча сток за участком, а результаты
исключения снова записываются на магнитную ленту на то же самое поле.
О порядке нумерации узлов конструкции для получения ленты минимальной ширины. При решении задач по МКЭ структура общей матрицы жесткости существенным образом зависит от порядка нумерации и обхода узлов конструкции, а также от порядка нумера ции неизвестных внутри одного элемента. Важнейшей особенностью МКЭ является то, что при правильной нумерации узлов система уравнений имеет ленточную структуру. При этом элементы, располо женные вне ленты, постоянно остаются нулевыми ив процессе решения системы уравнений в оперативной памяти машины не присутствуют.
Ширина ленты может быть различной, в зависимости от порядка обхода узлов конструкции. Чем меньше ширина ленты, тем опти мальнее система в смысле ее решения (меньше машинного времени, выше точность решения, меньше исходной информации и т. п.). Кроме того, ширина ленты является одним из главных критериев, связанных с количественными ограничениями для решения задач по МКЭ (в связи с ограниченной оперативной памятью ЭВМ).
На примере рамы, изображенной на рис.III. 11, легко проследить,
как в зависимости от порядка нумерации неизвестных |
меняется |
9* |
131 |
■*
|
|
|
|
н - - = 8 |
|
|
|
|
|
1 |
2 |
|
4 |
5 |
В |
7 |
в |
1 |
9 |
9 |
|
|
|
|
|
9 |
г |
|
• |
• |
|
|
|
|
9 |
3 |
|
|
• |
• |
• |
|
О |
9 |
4 |
|
|
|
• |
|
• |
9 |
|
5 |
|
|
|
|
• |
9 |
о |
|
6 |
Симметрично |
<Ф • |
|
|||||
7 |
|
|
|
|
|
|
• |
9 |
8 |
|
|
|
|
7 |
|
|
9 |
|
|
|
|
Н = |
|
|
|
|
|
1 |
2 |
3 |
Ч |
5 |
6 |
7 |
8 |
|
• |
9 |
|
|
|
|
9 |
|
|
|
9 |
9 |
|
|
9 |
|
|
|
|
|
9 |
9 |
|
9 |
|
9 |
|
|
|
|
9 |
9 |
|
9 |
9 |
|
|
|
|
|
9 |
9 |
|
9 |
|
Симметрично |
9 |
|
9 |
||||
|
|
|
|
|
|
|
9 |
9 |
|
|
|
|
|
|
|
|
9 |
|
1 |
2 |
3 |
ч |
5 |
S |
7 |
8 |
|
9 |
9 |
9 |
|
|
|
|
|
|
|
|
9 |
9 |
|
|
|
|
|
|
|
|
9 |
9 |
9 |
|
|
|
|
|
|
|
9 |
9 |
9 |
9 |
|
Симметрично |
9 |
9 |
|
||||
|
|
|
|
|
|
|
9 |
9 |
|
|
|
|
|
|
|
|
9 |
|
|
Н=Ч |
|
|
|
|
|
|
|
1 2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
|
9 |
9 |
9 |
|
|
|
|
|
|
|
9 |
9 |
• |
|
|
|
|
|
|
|
9 |
• |
9 |
9 |
|
|
|
|
|
|
• |
9 |
9 |
|
|
|
|
|
|
|
9 |
9 |
9 |
|
|
Симметрично |
9 |
в |
• |
||||
|
|
|
|
|
|
|
• |
• |
|
|
|
|
|
|
|
|
• |
Рис. III. 11. Изменение структуры системы уравнений для рамы в зависимости от порядка нумерации обобщенных перемещений: а — Н = 8; б — Я = 7; в — Н = 5;
а — Я = 4.
132
структура общей матрицы жесткости и ширина ленты Я. В неза полненных клетках матрицы жесткости стоят нули; точки свиде тельствуют о размещении в клетках ненулевых элементов.
Для конструкций с простой топологической структурой нумера ция узлов и неизвестных, дающая ленту минимальной ширины, может быть определена путем внимательного обозрения конструкции
исоответствующего назначения номеров неизвестных. Рекомендуется придерживаться следующих положений:
1) для конструкций с регулярной сеткой обход узлов следует
производить вдоль меньшего размера конструкции (рис. III. 12, а, б);
о) j |
s |
9 |
1? |
15 |
1S |
21 |
для конструкций, имеющих замкнутый контур, обход узлов и их |
|
|
нумерацию производить симметрично относительно некоторого на |
|
|
чального узла (рис. III. 12, |
б); |
|
2) в любом другом случае надо стремиться, чтобы разность между | |
||
соседними номерами узлов |
была наименьшей (рис. III. 13). Для |
J |
конструкций с более сложной топологией нумерация узлов и порядок |
| |
|
их обхода для получения ленты минимальной ширины становятся бо- |
! |
|
лее сложной задачей, поэтому автоматизация процесса оптималь- j ной нумерации узлов конструкции внутри машины была бы весьма действенным инструментом инженерного труда при решении задач по МКЭ.
Легко заметить, что перенумерация узлов, а следовательно, и неизвестных в узле означает перестановку строк и столбцов перво начальной матрицы жесткости. Для получения ленты минимальной ширины с помощью машины нужно выполнить полный перебор всех строк. Полный перебор состоит из N этапов, где N — число уравне ний. В каждом этапе сравниваются две соседние строки в следующем порядке: первая и вторая, последняя и предпоследняя, третья и четвертая строки от конца и т. д. Переставлять строки следует только в том случае, если ширина ленты становится меньше или остается
133
без изменений, а строка, имеющая больше нулей в пределах ленты, отодвигается от центральной строки матрицы.
Описанная выше процедура оптимальной нумерации неизвест ных в конструкции для получения ленты минимальной ширины мо жет быть сформулирована как задача линейного целочисленного
Рис. III. 13. Различная нумерация узловых точек для рамы: а, в — неудачная, при водящая к ширине ленты Я = 14; б, г— удачная приводящая к ширине ленты Я-5.
программирования или как задача квадратичного программирования с ограничениями, аналогичными задаче транспортного типа.
Как показали исследования, эта задача равносильна оптималь ной нумерации вершины графа топологической модели расчетной схемы. Однако поиск глобального оптимума требует машинного времени, сопоставимого с временем полного перебора строк и столб цов матрицы системы уравнений. Поэтому целесообразно искать не
134
оптимальное решение, а близкое к нему достаточно «хорошее» реше ние, критерием которого является затрата машинного времени.
При переборе строк и перенумерации узлов определяется, равны или не равны нулю элементы матрицы. Если узел S связан с узлом L посредством по крайней мере одного конечного элемента, то в s-й строке и /-столбце матрицы связи узлов ставится единица, если такой связи нет, то в соответствующую клетку ставится нуль. Назовем
получаемую таким образом матрицу матрицей связности узлов |
[U]. |
||||||||||
Для |
плоской |
рамы |
(рис. II 1.11) |
|
|
|
г |
|
|
|
|
матрица связности узлов [U] при |
1 |
2 |
i |
I |
5 |
6 |
7 |
||||
ведена |
на рис. |
III.14. |
связ |
1 |
1 |
0 |
|
|
|
||
В нашем примере матрица |
|
1 |
0 |
1 |
|
|
|
||||
ности имеет оптимальный вид. |
В бо |
|
|
|
|
||||||
|
|
1 |
1 |
0 |
|
|
|||||
лее сложных случаях этого не полу |
|
|
|
|
|||||||
чится, поэтому перебор строк и столб |
|
—— - 7 - -1---о- — |
|||||||||
цов очень удобно производить |
с по |
|
|
|
I |
1 |
1 |
0 |
|||
мощью матрицы [U], которая яв |
|
|
|
| |
|||||||
ляется |
симметричной |
относительно |
|
|
|
I |
|
1 |
1 |
||
главной |
диагонали и имеет размеры |
|
|
|
I |
|
|
1 |
|||
G X G, где G — число |
узлов в |
кон |
Рис. III. 14. |
Матрица |
связности |
||||||
струкции. |
|
|
|
||||||||
Однако в памяти машины каж |
узлов [//] для рамы, изображенной |
||||||||||
|
на рис. |
III. 11. |
|
|
|||||||
дый элемент матрицы |
[U] занимает |
|
|
|
|
|
|
раз |
|||
один двоичный разряд, поэтому в машине «Минск-22» можно |
|||||||||||
местить матрицу [U] с учетом ее симметрии с числом узлов, |
прибли |
||||||||||
зительно равным, |
1700, |
что вполне достаточно для решения практи |
|||||||||
ческих |
задач. |
|
|
|
номера |
строк в ней укажут, |
|||||
После перебора строк матрицы [U ] |
|||||||||||
каким образом следует выбрать направление обхода узлов для по лучения ленты минимальной ширины. Заметим, что с помощью ма триц [/7] можно построить численный алгоритм для формирования общей матрицы жесткости без использования матрицы индексов.
§ 21
Автоматическое формирование с помощью матрицы индексов грузовых членов системы уравнений
Проблема формирования узловых реакций от внешних сил (пра вой части системы уравнений) принципиально значительно проще задачи формирования общей матрицы жесткости для конструкции. Любая внешняя нагрузка в методе конечных элементов должна быть заменена эквивалентной узловой нагрузкой. При этом для достижения требуемой точности приходится вводить дополни тельные узлы, что увеличивает порядок общей матрицы жесткости для всей системы. Последнее хотя и упрощает составление исходной информации, но увеличивает ее объем.
Введение так называемой грузовой матрицы — столбца для конеч ного элемента от внешних сил — позволяет учесть достаточно точно
135
действие любой распределенной нагрузки без введения дополни тельных узлов [89]. Эта матрица представляет собой реакции по направлениям единичных перемещений от внешних сил для эле мента, закрепленного соответствующими связями. Например, для призматического элемента балки, грузовая матрица от равномерно распределенной нагрузки будет иметь вид
f d1 |
[___ч1 |
_ _sL |
|
' ' |
\ |
2 ’ 12 ’ |
2 ’ 12 j ' |
При воздействии сосредоточенных нагрузок вычислять грузовую матрицу для элемента не нужно, так как ее элементами являются сами силы.
Рис. 111.15. Схема разбивки жесткой плиты при изгибе на конечные эле менты (о). Типовой конечный элемент (6).
Например, грузовая матрица для элемента 4, описывающая изгиб жесткой плиты (рис. III. 15), имеет вид
{/>} = {— 12, 0 , —5 , 0 , 0 , 0 , 0 , 3 , 0 , 0 , 0 , 0 [.
На рисунке указаны положительные направления обобщенных узловых сил и перемещений (предполагается, что их положительные направления совпадают).
Общая грузовая матрица для всей конструкции получается путем суммирования соответствующих коэффициентов из грузовых матриц для конечных элементов. Для автоматического формирования этой матрицы снова используется матрица индексов. В отличие от процедуры формирования общей матрицы жесткости здесь приме
няются грузовые матрицы для элементов {Z3*0 ) (одномерные массивы с числом элементов г) вместо матриц жесткости для тех же элементов.
Номер столбца в соответствующей строке матрицы индексов ука зывает, какой элемент должен быть выбран из набора грузовых матриц для элементов, а содержимое этого столбца в той же строке укажет место на поле общей грузовой матрицы, куда должен быть послан найденный коэффициент для последующего суммирования его с ранее найденным и посланным в то же место.
«Просматривая» таким образом все строки матрицы индексов, машина автоматически формирует все правые части системы уравне ний.
136
На рис. III. 16 показана вся процедура формирования общей грузовой матрицы для плоской рамы, состоящей из прямоугольных
стержней.
На рисунке приведены рама с действующей на нее внешней на грузкой (рис. III.16, а), основная расчетная схема с указанием
положительных |
направлений обобщенных |
узловых неизвестных |
(рис. III. 16, б), |
матрица грузовых членов |
для каждого из трех |
|
|
Ч Т |
|
1) |
Цп |
|
|
' 7\ И |
Рис. III. 16. Процедура автоматического формирования грузовой матрицы для плоской рамы.
элементов рамы (рис. III. 16, в), матрица индексов (рис. III. 16, г), структура левых и правых частей (матрица жесткости рамы и гру зовые члены) уравнений для определения узловых перемещений.
Пунктирной линией с направляющими стрелками указана после довательность формирования грузового члена в третьем уравнении системы.
Ниже описана основная процедура формирования общей грузовой матрицы для всей конструкции на языке «Алгол-60».
137
О б о з н а ч е н и я
GRK [1 : N) — одномерный массив общей грузовой матрицы для
всей конструкции; |
|
|
|
массив |
грузовой |
матрицы для |
эле |
||||
GRE [1 : R ] — одномерный |
|||||||||||
мента конструкции. |
|
|
|
|
|
|
|
|
|
||
Остальные обозначения приведены при описании процедуры фор |
|||||||||||
мирования общей матрицы жесткости. |
|
|
|
||||||||
|
|
|
|
П р и м е ч а и и е |
|
|
|||||
Процедура |
GR (d, |
е, |
/) — грузовая |
матрица |
для элемента |
не |
|||||
описана, здесь |
d, е, |
f — формальные параметры. |
|
||||||||
|
|
|
|
Procedure Grits |
|
|
|||||
begin integer At, N, R, |
K, |
S, A; |
|
|
|
|
|
||||
input (1, At, N , R)\ |
|
|
|
: ./?]; |
|
|
|
||||
begin integer |
array |
T [1 : At, 1 |
|
|
|
||||||
array GRK [1 : N ], |
GRE [1 |
: R); |
|
|
|
||||||
input (1, Г); |
|
|
|
At |
do |
|
|
|
|
||
for К : = |
1 step 1 until |
|
|
|
|
||||||
begin |
|
|
comment процедура вычисления грузовой мат |
||||||||
GR (d, e, f); |
|||||||||||
рицы для элемента; |
|
|
|
|
|
|
|||||
begin |
|
|
|
step 1 |
until |
R |
do |
|
|
||
for S : — 1 |
|
|
|||||||||
if |
T |
IK, |
S] |
= |
О then |
goto |
El |
|
|
||
else |
if T |
IK, |
S] |
0 |
then |
|
|
|
|||
A : = T IK |
S]' |
|
|
GRE [SI; |
|
|
|||||
GRK [A] : = |
GRK [A] + |
|
|
||||||||
El : end 5 |
|
|
|
|
|
|
|
|
|
|
|
end К |
|
|
|
|
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
end; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
§ |
22 |
|
|
Автоматическое |
получение |
матрицы индексов |
|||||||
Выше было показано, что матрица индексов является основой комплексной автоматизации при решении задач методом конечных элементов с помощью ЭВМ. Составление матрицы индексов является чрезвычайно простой операцией и заключается в выписывании но меров неизвестных для узловых точек элементов. Однако при со ставлении этой матрицы, и особенно при ее перфорации для задач с достаточно большим числом элементов, возможны чисто механи ческие ошибки. Поэтому весьма желательно получение матрицы индексов автоматически непосредственно в машине.
Основная идея автоматического формирования матрицы индексов довольно проста. Она состоит в том, что в определенном порядке нумеруются все узлы конструкции. Затем каждому узловому номеру
138
последовательно присваивается группа чисел в возрастающем по рядке. Количество чисел в каждой группе зависит от числа степеней свободы данного узла. Так, при решении плоской задачи теории упругости, плоских рамных систем и других, в каждой группе будет по 2 числа (два перемещения в узле и, v), для изгиба пластин —■по 3 числа, для пространственной стержневой системы —• по 6 чисел и т. д. В дальнейшем из этих чисел будут сформированы номера неизвестных.
После присвоения каждому узлу группы чисел следует учесть условия закрепления узлов, т. е. кинематические граничные и внутриконтурные условия. Учет условий закрепления осуществляется в машине следующим образом. Каждому возможному виду закреп ления узла ставится в соответствие некоторый двоичный аналог, задаваемый восьмеричным или десятичным числом. Зная номер за крепленного узла и тип закрепления, полученную числовую после довательность соответствующим образом корректируют. Коррекция состоит в поиске места (по номеру закрепленного узла в последова тельности чисел), характеризующего соответствующее направление перемещения в узле. По этому направлению узел закреплен, и, следовательно, перемещение равно нулю. В матрице индексов на этом месте должен стоять нуль. В машину вместо найденного числа за носят нуль, а из остальных чисел вычитают единицу, так как общее число перемещений (неизвестных) становится на единицу меньше. «Просматривая» все закрепленные узлы, каждый раз производим описанное выше занесение нулей и вычитание единиц.
На этом заканчивается этап расстановки неизвестных в узлах с учетом всех граничных и внутриконтурных условий. Из этой после довательности чисел путем присоединения одних номеров к другим можно построить строки матрицы индексов для всех элементов кон струкции.
При конструкциях с простой топологической схемой (например, при регулярных конструкциях), когда имеется закономерность пере хода от одного элемента к другому, порядок присоединения одной группы чисел (характеризующей один узел) к другой группе чисел (характеризующей другой узел) оказывается достаточно простым и выполняется внутри машины без дополнительной исходной инфор мации, состоящей в данном случае из номеров закрепленных узлов и типов закрепления.
Если же топология конструкции достаточно сложная (произволь ные пространственные конструкции), то указанной выше информации недостаточна, и требуется дополнительная исходная информация о номерах и последовательности узлов, описывающих каждый эле мент или группу элементов.
Отверстия в конструкциях при таком способе формирования матрицы индексов описываются автоматически. Например, если отверстие находится в пределах элемента, то достаточно толщину этого элемента положить равной нулю: t = 0. Если же размеры отверстия taKOBbi, что оно перекрывает несколько элементов и узлов, то толщины этих элементов принимаются равными нулю, а соответ ствующие узлы вообще не нумеруются (машина их пропускает).
139
