Сегерлинд Л. Дж. - Применение метода конечных элементов (1051193), страница 17
Текст из файла (страница 17)
Задание номеров узлов предпочтительнее задания узловых сте- пеней свободы. Узловые степени свободы могут быть рассчитаны, если известны номера узлов. В задачах, связанных с рассмотрени- ем векторных величин, ввод номеров узлов может сократить на половину или на две трети требуемую информацию об узловых данных, Составление матриц элементов требует знания свойств мате- риала. Существуют три способа обработки данных об этих свой- ствах.
Если данные о свойствах материала не зависят от номера элемента, они могут быть введены одновременно с предваритель- ной информацией. Именно так делается в программах, представ- ленных в гл. 18, потому что эти программы носят учебный, а не исследовательский характер. Их используют в основном не для решения сложных задач, а для иллюстрации применения метода конечных элементов.
При другом способе обработки данных о свойствах материала этн данные вводятся и запоминаются как массив перед началом работы цикла. Тогда номер соответствующе- го материала должен быть представлен в исходных данных эле- мента. При использовании третьего способа вводится группа свойств материала, которой пользуются для всех элементов до тех пор, пока некоторое контрольное целое число в исходных данных элемента не укажет, что пора вводить другую группу свойств. Количество исходных данных элемента (таких, как номера уз- лов, узловые координаты и свойства материала), которые хранят- ся в ЭВМ, зависит от используемой программы и от размеров па- мяти ЭВМ. Стоит придерживаться правила — не хранить исходную информацию об элементе, когда размеры памяти ЭВМ ограничен- ны.
Эта память в большей степени необходима для хранения гло- бальных матриц. Одним из средств хранения информации являет- ся внешнее запоминающее устройство, такое, как магнитная лента. Если же внешним устройством воспользоваться нельзя, данные об элементе стираются и вводятся вновь, когда подсчитываются ре- зультанты элемента.
Реалиэацин метода конечных элементов на ЭВМ 1!9 Ввод узловых сил, если вообще это требуется, и составление глобального вектора нагрузки (Р~ осуществляются после завершения указанного выше цикла по элементам. Вектор узловых сил содержит величины, которые связаны с определенным узлом, а не с определенным элементом. Вообще большинство из этих величин связано с граничными узлами, как, например, сосредоточенные силы в задачах механики деформируемых сред, илн псевдосилы, такие, как количество просочившейся воды в задаче о течении грунтовых вод или количество потерь тепла в задаче о переносе тепла. Силы будут определены для различных типов задач в прикладных областях.
Величины и расположение этих сил будут заданы при решении конкретной задачи. Число узловых сил различно в разных задачах, поэтому необходимо обеспечить своевременное прекращение ввода. Обычно это достигается использованием нулевого или отрицательного номера узла для размещения узловой силы.
После ввода узловых сил производится ввод заданных узловых значений искомой величины. Поскольку число их может быть произвольным, завершение ввода снова осуществляется с помощью нулевого или отрицательного номера узла. Необходимая модификация системы уравнений выполняется так, как описано в предыдущей главе. После преобразования системы уравнений проводится решение этих уравнений относительно неизвестных узловых значений. Существует несколько процедур построения решения.
Одна из них уже обсуждалась в середине этой главы. Система уравнений имеет специальный вид: ее матрица ленточная, причем диагональные элементы обычно положительны и доминируют над элементами соответствующих столбцов и строк вне главной диагонали. Это позволяет многие достаточно общие процедуры решения видоиз~менить так, чтобы повысить их эффективность. После решения системы уравнений осуществляется вывод узловых значений. Если результанты элементов не вычисляются, то этот этап завершающий. Для вычисления результантов элементов требуется еще один цикл по элементам. В этом цикле снова вводятся исходные данные элемента, вычисляются результанты элемента и все другие важные величины, связанные с элементом. Если информация об элементе не хранится во внешнем периферийном устройстве, то использование операторов считывания, идентичных тем, которые применяются при первоначальном вводе данных, обладает определенным достоинством.
Это позволяет применять тот же самый набор исходных данных для расчета результантов элемента. Можно также включить в программу операторы сравнения, которые будут сравнивать вычисленные значения с максимальными или минимальными значениями для предыдущих элементов и оставлять наименьшее или наибольшее значение вместе с номером элемента. Г20 Глава 7 Вывод на печать информации этого типа производится после рассмотрения всех элементов. Эффективная программа не рассматривает глобальную матрицу жесткости, глобальный вектор нагрузки и вектор решения как отдельные массивы, размеры которых заданы заранее, а хранит все эти величины в общем одномерном массиве в виде столбца (3).
Концепции одномерного массива может быть проиллюстрирована при рассмотрении системы уравнений, которая используется для получения согласованных результантов элемента четырехэлементной модели в задаче о кручении из гл. 6. Запишем эту систему уравнений (6.34): (7.17) Обычно запоминание этой системы уравнений требует 48 ячеек машинной памяти — 36 для [К) и по 6 для (Ф) и (Р). В соответствии с нумерацией узлов, показанной на фиг. 6.3, система уравнений будет иметь ширину полосы, равную четырем.
Матрица жесткости может быть представлена четырьмя столбцами: 2 1 0 Г 6 1 2 2 2 0 1 0 6 2 1 х ' 6 1 х х 2 х х х (7. 18) Через х обозначены несуществующие числа, которые обычно заменяются в ЭВМ нулями (в результате предварительной чистки). Заметим, что первый столбец соответствует членам главной диагонали, второй столбец заполнен коэффициентами диагонали, следующей за главной, и т. д. При использовании одномерного массива вначале помещаются узловые значения (Ф1), затем следует глобальный вектор нагрузки (г) и далее располагается матрица жесткости столбец за столбцом. Такое хранение матрицы (7.18) вместе с (Ф) и (Р) показано на фнг.
7.4. Порядковые номера расположения первых коэффициентов (ФД, (Р) и (К) в этом столбце называются указателями. Значение указателя для первого столбца матрицы жесткости на 2 1 0 1 0 0 1 6 1 2 2 0 0 1 2 0 1 0 1 2 0 6 2 1 0 2 1 2 6 1 0 0 0 1 1 2 Ф, Ф, Фв Ф, Фб Фе 932 5464 2556 4884 ' 6508 1976 Реализация метода коненнмк элементов на ЭВМ 121 единицу больше удвоенного числа уравне.
ний. Это значение равно 13 в примере, представленном на фиг. 7.4. Основной причиной использования одномерного массива является то, что его размер,может быть установлен,п~ри выполнении программы. 1При этом исключаются ошибки, связанные с определением разме~ров масси~зов, и кроме того, место, отвод~имое.в ~па~мяти машкины для хранения,матрицы жесткости, может быть освобождено для других целей, как только система уравнений будет решена. Подготовка, исходных данных требует от пропра1ммиста большого внимания.
Наиболее часто неправильная, работа программы объясняется ошибками в исходных данных. Прежде чем отправлять исходные данные в вычислительную,машкину, необходимо каким-либо способом убедиться ~в их правильности. Для этого существует несколько способов: одни из и~их очень п~ростые, другие— более сложные. Простейший метод проверки данных— заннсать их в виде оп~иска и сравнить с,исходной схемой, чтобы убедиться, что размеры элементов и номера узлов зеиисаны правильно. Кроме этого, всегда необходимо проверять неправильность расположения чисел;в столбцах, потому что сдвиг в столбце ~может пр~ивести к ошибочному ответу.
Такая лроцеду1ра проверки данных псе же наименее желательна, так как человек, составляюгций список, легко может ошибиться. В качестве промежуточного шага можно испольэовать программу, которая содержит те же операторы ввода и записи исходных данных, что и программа, реализующая метод конечных элементов, но которая не выполняет никаких вычислений.
Програм|ма такого типа позволит вводить данные ~в ЭВМ, кото~рая будет считывать ~и записывать данные. Любые неверно составленные столбцы чисел будут обнаружены при напечатании. Программа будет также обнаруживать ошибки в расположении пер- 25бб Систем орая х ектор-ст Фиг. 7.4, иеиия, кот в виде в Фл Фе Фе 1976 2 а уравраиится оябиа. 122 Глава т фокарт.
Удобнее проверять исходные данные, если ввести их в программу, которая затем представляет диаграмму всей анализируемой области в целом. Такой метод позволит очень быстро обнаружить элементы с неверными номерами узлов или ошибочными координатами, так как их графическое изображение будет накладываться на изображение других элементов. Наиболее совершенный метод обработки исходных данных — использовать генератор данных элемента. Это программа, которая размещает и нумерует узлы, вычисляет координаты узлов и затем разбивает область на элементы. Программы этого типа обычно приспосабливают к определенным областям применения, потому что исходные данные могут существенно различаться при переходе от одной области прнменения к другой.