Для решения задачи импортозамещения инженерного программного обеспечения (ПО) создание полностью российского продукта с нуля может оказаться крайне затратной задачей как с точки зрения инвестиций, так и необходимого времени.
С 2011 г. по заказу Министерства промышленности и торговли РФ ведётся разработка отечественного геометрического ядра, которое должно будет лечь в основу российского инженерного ПО. Опыт создания подобного рода ядер показывает, что затраты на разработку могут достигать нескольких сот человеко-лет. И это, не считая трудозатрат на разработку самого инженерного ПО. А необходимость в отечественном инженерном ПО есть уже сейчас. В связи с этим более эффективным подходом может стать использование свободного ПО (СПО), доступного в открытых исходных кодах, в качестве фундамента, на основе которого могут быть созданы отечественные решения. Эти производные решения могут быть нацелены на удовлетворение задач и потребностей как отраслей промышленности (атомной энергетики, авиапрома, автопрома, судостроения и проч.), так и конкретных заказчиков (например, государственных концернов, крупных производственных предприятий, и т.п.).
Следует отметить, что опыт использования СПО для создания отечественных программных продуктов уже подтвердил свою жизнеспособность. Например, на базе СПО созданы такие операционные системы как МСВС, ALTLinux, а также различное специальное ПО. Идея использования СПО при разработке отечественного программного обеспечения поддержана Правительством Российской Федерации и нашла своё отражение в государственной программе «Информационное общество (2011–2020 г.)».
В качестве примера подобной платформы инженерного ПО можно привести ядро геометрического моделирования Open CASCADE Technology и платформу для инженерного анализа SALOME. Сами платформы внутри также используют другие открытые программные продукты. Изначально созданные усилиями французских компаний при поддержке инвестиций правительства Франции в настоящее время эти открытые платформы развиваются с активным участием российских разработчиков. Вокруг платформ сформирована международная экосистема коммерческих пользователей и активных участников сообщества. Открытые программные платформы успешно конкурируют с проприетарными решениями. Среди крупных пользователей упомянутых платформ можно выделить Комиссариат по атомной энергетике Франции (CEA), Electricité de France (EDF, французский государственный энергетический концерн, аналог РАО ЕЭС), BMW (Германия), SAMTECH (Бельгия), EADS CCR (Франция), RINA (Италия), Alcatel Space (Франция), MITUTOYO UK (Великобритания) и другие. На основе этих платформ создаются и успешные российские программные продукты, например, CAD Exchanger (который используется международными компаниями Fujitsu, Sener и др.).
Геометрическое ядро Open CASCADE Technology одним из первых внедрило использование параллельных вычислений, а эти возможности появились ещё не во всех геометрических ядрах. Необходимость использования параллельных вычислений при моделировании обусловлена сложностью и объёмом задач, которые сегодня должно решать отечественное инженерное ПО.
Таким образом, при создании решений на базе геометрического ядра Open CASCADE Technology могут быть использованы технологии параллельного программирования, включая как технологии для работы с общей памятью (такие как OpenMP и Intel Threading Building Blocks), так и для работы с распределенной памятью (MPI, Message Passing Interface). Это позволит максимально эффективно использовать вычислительные ресурсы как отдельных рабочих станций, так и супер-компьютеров (кластеров).
Как правило, модель использования открытого ПО состоит в том, чтобы на его основе создавать производные компоненты или решения, которые уже внутри себя содержат «секрет производства» (ноу-хау), при этом базовый функционал используется из открытой платформы. Примерами «секретов производства» могут служить собственные разработки генераторов сеток по трехмерным геометрически моделям, «решателей» уравнений методом конечных элементов и т.д.
Среди основных преимуществ использования свободного ПО можно выделить:
- использование испытанных программных продуктов, которые были применены в огромном количестве индустриальных проектов;
- значительно большая независимость от поставщика открытого ПО по сравнению с проприетарным в неблагоприятных случаях (такие как санкции);
- доступ к исходному коду, что, с одной стороны, исключает использование вредоносных «закладок» разработчиками, и, с другой стороны, обеспечивает безопасность работы предприятия в случае форс-мажорных ситуаций;
- квалифицированные инженерные кадры, которые могут разобраться с открытыми кодами программных продуктов за разумное время в случае необходимости;
- существенная финансовая экономия за счёт отсутствия необходимости приобретать дорогостоящие лицензии на проприетарные зарубежные аналоги.
К созданию решений на базе СПО могут быть привлечены команды российских разработчиков, которые обладают обширным опытом разработки в области САПР, 3D моделирования и визуализации, научные специалисты с многолетним опытом в той или иной области промышленности, а также инженеры-программисты с экспертизой в области инженерных расчётов и высокопроизводительных вычислений (HPC, High Performance Computing).
Специалистами группы компаний ШАФЛ проработана возможность разработки отечественного программного обеспечения и инженерных решений в области САПР на базе открытых кодов Open CASCADE Technology и SALOME, в том числе, и по следующим направлениям.
- 3D проектирование: создание решений для моделирования поверхностей и твёрдых тел, возможно создание математического аппарата с использованием как элементарных объектов, так и Б-сплайнов.
- Построение систем инженерного анализа и численного моделирования: создание пре-процессорных модулей (для задания граничных условий, материалов и других физических свойств), интеграция собственных генераторов сеток заказчика или открытых генераторов, интеграция решателей заказчика, разработка пост-процессорного модуля.
- Обмен 3D данными между наиболее часто используемыми форматами (например, STEP, IGES, JT, Parasolid, ACIS, DXF, STL, VRML и др.), включая граничное представление (B-Rep), графические атрибуты и мета-данные, структуры сборок, а также данные, относящиеся к производству (PMI, Product Manufacturing Information).
В заключение приведены несколько примеров промышленного использования ядра Open CASCADE Technology (OCCT).
- BMW. Приложение Quick Mesh, построенное на базе OCCT, используется BMW для подготовки 3D моделей для аналитических исследований. Quick Mesh получает данные из разных CAD приложений (в т.ч. из CATIA) и генерирует сетки, которые впоследствии используются для аэродинамических исследований в специализированном «решателе» BMW. Решение позволило дополнительно использовать внешние инструменты сеточной оптимизации и сократило время разработки с нескольких дней до нескольких часов.
- Alcatel Space. На базе OCCT был разработан инструмент CIGAL 2 для инженеров Alcatel Spaсе, который объединил в себе CAD систему с собственным «решателем» компании (CORATHERM) для термического анализа влияния космической радиации на будущие спутники. Инструмент позволяет подготовить модель спутника, подготовить данные для «решателя» (пре-процессинг) и отобразить (визуализировать) результаты после вычислений (пост-процессинг).
- RINA (Registro Italiano Navale, Итальянский морской регистр). На базе ОССТ разработан инструмент (Leonardo Hull 3D – Three Hold (LH3D-3H)), обладающий средствами для быстрой разработки сеточных моделей определенных классов судов, конечно-элементного анализа и визуализации деформаций и проверки деталей на «усталость».
Рис. 1. Пример использования технологии OCCT в продукте LH3D-3H. Источник: http://технодоктрина.рф/ - Программный продукт для инженерного анализа (САЕ) для разработки, анализа и моделирования линейных и нелинейных структур компании SAMTECH под названием SAMCEF Field построено на базе ОССТ.
- На базе OCCT построено CAD/CAM решение ShoeMagic Software (компании GIT, General Integration Technology), которое используется для автоматизации процесса разработки обуви такими брендами, как Adidas, Nike and Reebok.
- Компания DBM Reflex, мировой лидер в производстве автомобильной оптики, на базе OCCT разработала и использует программный продукт SIMOPTIC для проектирования всех видов оптических систем.
На базе Open CASCADE Technology построен конвертор CAD Exchanger, реализующий решения в области обмена, обработки и визуализации данных для САПР.
Рис. 2. Головное освещение BMW-X Drive 50i, спроектированное в SIMOPTIC. |
Источник: те |
В конверторе используются сложные математические алгоритмы построения кривых и поверхностей, решаются проблемы детектирования и исправления ошибок в исходных моделях. Также применяются алгоритмы построения сеточных моделей по точным геометрическим моделям. В конверторе интенсивно используются технологии параллельных вычислений, за счет чего происходит оптимизация производительности клиентских приложений.
Примеры использования конвертора.
- Компания FORMTEC GmbH (www.formtec.de) является разработчиком программного обеспечения для станков с ЧПУ (NCspeed), которое специализируется на моделировании трёх- и пятиосной обработки. Компания интегрирует свои решения в лидирующие CAD/CAM продукты, например, в SolidWorks. Для проверки корректности движений инструмента, генерируемых CAM системами, NCspeed моделирует процесс обработки станком с ЧПУ. Возможность импортировать геометрические модели в различных форматах (в особенности из форматов IGES и STEP, которые широко используются в CAM системах) позволяет пользователям продукта NCspeed использовать модели из разных источников. Также в NCspeed используется сеточный алгоритм из CAD Exchanger с использованием параллельных вычислений, изначально построенный на базе OCCT.
- Швейцарская компания CADwork (www.cadwork.com) является лидером рынка по производству CAD/CAM решений для моделирования строительных конструкций из древесины. Компания имеет 3200 заказчиков по всему миру и предлагает решения полного цикла («от чертежа до производства»). Для обеспечения своих пользователей возможностью обмениваться 3D моделями с другими САПР системами, компания выбрала конвертор CAD Exchanger для импорта и экспорта файлов в формате ACIS-SAT.
- Конвертор между форматами IGES, STEP и STL, реализованный в CAD Exchanger на основе структур данных OCCT, используется в флагманском продукте SHIPFLOW шведской компании FLOWTECH (http://www.flowtech.se), которая специализируется на разработке программного обеспечения для моделирования судов и гидродинамических расчётов.
Автор: Никольский А.А. - канд. техн. наук, руководитель Коммерческого департамента группы компаний ШАФЛ