![](/user_photo/_userpic.png)
книги / Применение метода конечных элементов
..pdfчительно сокращает число ошибок, совершаемых неопытными пользователями.
Относительное расположение [/С], {Ф} и {F} в указанном век тор-столбце показано на фиг. 18.1. В программах учтено также, что результирующая алгебраическая система уравнений имеет матри-
Фиг. 18.1. Относительное расположение [/С], {Ф} и {F} в вектор-столбце.
цу ленточного типа, поэтому в эту главу включен ряд подпро грамм, выполняющих различные операции над матрицей [/С].
Каждая программа построена на основе блок-схемы, представ ленной в гл. 7. Специальные программы, включающие некоторые модификации, обсуждаются в связи с каждой прикладной темой. Ввод исходных данных для элементов осуществляется в том же формате, в каком эти данные перфорируются программой GRID после завершения ее работы. Это позволяет исключить еще один источник ошибок при формировании исходных данных.
Представленные здесь программы написаны для ЭВМ с ми нимальными запоминающими устройствами. Исходные данные эле ментов не хранятся в машинной памяти, а вводятся вновь, если необходимо вычислить результанты элемента. Тот, кто имеет дело с ЭВМ, обладающей большим по объему запоминающим устрой ством, может считать более удобным хранить информацию об элементах в машинной памяти.
Написать программу можно несколькими способами. Эта гла ва содержит только те программы, которые являются результатом работы самого автора по созданию ряда учебных программ, осно ванных на методе конечных элементов. Каждый пользователь мо жет по желанию модифицировать эти программы в соответствии с его учебными или исследовательскими целями, а также с учетом возможностей ЭВМ.
Следующие программы написаны на алгоритмическом языке ФОРТРАН IV [2].
18.1. GRID
Неверно составленные исходные данные для элементов — глав ный источник ошибок при использовании программ, основанных на методе конечных элементов. Обработка исходных данных так же требует затрат времени. Существуют программы, которые ав
томатически вырабатывают исходные данные элементов. Эти про граммы построены на различных принципах, но все они служат одной цели: размещают узловые точки внутри рассматриваемой области и затем разбивают область на элементы. Окончательным результатом их работы является вывод на перфорацию номеров узлов элементов и координат этих узлов.
Программа GRID вырабатывает исходные данные элементов для .представленных в этой главе программ, основанных на методе конечных элементов. Для конструирования дискретной модели рассматриваемого тела в GRID используется семейство четырех угольных зон с восемью узлами (квадратичные четырехугольни ки). Эта программа может моделировать двумерные области, ко торые составляются из прямоугольников и треугольников, грани цы которых могут быть описаны кривыми второго порядка. В про грамме осуществляется нумерация узлов элементов и вычисляется величина (R + 1), используемая для определения ширины полосы ленточной матрицы. Не пытайтесь минимизировать R за счет пе ренумерации узлов.
Минимизация ширины полосы ленточной матрицы и связан ные с этим программы обсуждаются в работе [1].
18.1.1. Четырехугольная зона
В программе GRID для предварительного разбиения на зоны могут применяться только квадратичные четырехугольники. Этот элемент, однако, обладает значительной гибкостью: может ис пользоваться в качестве прямоугольника, четырехугольника обще го вида или треугольника (фиг. 18.2). В последнем случае две стороны четырехугольника используются для задания одной сто роны треугольной зоны.
Восемь узлов, определяющих зону, нумеруются, как показано на фиг. 18.2. Узлу 1 всегда соответствуют координаты 1 = г\ = — 1. Заметим, что один из угловых узлов (узел 5 на фиг. 18.2) всегда будет на гипотенузе треугольной зоны.
При рассмотрении каждой четырехугольной зоны выполняются пять основных операций:
1.Согласно введенным исходным данным, определяется число строк и столбцов узлов.
2.Делается проверка, нет ли среди граничных узлов таких, ко торые уже были пронумерованы ранее. Если такие узлы есть, то за ними сохраняются номера, которые им были приписаны раньше.
3.Узлы нумеруются последовательно, начиная от точки с ко
ординатами |
£= |
— 1, Т1 = + 1 |
и двигаясь |
слева |
направо (при |
изме |
|
нении £ от |
— 1 |
до |
+ 1) и |
сверху вниз |
(при |
изменении г\ |
от +1 |
до — 1). Все узлы, |
пронумерованные раньше, |
пропускаются. |
4. Номера всех граничных узлов сохраняются для последую щих рассмотрений соседних зон.
5. Зона делится на треугольные элементы. Каждому элементу приписывается определенный номер. Вычисляется величина (R + 1), которая сравнивается с наибольшим значением (R + 1), получен ным в предыдущих расчетах.
Фиг. 18.2. Зоны, которые могут рассматриваться как четырехугольник.
Разбиение зоны на треугольные элементы осуществляется сле дующим образом. Рассматриваются четыре узла, которые образу ют четырехугольник, как показано на фиг. 18.3. Вычисляются и
Фиг. 18.3. Совокупность четы- |
Фиг. 18.4. Изменение размеров элемен- |
рех узлов, образующих два |
тов при разбиении области, |
треугольных элемента. |
|
сравниваются длины двух его диагоналей, после чего четырех угольный элемент делится с помощью короткой диагонали на два треугольных элемента. Эта процедура повторяется до тех пор, по ка не будут рассмотрены все множества, состоящие из соседних четырех узлов.
Размеры элементов можно варьировать, смещая узлы 2, 4, 6 или 8 относительно середин соответствующих сторон зоны. Сдвиг этих узлов означает перемещение начала местной системы коор динат и приводит к разбиению, подобному тому, которое представ лено на фиг. 18.4. Заметим, что координаты узлов, о которых идет
речь, должны |
оставаться внутри интервалов — 1 /2 < £ < 1 /2 или |
— 1 /2 < т ]< 1 /2 |
[3]. |
18.1.2. Составная область
Дискретная модель тела обычно конструируется с использо ванием нескольких четырехугольных зон, имеющих одну или не сколько общих сторон. Наличие общей границы между двумя зо нами требует задания некоторой дополнительной информации с тем, чтобы можно было приписывать узлам, расположенным вдоль общей границы, одни и те же номера независимо от того, какая рассматривается зона. Вводимую для этой цели информа цию будем называть «исходными данными соединения». Эти дан ные указывают ЭВМ, как рассматриваемая зона соединяется с другими зонами.
Данные соединения для отдельной зоны состоят из четырех чисел, представляющих собой номера каждой из ее сторон. Сто роны четырехугольника пронумерованы так, как показано на фиг. 18.5: первая сторона расположена между узлами 1 и 3, вто рая — между узлами 3 и 5 и т. д.
Фиг. 18.5. Стороны четырехугольной зоны.
Составление данных соединения, вероятно, лучше всего про иллюстрировать на примере области, состоящей из четырех зон,
как показано на фиг. 18.6. |
и номер зоны. Нумера |
Введем местную систему координат |
ция зон совершенно произвольна. Система координат £г) обычно ориентируется так., чтобы получалась наименьшая ширина полосы ленточной матрицы жесткости. Правда, ориентация осей коорди
нат, выбранная на фиг. 18.6, не обеспечивает это, поскольку здесьпреследуется цель — проиллюстрировать составление исходных, данных соединения. Сторонам каждой зоны соответствуют числа: 1—4.
Фиг. 18.6. Тело, составленное из четырех зон в виде четырехугольников.
Данные соединения для области, составленной из четырех зонт (фиг. 18.6), сведены в следующую таблицу:
|
|
Сторона |
|
|
Зона |
1 |
|
3 |
4 |
|
|
|||
1 |
2 |
3 |
0 |
0 |
2 |
4 |
1 |
0 |
0 |
3 |
4 |
0 |
0 |
1 |
4 |
2 |
0 |
0 |
3 |
Первая строка данных устанавливает, что сторона 1 зоны 1 соединяет ее с зоной 2, а сторона 2 зоны 1 соединяет ее с зоной 3. Два нулевых значения строки означают, что вдоль сторон 3 и 4 зона 1 не соединяется ни с какими другими зонами. Каждой зонесоответствует своя строка исходных данных.
18.1.3. Пояснения к программе
Входные данные для программы GRID могут быть разбиты на пять групп: титульная карта, карта с параметрами программы, х- и у-координаты узлов, определяющих четырехугольные зоны,
данные соединения и данные зоны.
18.1.4. Пример
Чтобы проиллюстрировать подготовку исходных данных для программы GRID, рассмотрим задачу о кручении упругого стерж ня с поперечным сечением в форме квадрата. Исходная область анализа показана на фиг. 18.7. Как следует из теоретического рас
смотрения задачи, максимальное |
сдвиговое напряжение |
наблю |
||||||||
|
|
дается на |Границе области в середи |
||||||||
|
|
не стороны квадрата. Эта точка со |
||||||||
|
|
ответствует вершине.угла в 90° на |
||||||||
|
|
фиг. 18.7. При приближении к цент |
||||||||
|
|
ру сечения стержня сдвиговое на |
||||||||
|
|
пряжение уменьшается до |
нуля. На |
|||||||
|
|
личие |
градиента сдвигового |
напря |
||||||
|
|
жения |
указывает |
на то, |
что |
мы |
||||
|
|
должны |
проводить |
разбиение |
на |
|||||
|
|
элементы таким образом, чтобы наи |
||||||||
|
|
меньшие |
по |
размерам |
элементы |
|||||
|
|
встречались вблизи .прямого угла. |
||||||||
|
|
|
Исходная |
треугольная |
|
область |
||||
|
|
разбивается |
предварительно |
на |
од |
|||||
Фиг. 18.7. Область анализа в |
за |
ну четырехугольную и две треуголь |
||||||||
ные зоны |
(подобласти), как показа |
|||||||||
даче о кручении стержня квадрат |
но на фиг. 18.8. Узлы, используемые- |
|||||||||
ного сечения. |
|
|||||||||
|
|
для задания |
четырехугольных |
зон, |
||||||
|
|
нумеруются произвольно. Узлы 4 ю |
||||||||
6 расположим несколько |
ближе |
к узлу |
б |
с тем, |
чтобы |
получить |
наименьшие элементы вблизи прямого угла. Для разбиения второй зоны на элементарные четырехугольники выберем пять строк и пять столбцов. Такой выбор фиксирует число столбцов (пять) в- первой зоне и число строк (пять) в третьей зоне, поскольку число узлов вдоль общих границ различных зон должно быть одинако вым. Самые крупные элементы будут получаться в первой и третьей зонах, так как первая зона содержит только три строки узлов, а третья зона содержит только три столбца узлов.
В табл. 18.1 представлены соответствующие рассматриваемой области исходные данные для программы вместе с пояснительным текстом к каждой группе карт. Имеются карта данных соединения и общая карта данных для каждой зоны.
Окончательное разбиение на элементы и номера узлов показа ны на фиг. 18.9. Использованное здесь расположение зон приводит к наименьшему для величины (R + 1) значению среди тех, кото рые можно получить с помощью программы GRID. Для достиже ния минимального значения (R+1) следует придерживаться об щего эмпирического правила: начинать с самой верхней зоны и
затем двигаться вниз и направо.