И в завершении, если говорить о расширении отраслей нашего присутствия, хотелось бы выделить, пожалуй, самые тяжёлые и наукоёмкие: двигателестроение, авиация, космос, судостроение. В этих отраслях традиционно использовались в основном зарубежные расчётные коды. Но сейчас ситуация меняется, и мы могли бы начать постепенно импортозамещать иностранные аналоги.
Есть ли какая-то функциональность, которую вы хотели бы реализовать у себя, но пока не знаете, как это сделать? Где бы вы стали искать совета?
Вопрос близок к философскому. Поэтому приведу здесь цитату одного нашего ведущего разработчика: «Принципиально нерешаемых задач, наверное, не бывает: то или иное решение можно всегда предложить и даже пытаться реализовать и использовать. Вопрос в том, насколько такое решение будет целесообразным или эффективным с точки зрения трудозатрат по разработке, вычислительной эффективности, надёжности, универсальности и другим не менее важным критериям…».
Получается, у Архимеда «Дайте мне точку опоры, и я переверну Землю!», а у нас – «Дайте необходимые ресурсы по деньгам и времени, и мы всё сделаем!». И тем не менее, возвращаясь к исходному вопросу, надо признать, что есть действительно сложные задачи, к решению которых мы еще только подступаемся или даже только планируем, если задача очень узкоспециализированная. Здесь можно привести несколько примеров…
«Расчеты на кластерах?», – иногда этот вопрос звучит нам «из зала», и пока ответ на него отрицательный. Мы не делаем этого сейчас, но планируем этим заняться, когда появится «твёрдый» промышленный заказчик, который будет готов заплатить за подобную доработку, причём не обязательно сразу деньгами, т. к. возможно в первую очередь нам будет интересен и необходим сам доступ к подобным вычислительным ресурсам.
Поскольку в последнее время часто приходится общаться с представителями предприятий ОПК, то, как одна из задач, возникает проблема расчёта разрушения материалов. Как шутят в этой связи наши разработчики: «Наше ПО создано для того, чтобы создавать конструкции, которые не будут разрушаться!». Но, тем не менее, расчёт конструкций, которые при эксплуатации должны разрушиться сами или разрушить собой что-то другое, тоже необходим. Как правило, это глубоко нелинейные и быстротекущие процессы, для которых надо писать специальные решатели и модели материалов, что у нас запланировано в близкой перспективе.
Продолжая тему нелинейных задач, можно добавить в копилку «тяжёлых» и проблемных расчёты вантовых конструкций и тканевых полотен. Частично мы эти задачи решаем и сейчас, но есть куда и развивать данное направление.
Говоря о теме «сложной», но очень нужной функциональности, нельзя забыть проблему некорректных входных данных, в частности, геометрических. Не секрет, что те модели, которые рисует конструктор (для целей визуализации, дизайна, компоновки и т.п.), могут существенно отличаться от моделей, используемых для дальнейшего расчётного анализа, который не пройдет мимо этапа построения КЭ-сеток. Для этого процесса серьёзные трудности представляют модели, имеющие проблемы топологической связности элементов, дефекты самопересечений рёбер и граней, очень малые по размеру структурные элементы и т. д. Модели могут визуально выглядеть красиво, но при этом представлять огромные проблемы для анализа. Особенно это касается моделей, нарисованных в сторонних редакторах третьих компаний и затем импортированных к нам для расчёта. Мы бы хотели, чтобы «лечение» проблем в этих моделях выполнялось на стороне наших партнёров – разработчиков геометрического ядра C3D, которым мы пользуемся. Самим нам проводить такой топологический анализ и коррекцию затратно и неэффективно, так как мы не имеем доступ к математической основе объектов, а только пользуемся их интерфейсами. Получается, в этой проблеме мы знаем, что нас не устраивает и чего мы хотим, но нам нужен не совет, а помощь в решении со стороны тех, кто этим занимается профессионально, чтобы быстрее прийти к нужной цели.
Ну, и в завершении, про «советы». Мне кажется, сейчас нужная информация может располагаться в очень разных местах, поэтому выделить что-то одно было бы неправильно. Когда мы ведём разработку чего-то нового (для нашей программы), то «прицел поиска» постоянно перемещается: анализ продуктов и хелпов конкурентов, анализ статей и литературы (причём не только виртуальный), запросы по знакомым профессорам в вузах или прямые запросы на предприятия, у которых есть какая-то уникальная методика.
А еще, было бы классно сразу найти не «совет», а человека, который знает, «как решить», и может это сделать в нашей команде. В этой связи мы активно ищем специалистов в свою компанию и открыты для диалога. В общем, здесь любые методы хороши, лишь бы они дали положительный результат.