Алексей Тимошкин, заместитель директора по ИТ, рассказывает, как специалисты ООО «НТП Трубопровод» раскрывают потенциал геометрического ядра C3D для оптимизации инженерных расчетов и повышения лояльности пользователей.
ООО «НТП Трубопровод», один из ведущих в России разработчиков программного обеспечения в области проектирования нефтеперерабатывающих, нефтехимических и химических производств, на протяжении длительного времени использует геометрическое ядро C3D Modeler и регулярно принимает участие в конференциях C3Days для разработчиков сложного инженерного ПО в России.
Не все программные продукты ООО «НТП Трубопровод» связаны с использованием геометрического ядра C3D. Оно применяется в инженерном софте, то есть преимущественно в программах для инженерных расчетов и проектирования. Кроме того, в компании разрабатывается и внедряется группа продуктов для различных прочностных расчетов.
СТАРТ-ПРОФ предназначен для расчета на прочность трубопровода — это флагман, самый популярный и известный продукт ООО «НТП Трубопровод». В нем не используется геометрическое ядро C3D, потому что в случае с трубопроводами необходимость в моделировании фактически отсутствует. Помимо этого, их достаточно просто визуализировать.
ПАССАТ — это расчет на прочность сосудов и аппаратов. Это направление ближе к машиностроению, и в процессе моделирования мы используем возможности ядра C3D.
ШТУЦЕР-МКЭ нужен для конечно-элементного расчета прочности и жесткости элементов сосудов и трубопроводов. В данном случае инженерные методы требуются для того, чтобы рассчитывать на прочность узлы врезки, которые зачастую бывают нестандартными. Анализ методом конечных элементов, который эта программа реализует для расчетов, во многом базируется на функциональности C3D.
Об этих двух продуктах и о том, как специалисты ООО «НТП Трубопровод» используют геометрическое ядро C3D, пойдет речь.
Еще один программный продукт компании служит для расчетов остаточного ресурса трубопровода. Помимо этого, в портфель ООО «НТП Трубопровод» входят программы для технологических расчетов, то есть гидравлических, теплогидравлических расчетов, расчетов теплофизических свойств и фазовых равновесий и т. д. В них также применяются методы визуализации, практически во всех программах присутствует трехмерное представление рассчитываемого объекта.
«НТП Трубопровод» стал пользователем ядра C3D почти сразу после создания компании C3D Labs. В 2014 году мы выпустили программу ПАССАТ по расчету на прочность сосудов и аппаратов, в которой C3D уже выступало в качестве трехмерного ядра. Начиная с 2016 года мы предпринимали попытки применять C3D в программе ШТУЦЕР-МКЭ и в 2018 году выпустили версию программы ШТУЦЕР, в которой тоже использовалось ядро C3D. Изначально ядро C3D задействовалось для моделирования сложных вещей, которые не были реализованы в «НТП Трубопровод», например для булевых операций между телами. На тот момент это было нашей основной мотивацией. Когда ядро оказалось в нашем распоряжении, стало ясно, что можно использовать многие другие функции и возможности, которые уже есть в этом ядре. Те, в которых мы нуждались на тот момент, и те, которые уже были реализованы с помощью подручных средств, но представляли собой готовые автоматические решения в рамках ядра.
К примеру, если раньше для получения МЦХ мы обращались к собственным алгоритмам, то с 2019 года мы получаем эти данные в продукте ПАССАТ с помощью функции C3D. Тогда же в новой версии программы ШТУЦЕР-МКЭ мы стали применять C3D для показа расчетных моделей в момент задания параметров — теперь вместо картинок перед нами оказывается полноценная модель, которая построена с помощью C3D. Такими были основные этапы внедрения ядра C3D.
На иллюстрации продемонстрирован некий аппарат, включающий множество деталей в программе ПАССАТ. Изначально подобные модели строились исключительно в целях визуализации, чтобы пользователям было комфортно просматривать то, что они задали. Дело в том, что программа ПАССАТ считает в основном по нормам, которые содержат исключительно аналитические формулы. К примеру, обечайка. Она имеет толщину стенки, диаметр, длину. Если подставить соответствующую формулу, мы получим результат, который можно не визуализировать. Таким же образом происходит расчет отдельно по элементам — днище, штуцеры, опоры в местах прикрепления. Все они некоторым образом учитываются.
После того как программа произвела расчет, выдается отчет, похожий на тот, что представлен на иллюстрации. Очевидно, что происходит некая имитация ручного расчета, произведенного по нормам. Такие результаты положительно оцениваются пользователями и принимаются организациями, которые занимаются экспертизой, утверждением и т. д.
Именно для того, чтобы усовершенствовать внешний вид программы, и была построена эта трехмерная модель оборудования. Закономерно, что пользователи, которые увидели модель аппарата, причем упрощенную по сравнению с построенной в CAD-системе, стали принимать эту расчетную модель за трехмерную модель своего реального объекта. Конечно, это было неверно. Ведь перед ними была лишь расчетная модель со множеством отличий от реального объекта, который будет построен, но переубедить пользователей сложно. Ориентируясь на их потребности, постепенно мы пришли к тому, что программа по расчету стала превращаться в программу для моделирования. Это не было запланировано, но стало неизбежным. Даже некие условно нарисованные детали вроде болтиков на иллюстрации радуют пользователей. Для расчета опор нужно понимать, в каком месте опирается модель, а длина опор не имеет никакого значения. Тем не менее, чтобы эта модель была привлекательной внешне и соответствовала месту, эти опоры должны иметь конкретную длину — возможно, даже разную, если эта конструкция размещена на сложном постаменте. Все это можно сделать в программе, и, хотя все это не имеет никакого отношения к расчету, это влияет на положительную оценку пользователями.
На иллюстрации — пример одной из функций, для которой сейчас мы используем ядро C3D, а раньше применяли ручные методы. Здесь показано заполнение сосуда, в данном случае 30%-ное. Там, где изображено открытое пространство, налит продукт, там, где находятся теплообменники, второй кожух, между ними также налит продукт, поэтому оно тоже затенено. Раньше мы это рассчитывали своими силами, а сейчас эту информацию мы получаем напрямую и беспрепятственно, с помощью моделирования с ядром C3D.
Что такое расчетный элемент в программе ПАССАТ? Это некая расчетная модель, которая похожа на чертежи из норм, из некого ГОСТа. Эта модель содержит множество параметров. Все те параметры, которые перечислены на иллюстрации, или хотя бы 90% из них, действительно, нужны для расчетов, потому что они принимают участие в формулах. Некоторые параметры нужны для того, чтобы визуализация получилась более аккуратной. Вполне естественно, что пользователь, который вводит много параметров, намерен получить вполне реальный результат.
Рассмотрим еще один пример — эллиптическое днище. Эллиптическое днище — это не просто днище эллиптической формы, это днище, удовлетворяющее неким граничным условиям, таким как соотношение диаметра к высоте и т. п. Если эти требования не соблюдаются, то даже при похожей форме это не будет считаться эллиптическим днищем, потому что та аналитическая формула, которая содержится в нормах, уже не является верной для такой конструкции. В программе ПАССАТ можно задать любую форму, при этом, если она не будет соответствовать параметрам, расчет также не будет выполнен, а пользователь получит соответствующее предупреждение. Несмотря на это, построение возможно. Для этого расчетчик не должен ожидать, что для получения результата будет достаточно нажать одну кнопку. Тот, кто готов к осуществлению серьезных расчетов в рамках построения модели, понимает, что надо провести ряд манипуляций. Например, заменить это днище на какое-то другое таким образом, чтобы расчет был произведен с запасом. Внешний вид при этом может поменяться. Именно поэтому то, что мы видим, это не реальный объект, это некая абстракция.
Следующий пример демонстрирует, что в случае, когда мы задаем геометрию, возникает необходимость ее показать.
Итогом служат эти красочные иллюстрации. Модель слева — это классическая демонстрационная модель горизонтального аппарата, которая существовала с момента выпуска первых версий программы. Так она выглядела тогда, так же выглядит и сейчас. Позже появились разные дополнительные конструкции, которые здесь представлены, — площадки или постаменты из металлоконструкций в колонном аппарате. Они тоже используются в расчете с учетом воспринимаемых и передаваемых нагрузок. 3D-моделирование этого оборудования в силу простоты конструкции не требуется. Оно нужно для решения более сложных задач, например когда необходимо врезать штуцеры таким образом, чтобы оставалось отверстие. Для этого нужна булева операция, и с этого начиналось привлечение функционала ядра C3D, которое оправдало наши ожидания.
На следующей иллюстрации представлено несколько вариантов разных расчетных моделей опоры горизонтального аппарата. В реальности их больше, все они моделируются, все они участвуют в расчете и все они должны быть отрисованы наилучшим образом.
Особого внимания заслуживают булевы операции в решетках теплообменника. На иллюстрации можно наблюдать множество трубочек. На самом деле их может быть даже больше. Для того чтобы точно посчитать массу, надо «прорезать» все эти отверстия, соответственно, провести булеву операцию. Раньше это занимало много времени, и специалисты ООО «НТП Трубопровод» обсуждали эту проблему вместе с командой C3D Labs.
В результате эта операция стала выполняться быстро, и мы получили такой итог. В одном теплообменном аппарате их может быть много, всё это булевы операции для разных элементов. Над ними требуется по отдельности выполнять операции — на сегодняшний день это происходит быстро.
Кроме использования в программе ПАССАТ C3D Modeler, мы широко применяем компонент C3D Converter. C одной стороны, это позволило нам экспортировать трехмерные модели в другие форматы, а с другой стороны — импортировать подобное нестандартное оборудование из других CAD-форматов, которые поддерживают Converter. В этом заключается серьезная поддержка. Раньше мы просто предлагали пользователю указать какую-то массу, а теперь она и красиво выглядит, и автоматически импортируется.
В программе ПАССАТ мы используем перечисленные выше компоненты геометрического ядра C3D. Это оптимальный набор, так как ряд задач, включая визуализацию, мы исторически реализуем самостоятельно.
В программе ШТУЦЕР-МКЭ задаются различные расчетные модели. Мы строим их сами, ниоткуда их не импортируем, это расчетные модели, которые соответствуют расчетным случаям. Здесь полностью задается геометрия, потом строится сетка и производится конечный элементный расчет.
Ниже приведены особенности представления в программе ШТУЦЕР-МКЭ:
- плоские элементы
- произвольное число граней, имеющих общее ребро
- требования к полигональной сетке
Учитывая особенности представления моделей в ШТУЦЕР-МКЭ, а именно использование плоских четырехугольных элементов, важно брать во внимание, что в одно ребро может входить более двух граней. Этого не бывает в трехмерном моделировании. Кроме того, сама четырехугольная сетка должна обладать некими свойствами. Например, углы по возможности должны быть прямыми.
Это приводит к тому, что в некоторых случаях мы ограниченно используем функционал ядра C3D. На иллюстрации — пример такой сетки. В середине нет отверстия, эта деталь просто приварена. Значит, в этом месте в одно ребро входят три грани. Следовательно, мы вынуждены рассчитывать только на себя.
Безобидные на вид модели, представленные на иллюстрациях, иногда вызывают сложности при построении.
В ШТУЦЕР-МКЭ мы используем функциональность из геометрического ядра C3D — пересечения элементов и равнопроходные скругления.
Рассмотрим, как ядро C3D работает, чтобы визуализировать модель на иллюстрации. Оказалось, что с помощью C3D очень просто построить модель во всех расчетных вариантах. Достаточно построить одну модель с помощью C3D, которую легко менять, так как она получается параметрической.
Таких моделей много — есть несущий элемент, есть штуцер, есть нагрузки и воздействия, и в каждом из них универсальной оказывается модель, которая строится с помощью ядра C3D и визуализируется программным арсеналом ООО «НТП Трубопровод». Эту модель можно «покрутить», и ее практическая ценность возрастает.
Иллюстрации демонстрируют варианты подобных моделей.
Подытожим. Что мы используем из функционала геометрического ядра C3D? Аппарат кривых — во многих случаях, но не во всех. Потому некоторые задачи проще решить самим. Также мы проецируем кривые на поверхность и визуализируем в интерфейсе булевы операции, сетку и т. д.
Если модель не отвечает нашим запросам, мы используем C3D Converter, чтобы потом открыть изображение во Viewer и посмотреть, что в модели не так.
Даже такая, казалось бы, типичная модель может дать в результате вывернутые поверхности, если буквально чуть-чуть поменять ее параметры.
Впервые я столкнулся с подобным, когда в одной из программ булевы операции над телами были реализованы с помощью метода B-spline. Здесь нет сплайнов, но результат неудовлетворительный, хотя это и касается некоторого узкого диапазона параметров. В идеале у пользователя не должно возникать подобных проблем. Это влияет на точность построения моделей с точки зрения дальнейшего их использования, например в расчетах. Наша совместная работа продолжается, и мы ожидаем, что нам удастся разрешить эту дилемму в ближайшем будущем.
Алексей Тимошкин
Заместитель директора по ИТ
ООО «НТП Трубопровод»