Программный продукт Ansys Mechanical – это очень мощный инструмент, который можно эффективно использовать и без дополнительных средств автоматизации. К счастью, давно прошли те времена, когда МКЭ-программы (МКЭ – метод конечных элементов) были всего лишь решателями, и пользователям приходилось писать программные коды для создания входных файлов и обработки результатов расчёта. Сегодня программирование позволит вам существенно увеличить продуктивность работы и расширить спектр функциональных возможностей. Тем более, это совсем не сложно.
Прежде чем мы перейдём к рассмотрению четырёх вариантов добавления пользовательских программ, давайте сначала разберёмся в самой структуре инструмента Ansys Mechanical. Интерфейс, с которым сегодня работает большинство пользователей, адаптирован под расчётную платформу Ansys Workbench и называется Ansys Mechanical (иногда также используют название Ansys Workbench Mechanical). Данный интерфейс позволяет пользователям импортировать геометрические модели, создавать и редактировать расчётные модели, задавать граничные условия и нагрузки, запускать задачу на расчёт и просматривать полученные результаты. Сам расчёт при этом выполняется в решателе Ansys Mechanical APDL, который использовался в оригинальном пакете, называвшемся Ansys Multiphysics. Сейчас этот «классический» интерфейс, как и решатель, называется Ansys Mechanical APDL, и он по-прежнему является поддерживаемым продуктом.
После запуска задачи на расчёт (кнопка «Solve») Ansys Mechanical автоматически формирует файл с командами на языке, который используется решателем Ansys Mechanical APDL. Название языка расшифровывается как «Ansys Parametric Design Language». Аббревиатура APDL использовалась ещё до того, как решатель и интерфейс Ansys Mechanical APDL получили своё современное название, подчёркивающее их отличие от Ansys Workbench Mechanical. Нам нравится использовать сокращение MAPDL (мы придумывали и другие названия, но они так и не прижились). После завершения процесса формирования файла с командами, запускается MAPDL, который считывает этот файл, выполняет расчёт и формирует файлы с необходимыми результатами расчёта. Затем Ansys Mechanical считывает эти файлы и выдаёт результаты пользователю.
Первый способ: командные вставки (Command Snippets) для настройки модели
Не все возможности Ansys Mechanical APDL представлены в интерфейсе Ansys Mechanical. Но это не проблема, поскольку доступ к ним можно получить при помощи команд на языке APDL. Эти маленькие (или не очень) фрагменты кода называются «Snippets» и добавляются в дерево построения модели в Ansys Mechanical. При формировании файла для решателя, Ansys Mechanical добавляет эти командные вставки в общий поток команд, отправляемый на расчёт. Вот так просто и красиво.
Ещё в 2011 году компания PADT провела вебинар, посвящённый этой теме. Вы можете скачать материалы на соответствующей странице нашего сайта (на английском языке). В ближайшее время мы планируем обновить этот вебинар.
Этот подход позволяет получить доступ к возможностям, которые не поддерживаются в интерфейсе Ansys Mechanical, и работать с этими возможностями из-под удобного современного интерфейса. Если вы не знакомы с языком APDL, найдите более опытного пользователя, который сможет вам помочь. Или же вы можете приобрести руководство PADT’s Guide to APDL (на английском языке) и обучиться программированию на языке APDL самостоятельно.
Второй способ: автоматизация интерфейса и работы с моделью через ACT
Как уже упоминалось, Ansys Mechanical используется для задания модели и просмотра результатов. Ansys Mechanical имеет собственный инструментарий для автоматизации (API – Application Programmer Interface), который называется ACT (Ansys Customization Toolkit). ACT позволяет управлять пользовательским интерфейсом, автоматизировать задачи, добавлять инструменты в интерфейс, а также получить доступ к расчётной модели и результатам. ACT можно использовать как для реализации небольших новых функций (в виде ACT-приложения или пользовательских кнопок «User Button»), так и для создания специализированных инструментов для ускорения расчётов определённого типа – фактически, вертикальных приложений под Ansys.
Вертикальное приложение, написанное компанией PADT при помощи Ansys ACT для автоматизации проектирования турбинных дисков
В отличие от APDL, который является собственным языком программирования, в ACT используется язык Python (также есть возможность использовать C#). В API прописано пространство имён для управления интерфейсом и моделью из-под консоли Python. Покрытие интерфейса командами API довольно хорошее и активно расширяется с каждым новым выпуском. При помощи ACT специалисты компании PADT написали ряд приложений, которые позволяют существенно сократить время на подготовку модели и обработку результатов в конкретных задачах. Мы также создали ряд универсальных инструментов и приложений, которые значительно облегчают повседневную работу в Ansys Mechanical.
Обратите внимание, что ACT поддерживается большинством основных программных продуктов Ansys (не только Ansys Mechanical), и возможности ACT в этих продуктах тоже постоянно расширяются. Кроме того, ACT можно использовать для подключения Ansys Mechanical к стороннему программному обеспечению, в том числе разработанному внутри вашей организации.
Поскольку ACT-приложения могут быть полезны всем пользователям Ansys, вы можете поделиться ими в магазине приложений Ansys App Store. В нём можно найти готовые ACT-приложения (платные и бесплатные, в том числе с исходным кодом!) под различные продукты Ansys, включая Ansys Mechanical. От компании PADT в магазине представлено 2 приложения: одно позволяет добавить ПИД-регулятор в модель, а другое – сохранить вашу базу данных в формате Ansys Mechanical APDL (*.db).
Всю необходимую документацию об ACT вы можете найти в книге «Customization Suite» справочной документации Ansys.
Третий способ: APDL-команды для автоматизации расчёта
Рассматривая командные вставки («Snippets»), мы говорили о том, что при помощи APDL-команд можно получить доступ к возможностям, которые не поддерживаются в интерфейсе Ansys Mechanical. Помимо этого, APDL можно использовать для автоматизации всего процесса расчёта. При этом через APDL доступны все возможности решателя Ansys, но не доступны новые инструменты, реализованные только в Workbench (например, импорт исходных данных через External Data и построение сетки по ряду новых методов).
Чаще всего расчёт в APDL используется при необходимости проведения расчётов в пакетном режиме. Программы на языке APDL позволяют выполнять задачи, не возвращаясь в Ansys Mechanical. Предположим, вы хотите выполнить расчёт для некоторого шага нагрузки, экспортировать файл с необходимыми результатами, прочитать и обработать его в сторонней программе, изменить некоторые свойства в модели Ansys и, наконец, выполнить расчёт для следующего шага нагрузки. Всё это вы можете выполнить при помощи APDL-команд в пакетном режиме.
Должны вас, однако, предупредить, что здесь может потребоваться довольно сложное программирование, а осваивать для этого придётся отдельный язык, который больше нигде не используется (при этом он похож на Fortran). Но если вы не побоитесь и потратите время на его освоение, то получите доступ к очень мощному функционалу. Описание команд представлено в справочной документации по Ansys Mechanical APDL, а сам язык подробно описан в книге Ansys Parametric Design Language Guide. Кроме того, в блоге компании PADT за более чем десять лет накопилось множество статей о подобном использовании APDL-команд.
Четвёртый способ: UPF (User Programable Features) для управления решателем
Одно из принципиальных преимуществ решателя Ansys Mechanical ADPL – возможность создавать собственные подпрограммы, называемые UPF (User Programable Features – программируемые пользователем функции). Благодаря ним можно внести в расчёт очень глубокие доработки на уровне математики расчётной модели, создавая собственные конечные элементы, модели материалов, нагрузки, модели контактных взаимодействий и так далее.
На рынке представлены и другие универсальные МКЭ-программы, которые позволяют создавать пользовательские элементы и материалы, что часто выдвигается как их преимущество перед Ansys. Однако Ansys Mechanical APDL всегда обладал этой возможностью. Многие университеты и компании используют UPF, чтобы расширить функционал программных продуктов Ansys.
Узнать больше о том, как создать собственную версию Ansys с использованием UPF, вы можете, ознакомившись с разделом Programer’s Reference справочной документации Ansys. Пример создания пользовательского материала был также рассмотрен в рамках вебинара компании PADT «Writing and Compiling a Custom Material Property in ANSYS Mechanical APDL» (на английском языке).
С чего начать
Для того, чтобы успешно добавить в Ansys новые возможности, необходимо, в первую очередь, знать о всех доступных вариантах, чётко понимать, чего вы хотите добиться, и гибко использовать широкий набор доступных инструментов. Всю необходимую информацию вы можете найти в справочной документации Ansys, также вам могут помочь статьи в блоге компании PADT по этой теме. Начните с простого проекта и постепенно переходите к более сложным задачам.
Помимо самостоятельного освоения приёмов программирования под Ansys, вы также можете обратиться к компании, которая представляет Ansys в вашем регионе. Специалисты компаний-партнёров обладают глубоким пониманием программных продуктов Ansys, большим опытом решения инженерных задач и умеют программировать.
Независимо от того, каким способом вы производите автоматизацию Ansys Mechanical, вы непременно будете довольны результатом. Расширение функциональных возможностей и увеличение эффективности вашей работы зачастую требует всего пары строчек программного кода.
Компания Софт Инжиниринг Групп, дистрибьютор американской компании Ansys Inc. в Украине, осуществляет поставку лицензионного программного обеспечения всей линейки программных продуктов Ansys и проводит сертифицированные курсы обучения программных продуктов Ansys. Оставляйте свои вопросы, комментарии и предложения под статьей или напишите на электронную почту info@soften.com.ua, Facebook https://www.facebook.com/softenukraine Также информируем, что у вас есть возможность посмотреть вебинары в записи. Для этого необходимо зайти по ссылке на наш YouTube канал и выбрать плейлист (Ansys Вебинары/Обзоры).
Источник: www.padtinc.com
Автор: Eric Miller