Содержание


Моделирование в CAE Salome

Часть 1. Общие принципы

Comments

Серия контента:

Этот контент является частью # из серии # статей: Моделирование в CAE Salome

Следите за выходом новых статей этой серии.

Этот контент является частью серии:Моделирование в CAE Salome

Следите за выходом новых статей этой серии.

Данный цикл статей будет посвящен Salome - платформе для выполнения инженерных расчетов. В рамках цикла на примере свободной платформы Salome будут рассматриваться основные аспекты использования пакетов для инженерного моделирования (CAM/CAE – computer aided modeling/computer-aided engineering).

В первой статье будет представлен краткий обзор CAE Salome и ее пользовательского интерфейса. В последующих статьях будет последовательно рассмотрена типовая процедура построения инженерной задачи (создание геометрии, построение сетки, определение граничных условий) и ее решения (выбор решателя, запуск расчета и обработка полученных результатов).

Появление и последующее развитие технологий высокопроизводительных вычислений было вызвано необходимостью выполнения математических расчетов для различных исследований. Несмотря на то, что методы и алгоритмы этих расчетов не отличаются особой сложностью, объем самих вычислений настолько значителен, что небольшой группе исследователей практически невозможно выполнить их в приемлемые сроки и с должным качеством.

Первые инженерные пакеты были созданы в конце 60-х, начале 70-х годов именно для автоматизации рутинных вычислений. В англоязычной литературе такие пакеты обозначаются аббревиатурой CAE (computer aided engineering), а в России это понятие входит в состав САПР (системы автоматизированного проектирования). Задачи, для решения которых чаще всего применяются CAE-системы, можно разделить на следующие категории:

  • прочностные расчеты различных деталей и узлов (расчет упругопластических деформаций и напряжений);
  • гидродинамические расчеты (расчет характеристик различных одно- и многофазных течений, а также их эволюция во времени);
  • термодинамические расчеты (расчет нагрева и остывания деталей и узлов);
  • расчет электрических, магнитных и электромагнитных полей;
  • различные комбинации предыдущих типов задач.

Архитектура и принцип работы стандартного CAE-пакета

В основе большинства CAE-пакетов лежит метод конечных элементов. Идея этого метода заключается в замене непрерывной функции, описывающей изучаемое явление или процесс, дискретной моделью, которая строится на базе множества кусочно-непрерывных функций, определенных на конечном числе подобластей. Каждая такая подобласть конечна и представляет собой часть (элемент) всей области, поэтому их называют конечными элементами. Исследуемая геометрическая область разбивается на элементы таким образом, чтобы на каждом из них неизвестная функция аппроксимировалась пробной функцией. Такое разбиение называется расчетной сеткой.

В качестве примера можно рассмотреть стальной цилиндрический прут, один конец которого помещен в огонь. Фрагмент прута, подверженный действию пламени, активно нагревается. То есть, на его цилиндрической поверхности действует источник тепла. Остальная часть прута нагревается только за счет явления теплопроводности - переноса тепла от горячих участков к более холодным. В самом грубом случае можно разделить прут на две части: с источником тепла на цилиндрической поверхности и с источником тепла в сечении цилиндра, параллельном основанию. Таким образом, одна комплексная (сложная) задача разбивается на две более простые.

Однако, получившиеся задачи всё равно слишком сложны для решения в общем виде, так как их решения представляют собой сложные экспоненциальные зависимости от координат и времени. Для упрощения можно разделить прут на более мелкие фрагменты (элементы), причем в элементах рядом с поверхностью задать выделение тепла во всем их объеме, а не только на границе (при выполнении определенных условий это оправдано), а в остальных элементах, ввиду их малости, искать приближенное решение в виде более простой зависимости (линейной или квадратичной). В этом случае сложная система дифференциальных уравнений для элемента сводится к более простой системе алгебраических уравнений. При таком подходе найти решение для каждой отдельной задачи будет намного проще.

Сложность подобного подхода заключается в необходимости решения большого количества таких упрощенных задач. В современных задачах используются сетки с десятками и сотнями миллионов элементов. Поэтому инженерные пакеты создаются с использованием технологий параллельного программирования, чтобы обеспечить необходимую вычислительную мощность.

Создание хорошей расчетной сетки также представляет собой нетривиальную задачу. Это связано с тем, что реальные детали машин имеют сложную геометрию и необходимо разделить их на такие элементы, чтобы приближенные решения не сильно отличались от точных. Поэтому, кроме самих CAE-пакетов, существует большое число приложений, выполняющих всего одну важную функцию: построение расчетной сетки. В англоязычной литературе подобные приложения называются mesher.

Модуль, отвечающий за решение системы уравнений, соответствующей сформированной сетке, называется решателем (в англоязычной литературе: solver). Он получает все исходные данные и обрабатывает их на основе реализованных в нем методов.

В настоящее время компьютерное моделирование при помощи CAE-систем составляет значительную долю работы в любом серьезном научном или инженерном проекте. На рынке CAE-систем присутствуют известные коммерческие решения, например, ANSYS, Deform, Simulia (ранее Abaqus) и другие. Стоимость лицензий этих продуктов исчисляется сотнями тысяч и миллионами рублей, однако существуют и CAE-системы, относящиеся к свободному ПО.

Среди свободных CAE-пакетов наиболее известны: Salome, OpenFOAM, Elmer. В качестве основных минусов этих пакетов можно отметить непроработанный интерфейс и отсутствие документации, особенно на русском языке. Впрочем, возможность их использования на любом количестве процессоров без каких-либо финансовых затрат на приобретение делает cвободные CAE-системы весьма привлекательными для использования в небольших компаниях и учебных заведениях.

Знакомство с Salome

Большинство CAE-пакетов представляют собой законченные программные комплексы, содержащие в себе все, что необходимо для выполнения конечно-элементного моделирования. Salome - это платформа, предоставляющая функции предварительной и окончательной обработки задачи (pre-processing и post-processing), т.е. есть определения геометрии, построения сеток, определение «траектории» вычислений, визуализацию результатов и т.д. В ней отсутствуют самые важные компоненты – решатели, но платформа Salome может расширяться за счет сторонних свободных или коммерческих модулей.

Основное предназначение платформы Salome – это создать некую унифицированную среду, после изучения которой пользователь сможет выполнять обработку исходных и полученных данных в привычной оболочке, вне зависимости от используемого решателя. Существует возможность подключить к данной оболочке решатели ANSYS и других коммерческих пакетов с помощью написания специальных модулей или управляющих сценариев, которые можно писать на языках Python или C++.

Внутренним языком платформы является Python, причем в самой платформе имеется встроенная консоль Python, которая может использоваться для выполнения пользовательских сценариев и автоматизации обработки множества типовых задач (пакетной обработки).

Системные требования и варианты установки

Платформа Salome нетребовательна к аппаратным ресурсам (см. таблицу 1), однако требует обязательной установки большого количества дополнительных библиотек. Как следует из официального FAQ, для нормальной сборки и работы Salome потребуется 19 сторонних приложений, поэтому рекомендуется использовать уже готовые сборки Salome, включающие все необходимые компоненты.

Таблица 1. Системные требования Salome
МинимальныеОптимальные
процессорPentium IV Dual Core
оперативная память512Mb2Gb
жесткий диск1,5 Gb 5Gb
видеокарта64Mb128Mb

Существует несколько вариантов получения и установки Salome на компьютер:

  1. Воспользоваться менеджером пакетов используемого дистрибутива Linux. В Mandriva 2010, например, Salome присутствует в списке пакетов, однако установка приводит к замене нескольких модулей Python более старыми версиями, что сказывается на работоспособности сервера печати CUPS. Кроме того, в репозитории находится достаточно старая версия платформы.
  2. Загрузить установочный пакет для используемого дистрибутива с официального сайта.Поддерживаются следующие дистрибутивы: Debian, Mandriva, Red Hat Enterprise, Fedora Core, Scientific Linux. Пользователи остальных дистрибутивов могут воспользоваться универсальным бинарным пакетом, который не требует установки. Для пользователей ОС Windows существует только экспериментальная сборка.
  3. Загрузить исходный код платформы с официального сайта и выполнить сборку самостоятельно. На этом пути может встретиться множество «подводных» камней, поэтому самостоятельная сборка рекомендуется только в случае, если другие способы установки Salome оказались безуспешными.
  4. Загрузить специализированную сборку (см. раздел Ресурсы). Пакеты, загруженные с официального сайта Salome, не содержат решателей, поэтому потребуется отдельно загрузить их и подключить к системе. На сайте проекта Code-Aster имеется сборка Salome MECA, содержащая в себе решатели для решения упругих и термодинамических задач.
  5. Воспользоваться одним из специализированных дистрибутивов Linux. Наиболее известный из них - CAELinux (см. раздел Ресурсы), представляющий собой Live-дистрибутив на основе Ubuntu с набором инженерных пакетов, среди которых имеется и Salome MECA.

В данном цикле статей используется сборка Salome MECA 2011.1 x86_64 на базе Mandriva Linux 2010.2. Для установки Salome потребуется загрузить архив и распаковать его в любой каталог, доступный пользователю. Затем перейти в этот каталог и выполнить в консоли следующие команды:

cd SALOME-MECA-2011.1-x86_64/postinstall
python postinstall.py

После отработки сценария пакет можно будет запустить из его базового каталога с помощью команды:

./runSalomeMeca

Для более удобной работы рекомендуется создать символьную ссылку на приложение и разместить ее на рабочем столе или в меню приложений.

Пользовательский интерфейс Salome MECA

Стандартное окно Salome, изображенное на рисунке 1, содержит пустую рабочую область, консоль Python и панель инструментов, позволяющую выбрать для работы один из доступных модулей. Для того, чтобы начать работу, необходимо создать новый проект: File (файл) ->New (новый).

Рисунок 1. Внешний вид окна пакета Salome MECA.
Рисунок 1. Внешний вид окна пакета Salome MECA.
Рисунок 1. Внешний вид окна пакета Salome MECA.

После создания нового проекта, основная рабочая область делится на две части: левая (обозреватель объектов) отображает состав текущей модели, а правая представляет собой область редактирования. Содержимое обозревателя объектов всегда остается постоянным, а содержимое области редактирования зависит от текущего выбранного модуля.

Рисунок 2. Внешний вид окна пакета Salome MECA для модуля Geometry.
Рисунок 2. Внешний вид окна пакета Salome MECA для модуля Geometry.
Рисунок 2. Внешний вид окна пакета Salome MECA для модуля Geometry.

На рисунке 2 показано окно Salome для модуля Geometry, который используется для определения геометрии задачи. Видно, что после запуска модуля изменилась панель инструментов, в области редактирования появились оси координат, а над областью редактирования появилась дополнительная панель инструментов, специфичная для окна данного типа.

После определения геометрии в области редактирования будет находиться изображение детали, а в обозревателе проектов появится новая ветка Geometry. Использование любого модуля приводит к появлению в обозревателе проектов новых веток, в которых собирается вся информация о выполненных операциях. Например, на рисунке 3 показано дерево объектов после создания сетки в модуле Mesh. В нижней части дерева объектов под объектами, описывающими геометрию детали, появилась новая ветка Mesh с описанием алгоритмов и параметров построения сетки. Саму сетку можно увидеть справа в области редактирования.

Рисунок 3. Дерево объектов задачи после создания сетки в модуле Mesh.
Рисунок 3. Дерево объектов задачи после создания сетки в модуле Mesh.
Рисунок 3. Дерево объектов задачи после создания сетки в модуле Mesh.

Таким образом, всё, что создается в Salome, можно найти в обозревателе объектов. Все объекты, представленные в обозревателе, упорядочены в древовидную структуру. Самые верхние уровни соответствуют названиям модулей, с помощью которых были созданы объекты. Результат выполнения действий можно посмотреть в рабочей области. Все действия выполняются при помощи пунктов меню или путем выбора соответствующих кнопок на панелях инструментов.

Заключение

Платформа Salome, как и любая CAE-система, состоит как минимум из четырех модулей: модуля построения геометрии (geometry), построителя сетки (mesher), решателя (solver), модуля обработки и представления результатов (post-processing). Решатели для Salome являются внешними модулями и не входят в состав основного пакета.

В статье были описаны несколько различных вариантов установки Salome, наиболее предпочтительным из которых является использование готовых сборок или специализированных дистрибутивов. Следующая статья цикла будет посвящена вопросам использования модуля Geometry.


Ресурсы для скачивания


Похожие темы


Комментарии

Войдите или зарегистрируйтесь для того чтобы оставлять комментарии или подписаться на них.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Linux, Open source
ArticleID=755994
ArticleTitle=Моделирование в CAE Salome: Часть 1. Общие принципы
publish-date=09062011