ПОИСК Статьи Чертежи Таблицы Организация полного алгоритма МКЭ на ЭВМ из "Метод Конечных элементов в расчетах деталей тепловых двигателей " Решение сложных промышленных задач методом конечных элементов, как правило, связано с использованием всех ресурсов ЭВМ. Это обьясняется тем, что такие задачи порождают огромные числовые массивы данных, разместить которые в оперативной памяти современных ЭВМ невозможно. Более того, описываемые здесь и предназначенные для решения больших задач программы содержат от 1500 до 2000 операторов Фортрана и, таким образом, также представляют собой большие массивы. Следовательно, возникает необходимость организации полного алгоритма МКЭ, при которой часть данных размещается в периферийной памяти ЭВМ. [c.140] Сущность сегментации программы заключается в освобождении на определенный период времени оперативной памяти ЭВМ от присутствия той части алгоритма, очередность работы которой либо прошла, либо еще не наступила, и пересылке из периферийной памяти возможно большого количества числовых данных, необходимых для работы оставшейся части алгоритма (сегмента). С точки зрения программиста, сегмент — это подпрограмма, которая содержит только формальные и локальные переменные. Каждый сегмент находится под упраглением главной программы. Правильно составленная главная программа содержит небольшое число операторов. Она размещается в оперативной памяти ЭВМ в течение всего времени решения задачи. В любой момент времени в оперативной памяти ЭВМ находится главная программа и какой-либо из сегментов, который перекрывает поле памяти, ранее занимаемое предшествующим сегментом. [c.141] Число сегментов может быть различным. Оно определяется выбором и структурой всего алгоритма, а также ресурсами доступной ЭВМ. Обмен данными между сегментами происходит через главную программу посредством формальных параметров и путем обмена массивами через периферийную память. [c.141] В предыдущих главах приведены отдельные- программные модули различного назначения и рассмотрена их работа. Эти модули составляют основу программ расчета плоского, осесимметричного и пространственного температурного полей и напряженно-деформированного состояния. Привести здесь полный текст упомянутых программ нет никакой возможности, поскольку средняя длина каждой из программ составляет около 1500 операторов. [c.141] Все программы построены по единой логической схеме и используют изопараметрическую технику конечных элементов. Эта схема предполагает двухуровневую организацию каждой программы (рис. 8.9). Первый, он же высший, уровень включает только управляющую программу. Второй уровень включает пять сегментов. Структура каждого сегмента определяется его функциональным назначением и обычно включает несколько программных модулей. [c.141] Обсуждаемые программы являются независимыми, с той лишь особенностью, что при решении задачи термоупругости данные по исходному температурному полю берутся на основе решения соответствующей задачи теплопроводности. [c.141] Прежде чем перейти к функциональному анализу каждого сегмента программы, следует отметить, что несмотря на одинаковое назначение некоторых сегментов, конкретная реализация их в разных программах отличается друг от друга. Однако эта реализация проводится так, что одинаковые по назначению сегменты содержат модули, которые инвариантны к типу конечного элемента и к типу решаемой задачи. [c.142] Во втором сегменте в процессе последовательной обработки макроэлементов вычисляются и формируются матрицы и векторы нагрузок макроэлементов. Обработка каждого макроэлемента завершается формированием сегментов профиля глобальной матрицы и правой части системы уравнений МКЭ. [c.142] Третий сегмент осуществляет декомпозицию исходной матрицы по схеме метода Холецкого и включает в себя единственный программный модуль, который инвариантен к типу решаемой задачи. [c.142] Четвертый сегмент осуществляет прямой и обратный ход по схеме метода Холецкого и включает в себя единственный программный модуль, который также инвариантен к типу решаемой задачи. [c.142] В последнее время большое внимание уделяется уточнению напряжений в МК.Э. Суш,ествуют различные методы. В этой книге они не обсуждаются, однако на одном способе уточнения напряжений хотелось бы остановиться в свете изложенной ранее схемы организации данных в программах. Этот способ обсуждается в работе [19]. Он состоит в уточнении напряжений с использованием сопряженных аппроксимаций. Одним из трудоемких шагов в уточнении напряжений с использованием сопряженных аппроксимаций является решение системы ал1 ебраических уравнений, порядок которой совпадает с числом узловых точек. В работе [191 предложено решать такую систему уравнений не для всей конструкции, а для так называемой зоны влияния. При нашей организации данных макроэлемент может представлять собой эту зону влияния. В принятой здесь стратегии программирования имеется то преимущество, что матрица макроэлемента в сжатом виде целиком размещается в оперативной памяти ЭВМ и поэтому при решении упомянутой выше системы уравнений можно избежать обменов с периферийной памятью. Организация алгоритма МКЭ тесно связана с организацией файлов на внешних носителях. Здесь в качестве внешних носителей используются накопители на магнитных дисках. Использование дисков вызвано тем обстоятельством, что при формировании глобальной матрицы системы уравнений МКЭ требуется прямой доступ к записям соответствующего файла. [c.143] При описании в программе файлов прямого доступа нужно следовать некоторым рекомендациям. Число файлов не должно быть большим. Следует избегать их описания с записями короткой длины. Однотипные массивы желательно блокировать в одну запись. В каждой из обсуждаемых здесь программ определено шесть файлов прямого доступа. Описание их производится в управляющей программе. [c.144] Первый файл предназначен для хранения значений глобальных координат узловых точек сетки макроэлементов. В программах расчета напряженно-деформированного состояния в нем содержатся также значения температур в узлах сетки макроэлементов. Номер записи файла соответствует номеру текущего макроэлемента. Файл создается во время работы первого сегмента программы в процессе автоматической генерации значений глобальных координат и номеров узловых точек. [c.144] Второй файл предназначен для хранения глобальных и локальных номеров узловых точек сетки макроэлементов. Здесь также номер записи файла соответствует номеру текущего макроэлемента и создается он в первом сегменте программы одновременно с первым файлом. [c.144] Третий файл предназначен в основном для хранения двух массивов целых чисел. Один из массивов представляет собой адресную последовательность матрицы макроэлемента. Другой массив содержит в качестве своих элементов номера сегментов профиля глобальной матрицы системы уравнений МКЭ, которым принадлежат строки матрицы макроэлемента. Номеру его записи соответствует номер текущего макроэлемента. Файл также создается в первом сегменте программы. [c.144] Четвертый файл предназначен для посегментного хранения профиля глобальной матрицы системы уравнений МКЭ. Он создается во время работы второго сегмента программы. [c.144] Пятый файл предназначен для хранения правой части системы уравнений МКЭ и имеет столько записей, сколько правых частей имеет система уравнений. [c.144] Шестой файл предназначен для хранения решения системы уравнений МКЭ. Структура шестого и пятого файлов идентична. [c.144] Если программой предусмотрено итерационное уточнение решения системы уравнений МКЭ, то исходная глобальная матрица должна быть сохранена. Она используется при вычислении невязок [22]. В связи с этим требуется введение еще одного седьмого файла, в котором копируется содержимое четвертого файла. [c.144] В последующих главах приведены результаты расчетного исследования деталей двигателей внутреннего сгорания, выполненного на основе изложенных в предыдущих главах принципов и Гприемов проектирования и программирования алгоритмов МКЭ. [c.144] Вернуться к основной статье