6CAD-CAE-19 МСЭ (1014138), страница 4
Текст из файла (страница 4)
• визуализацию и интерпретацию результатов моделирования.
Эти три этапа хорошо разделены и в действительности соответствуют на уровне программного обеспечения трем функциям, выполняемым отдельными модулями:
• модулем ввода данных (препроцессором);
• модулем вычислений (процессором);
• модулем вывода результатов (постпроцессором) .
8.2.Функции модуля ввода
Модуль ввода предназначен для ввода и подготовки всей информации, необходимой для решения задачи методом конечных элементов. Следует сообщить данные о дискретизации области и представить ее физические характеристики. Модуль ввода должен также осуществлять следующие три функции:
• описание геометрии объекта;
• генерацию сети конечных элементов;
• указание областей и границ.
Генерация сети конечных элементов в области заключается в формировании совокупности узлов и совокупности конечных элементов, обеспечивающих приемлемую дискретизацию области. Такая дискретизация должна соответствовать границам области и внутренним границам между различными ее участками. Кроме того, конечные элементы не должны иметь форму, слишком отличающуюся от симметричных форм стандартных элементов (равносторонних треугольников или тетраэдров, квадратов или кубов).
Узлы определяются их координатами, тогда как элементы характеризуются их типом и перечнем их узлов. Некоторые формулировки задач требуют использования интегралов на границах. В этом случае дополнительно к конечным элементам области (объемным в трехмерных задачах, линейным в двумерных) требуется создать конечные элементы границ (поверхностные в трехмерных и линейные в двумерных задачах, дискретизирующие рассматриваемые границы).
Операция указания областей и границ позволяет уточнить физическое поведение:
• описание физических характеристик материалов (например, проводимость, теплопроводность и т. д.);
• описание источников (например, источники тепла);
• описание граничных условий;
• описание начальных условий для время переменных задач.
Обычно эта информация вводится последовательно участок за участком, граница за границей. Связи между участками, конечными элементами области и узлами позволяют отразить эту информацию в виде дискретизации области.
Описание геометрии иногда производится в неявной форме при создании сети КЭ. Однако в настоящее время стремятся разделить эти операции. Вначале составляется описание геометрии, а затем создается сеть КЭ, использующая заданную геометрию. Крайним случаем является использование двух специализированных программ: жесткого моделирования для геометрической части, и составления сети КЭ для дискретизации.
8.3. Функции модуля вычислений
Модуль вычислений решает одиночное уравнение или систему линейных или нелинейных уравнений.
Этот модуль получает на входе описание сети, физические характеристики и граничные условия. На выходе он выдает значения искомых величин в каждом узле сети.
Для решения систем уравнений используются два семейства методов:
методы точечные или блочные, действующие путем релаксаций, и глобальные матричные методы. Последние методы, используемые значительно чаще, имеют несколько этапов:
• построение подматриц и собственных подвекторов на каждом конечном элементе;
• объединение этих подматриц и подвекторов для формирования матрицы и правой части;
• учет граничных условий;
• решение линейной системы.
Решение линейных систем осуществляется несколькими возможными способами: прямыми методами (Гаусса, Холецкого); полупрямыми методами;
• итерационными блочными методами (Гаусса-Зейделя).
Для систем нелинейных уравнений эти операции повторяются в соответствии с принятой итерационной схемой (Гаусса-Зейделя, Ньютона-Канторовича, Ньютона - Рафсона).
Для времяпеременных задач такое рассмотрение должно быть повторено на каждом временном шаге (явные и неявные методы конечных разностей Крэнка-Николсона, прогноза-коррекции).
8.4. Функции модуля вывода
Модуль ввода позволяет описать задачу, которая затем решается модулем вычислений. Однако полученное решение не может непосредственно использоваться по следующим причинам:
• значения переменных в узлах конечноэлементной сети не всегда имеют четкий физический смысл (например, вектор магнитного потенциала в задачах электромагнетизма);
• масса необработанной численной информации, получаемой при вычислении (несколько тысяч узловых величин), слишком велика для восприятия пользователем.
Модуль вывода играет двойную роль:
• извлекает значащую информацию. Эта информация может быть связана с локальными величинами (например, магнитной индукцией, удельными потерями, механическими напряжениями и т.д.) или глобальными величинами (тепловым потоком, электромагнитными силами и т. д.);
• представляет численную информацию в графической форме для облегчения ее восприятия и интерпретации (в виде карты полей, изотерм, постоянных механических напряжений, кривых изменения температуры или магнитного поля вдоль некоторой линии и т. д.).
8.5. Программное обеспечение для метода конечных элементов
Программа САПР, базирующаяся на методе конечных элементов, должна включать в той или иной степени разнообразные функции, которые только что были перечислены и объединены в три модуля. В минимальной конфигурации входной и выходной модули могут отсутствовать.
В программном обеспечении систем автоматизированного проектирования функции ввода и вывода особенно развиты, так как они сокращают время получения данных и оценки результатов в ходе моделирования.
Вычислительный модуль в основном использует элементы основной конфигурации технических средств: процессор, оперативную память, внешнюю память большой емкости.
Разнородность используемых ресурсов для препроцессора, процессора и постпроцессора вынуждает разработчиков иногда организовывать программное обеспечение в виде трех, отдельных программ, реализуемых в ряде случаев на компьютерах различной производительности (РС для взаимодействия и графики, суперЭВМ-для векторных вычислений). Тогда поток данных, передаваемых из одной программы в другую (соответственно от одной ЭВМ к другой), осуществляется с помощью файлов.
Чаще всего встречается следующая организация:
• единая (управляющая) программа для всех функций;
• одна программа для ввода и вывода, другая программа для расчетов;
• отдельная программа на каждую функцию.
Использование единой программы, управляющей всеми функциями, позволяет осуществлять быстрый переход от одной процедуры к другой. Единая программа особенно эффективна в тех случаях, когда необходимо многочисленное повторение цикла ввод-расчет-вывод.
В следующем возможном варианте пользователь раздельно пользуется модулем ввода-вывода и модулем вычисления. Это позволяет ему производить расчеты с разделением времени или даже "on line", если в соответствии со схемой организации работ имеется очень мощная ЭВМ.
Последний вариант представляет собой цепочку «препроцессор-процессор-постпроцессор». При этом можно предусмотреть использование нескольких препроцессоров, представляющих пользователю различные возможности. Пользователь выбирает тот или иной препроцессор в зависимости от конкретных обстоятельств расчета. Например, если разработаны два способа построения сети (один полностью автоматический, а другой ручной, работающий поблочно), то сначала осуществляют автоматическое разбиение сети, затем, если результаты не удовлетворительны (слишком много элементов, не соблюдается симметрия и т. д.), то используют ручное поблочное разбиение сети. Все случаи входят в цепочку одной и той же программы решения.
8.6. Многодисциплинарные программы
Различные явления, происходящие в непрерывных средах, описываются одними и теми же уравнениями в частных производных.
Например, двумерное уравнение Пуассона моделирует следующие явления:
• теплопроводность в непрерывном режиме
электростатику
магнитостатику и т.д.
Численные методы, и в частности метод конечных элементов, позволяют решать некоторые типы уравнений, представляющие интерес для различных областей физики. То же самое можно сказать и о применении программ, использующих эти методы. Одна и та же программа может служить для решения сходных задач, происходящих из различных дисциплин;
Тогда возникает проблема выбора языка общения между человеком и программой в рамках исследуемой задачи. Рассматривается несколько возможностей:
• единый нейтральный язык (математический);
• единый проблемно-ориентированный язык (механика, теплотехника и т.д.);
• язык для данной задачи.
Решение об использовании единого языка реализуется много проще, однако оно трудно принимается пользователем. Действительно, как интерпретировать интерактивный диалог, когда задаваемые вычислительной машиной вопросы формулируются на математическом языке?
Вот один пример.
- «Следует ли применить к этой поверхности граничное условие Дирихле (да/нет)?»
Тот же вопрос, сформулированный для теплотехники или электромагнетизма, выглядит следующим образом:
- «Эта поверхность имеет одинаковую и известную температуру (да/нет)?»
- «На этой поверхности электрический потенциал одинаков и известен (да/нет)?»
В действительности помимо языка часто существуют более глубокие различия, связанные с окончанием моделирования в каждом физическом явлении.
Поэтому часто встречается следующая последовательность обработки при рассмотрении задач методом конечных элементов:
• единое устройство разбиения на конечные элементы;
• устройство описания физических характеристик по дисциплинам;
• единое решающее устройство;
• устройство обработки результатов по дисциплинам.
Архитектура одной из таких систем приведена ниже.
Реализуют также и методы, которые состоят в использовании общих программ, способных адаптироваться к специальным задачам.
Например:
Программное обеспечение, использующее метод конечных элементов, становится более эффективным при использовании интерактивных процедур.
С другой стороны, широкое распространение метода конечных элементов, требующего больших затрат процессорного времени, стимулирует разработку компьютеров высокой производительности.
Наконец, появление систем управления базами данных для САПР и использование элементов искусственного интеллекта оказывают сильное влияние на прогресс в разработке программного обеспечения и на более тесную интеграцию в системе автоматизированного проектирования и производства.
8.7. Требования к построению программных систем на базе МКЭ и проблемы их алгоритмизации.
1. Прежде всего, программа должна быть написана на языке, приемлемом для возможно большего числа машин. Программа не должна быть ориентирована на какое-то конкретное оборудование.
2. Следующим из наиболее важных требований к вычислительным
системам вообще и к реализующим методы конечного элемента и суперэлементов, в частности, является требование модульной структуры.