Зенкевич О.С. - Метод конечных элементов в технике (1050654), страница 63
Текст из файла (страница 63)
ТЬ. Арр[. МесЬ. оп Н|ОЬ Бреей Споврпйп2 о$ Е[аяйс Б[пгс[ияз, Небе 1970 34. ГипО У. С., ГоипйаИоп о[ Бо[гб Месбапкэ, РгепИсе Най !п1,, 1965. 35, Сбей У. Т, Г1п||е Р|апе Яга|п о| !псотргезяЫе Е|аяйс Ба|Ма Ьу Ше Ш- пйе Е!егпеп$ Ме№об, Тбе Аеголаибса! Спас[ел!р, 19, 254 — 264 ($967). Зб. Ойеп У. Т., 5а1о Т., Ггпйе Ое1оппа|юп о1 Е|аь1к МептЪгапез Ьу [Ье Ш- пИе Е[еяеп| Ме|Ьоб, Ул[. У. ЯоЬйя алй Я[гис[. 3, 471 — 488 (!967 . 37. Обеп У. Т., Хитах(са! Гоппи1абап а1 Моп-[бпеаг Е1азИсИУ РгоЫева, Ргос. Аиь Яас. СЬ Елй. 93, БТЗ 235 — 255 (1967).
38. Обеп 3. Т, Г!пИе Е|евеп1 АарПсаЬопя |п йоп-[йпеаг ЯпкЫга[ Апа|уэ|з, Ргас Був, оп АррИсайап о[ Г|пИе Е|егпеп| Ме№ойз |п СЬИ Еп2!пеег[пб, 39. Б!г|сЫ!и 1. А., НопТЫпеэг Оупаппс Апа|уь[ь а| 5Ье1Ь о| йечо|и|вп, Бугпр !п| Оп. ТЬ. Арр|. МесЬ оп Н|ОЬ Брееб СотриИп9 о[ Е|азПс Б1пгс|игез, Ь|еЬОе, 1970. ГЛАВА ха ВЫЧИСЛИТЕЛЬНЫЕ МЕТОДЫ И ПРОГРАММЫ (ЧЕНГ И КИНГ) 20.1. Введение Метод конечных элементов легко программируется для быстродействующих вычислительных машин и достаточно эффективен, поскольку с помощью ЭВМ можно решать большие системы линейных алгебраических уравненйй, которые получаются после дискретизации задачи [1). Для расчета методом конечных элементов разработано большое количества праграим. Первоначальна они имели узко специальное назначение и часто составлялись на машинном языке.
Подмеченное в процессе различных приложений сходство в структуре программ привело к созданию более совершенных и универсальных программ. Одним иэ первых примеров является программа АБКА'), ориентированная на определенный тип машины. Например, в области исследования аэрокосмических проблем особое значение имеет воэможность решения множества различных задач; составление универсальной программы для расчета небольшого числа задач малоэффективно. Быстрые темпы развития вычислительной техники привели к необходимости создания программы на языке, понятном любой машине. Воэможности алгоритмического языка ФОРТРАН обусловили его широкое использование для программирования при решении задач методом конечных элементов.
Программа 1)АБА') представляет собой попытку создания гибкой программы для широких исследований и решения задач Американской аэрокосмической промышленности. Созданные в Суонси программы РЕБАБ (Р!пйе Е1ешеп1 Бо!ц1юп Бьтапзеа) н ГГ1)(ЕББЕ были больше ориентированы на эффективное решение инженерных задач строительной механики мальм н средних размеров, таких, например, как расчет мо; став, плотин, ядерных реакторов. Прн их разработке основное внимание >делена созданию простой системы, которуьо легко приспособить к любым конкретным задачам.
Важно иметь в виду, что затраченные усилия при программирбвании должны окупаться эффективностью программы. Чем ') Составлена ппх рупавпдстппп проф. Аргпрпсь (Штуьтьрт). ь) 1-!ьппппьпьппь управление пп ььрппаптппь и пссльдппьппю ппснпчьсппгп пространства, Вньиглигельпь~е ппгодн и прпгрпмпн меньшую по размеру предстоит создать программу, тем больше внимания следует уделить ее эффективности. При составлении программы решения задач методом конечных элементов важно знать пределы возможностей машины и при необходимости использования специальных приемов переходить к ЭВМ с ббльшим объемом памяти и ббльшим быстродействием.
Программирование в машинных кодах, как правило, происходит более медленно, и разработка такой программы обходится дороже. Программа и приемы программирования, описанные в этой главе, имеют ряд особенностей, присущих программе РЕББ. Однако многие приемы и тонкости рационального использования памяти, характерные для программы РЕЯБ, здесь опущены ради простоты. Тем не менее приведенная программа без каких-либо существенных изменений использовалась для расчета сложных упругопластических задач. И хотя здесь приведен всего лишь простейший вариант программы, с ее помощью успешно исследовались методом собственных функций также задачи устойчивости и теории колебаний. 20.2.
Программы, реалнзнрующие метод конечных элементов Программы, реализующие метод конечных элементов, могут иметь различное назначение. Чаще всего требуется только решение линейных задач в упругой постановке, однако числа степеней свободы может быть различным, от нескольких десятков до нескольких- тысяч. В задачах динамики и устойчивости может потребоваться отыскание собственных значений, а для решении нелинейных задач может оказаться необходимым применение различных итерационных методов. При решении конкретных задач мртодом конечных элементов встретятся непреодолимые трудности, если составлять программу для каждого нового класса задач.
Поэтому очень важно использовать созданные ранее программы. Типичная программа, реализующая метод конечных племен. тов, состоит нэ ряда общих блоков, которые в различных контекстах могут использоваться по-разному. Такими блоками являются ввод исходных данных, вычисление жесткости элементов, решение уравнений, построение матрицы масс, нахождение собственных значений, вычисление напряжений и вывод на дисплей. При программировании такие блоки используются как пад. программы.
Для обеспечения взаимозаменяемости входные параметры этих подпрограмм должны быть стандартизированы. Тогда при составлении новой программы в каждом конкретном случае можно просто комбинировать соответствующие подпрограммы, и вся дапалнительнан работа программиста сведется 455 Глава 20 Вмннелительньм методы и ороероммм ХРЕ ХСХ Х1.Р ХМАТ ХЗЕЕ ).! ХТ4 ОКТ (25,2) ХИХ (25) К! (200) ЬК (200,40) 10 С С С С мт4 и МСМ=З ЕЕАВ(5,1) МРЕОВ Начало иккль ко звдвчаи лишь к введению каких-либо новшеств или дополнений, связанных са спецификой задачи. В таких системах управляющая лрогромма обычно.,представляет собой очень простую программу, которая обращается в соответствующем порядке к различным подпрограммам. Для некоторых клзссав задач можно создать стандартные управляющие программы и автоматизировать выбор нужных подпрограмм.
В больших организациях, имеющих дело с некоторыин определеннымн тнпамн задач, создание таких стандартных программ может оказаться чрезвычайно полезным. Однако в исследовательских целях, видимо, предпочтительнее более гибкое ручное программирование. Важно, чтобы сформированные блоки имели достаточное количество документации, позволяющей легко испольэовать нх не только непосредственному составителю, на н другим лнцаи.
Крайне полезным может оказаться включение в соответствующие места коиментарнев. Пример управляющей программы. В этой главе приведен пример программы расчета линейной задачи о плоской деформации, ие требующей большого объема памяти машины, что позволяет применять ее в малых ЭВМ. Программа написана на языке ФОРТРАН !Ч н представляет собой очен~ простой при, мер использования отдельных подпрограмм. Однако она вполне пригодна для решения практических задач н легко иожет быть использована чнтателямн, энакомымн с ФОРТРАНам. В равд. 20.7 описан пример решения с помощью этой программы задачи о плоском напряженном состоянии (с измененными материальнымн константамн). Прн использовании подпрограмм в других целях нлн прн применении элементов других типов необходимо составить соответствующие управлятощне программы.
Типичная блок-схема управляющей программы приведена на стр. 467. Заметим, чта в этой программе цикл по нагрузкам вводится в целях экономии памяти вычислительной машины, что, однако, приводит к увеличению затрат иашннного времени. Тем не менее, когда есть необходимость отдельно исследовать влияние большого числа различных видов нагрузок, как, например, прн расчесе мостов, его введение обязательно, Йля задач с аебольшнм разнообразием нагрузок часто бывает предпочтительнее рассматривать нх одновременно.
Обозначены переменных общего блока (СОХТК) Т!Т).Е(!2) Массив для заголовка нэ 12 символов ХР Число узловых точек ХВ Число элементов Число узлов, в которых заданы граничные условия Число степеней свободы узла Максимальное число узлов в элементе Количество случаев нагруження Количество типов материала Число уравнений в системе Счетчик цикла по нагрузкам Порядковый номер запоминающего устрой- ства Основные леремемкыс, помещаемые в ооллггь СОММОХ СОКР (100,2) Массив координат узловых точек ХОР (200,4) Массив, содержащий информацию о связи элементов !МАТ(200) Массив, содержащий информацию а типе материала элемента Массив, содержащий характеристики материала элемента ХВС (25) Номера узлов, в которых заданы граничные условия Тнп граничного условна Вектор нагрузки Прямоугольная матрица для уравнений Обозначения переменных а программе МА1Х ХРКОВ Количество задач ХРК Счетчик числа задач Программа 20-1 Укроэляишак программа МА!М СОЫМОМт/СОНТАГ(т!Т1„Е(12),МР,МЕ,Л В,МВР,МСМ,М).О,ММАТ, МБХЕ,Ь),МТ4 СОММОМ 'СОЕО(100Д),МОР(200,4),!МАТ(200),ОЕТ(25,2),МВС(ит), МР1Х(25) ! Д1(200),5К(200,40) Номер исходной лсвты к мьксккалькос число узловмх точек Блок-схелта программы МА)Х 1З 00 4ОО МРП 1,МРЕОВ НЕТЧ1М0 МТ4 Счнтыненне ееходныя денных ие тееметрнн 13 н свойствам метериелев 14 19 21 22 СА1Л.
СВАТА М32Р МР МОР 00 2991Л 1,ЬП.0 Считывание нагрузка САЕС ЕОА0 23 С С Фермнрееенне н решение системы алгебраических уравнений С С САТЛ. РОЕМД САЬС 3ОЕЧЕ С С Вычнсленне аенрнженнй С СА1Л. 3ТЕЕ33 ЭЮ СОМ Т1МОЕ 4ОО СОМТ1МОЕ 1 РОНМАТ(913) ЕТОР ЕМ0 32 33 35 33 37 29,3. Ввод исходных данных Для работы программы, реализующей метод нонечных элементов, дополнительно требуются четыре основные системы исходных данных: а) координаты и характеристики элеиентов; б) свойства материала каждого элемента; в) граничные условия; г) нагрузки.