1 - 2021

Тестируем железо под SOLIDWORKS Simulation

Евгений Зуев,
инженер по системам CAE, компания «Идеальные инструменты»

Меня часто спрашивают, какие минимальные системные требования необходимы, чтобы выполнять расчеты в модулях SOLIDWORKS Simulation, и это чаще всего заводит меня в тупик.
Минимальными системными требованиями называются такие характеристики, с которыми работа программы была протестирована на определенных тестовых моделях — «бенчмарках» и никаких проблем при этом не наблюдалось. В свою очередь, это совершенно не значит, что более «слабое» железо не будет справляться с поставленными перед ним простыми задачами или, наоборот, «сильное» не будет тормозить в работе с очень большими и тяжелыми сборками. К слову, официальные минимальные системные требования для SOLIDWORKS вы всегда можете узнать на официальном сайте.
Сегодня мы будем говорить о системных требованиях для SOLIDWORKS Simulation: как влияют на время решения тип поставленной задачи, параметры взаимодействия (контакты) деталей и количество узлов или элементов.

Технические характеристики компьютеров

Если вы еще не ознакомились с минимальными системными требованиями для программы, то вот краткая информация: Processor — 3,3 ГГц или выше; Memory — 16 Гбайт или больше, Windows 10, 64­bit и SSD для наилучшей производительности. Теперь посмотрим компьютеры, на которых будем проводить тестирование (рис. 1):

  1. Мой рабочий ноутбук на процессоре Intel Core i7 8­го поколения.
  2. Домашний игровой ноутбук на Core i5 времен 2010­2013­х годов.
  3. Домашний ноутбук для IPTV на Core i3 тоже примерно начала 2010­х.

Более подробное сравнение характеристик процессоров вы можете увидеть в таблице на рис. 2. Нетрудно догадаться, что Intel считает процессоры, установленные на моих домашних машинках, устаревшими. Вот и посмотрим, насколько они уступают современным решениям.

Рис. 1

Рис. 1

Рис. 2

Рис. 2

Из не указанных характеристик компьютеров: скорость оперативной памяти у i7 — 2400 МГц, i5 — 1333 МГц, i3 — 1600 МГц.

Все компьютеры работают с системой, установленной на SSD, а кроме того, на всех стоят последние обновления Windows. Сравнение проводилось на актуальной версии SOLIDWORKS Premium 2021 SP 0.0. Как работать с одним локальным лицензионным ключом и дома и на работе с помощью удаленного лицензирования, мы рассказывали в этом видео: https://www.youtube.com/watch?v=3fZb3B4CM7Y.

Теперь о задаче.

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

Но что влияет на время решения задачи? Почему скорость решения на разных компьютерах разная?

Теория метода конечных элементов

Все тела, рассчитываемые МКЭ, разбиваются на небольшие элементы, на вершинах которых находятся узлы, связывающие элементы (рис. 3).

Рис. 3

Рис. 3

Для точности получения достоверных результатов используют элементы разного порядка (порядок элемента равен степени аппроксимирующего элемент полинома) — рис. 4.

Рис. 4

Рис. 4

Тут всё просто — в элементах существуют только узлы (грани нарисованы для наглядности), а чтобы провести прямую линию, достаточно двух точек. Но если мы хотим разбить не прямолинейную поверхность (например, поверхность сферы) нам понадобится элемент второго порядка для создания квадратичной функции. Элементы высших порядков применяются в особых случаях.

В конечном счете всё это приводит к созданию уравнения равновесия:

,

где [К] — это матрица размером (N×N) и остальные — матрицы­столбцы (1×N), где N — число узлов конечно­элементной модели.

Для решения этой математической задачи требуется много вычислительной мощности, и тут можно сказать только одно — чем быстрее выполняет операции процессор, тем быстрее будет найдено решение уравнения.

Здесь следует еще один не всегда очевидный вывод: не так важно количество элементов, как число узлов. Ведь один элемент может содержать и 4, и 10, и даже 28 узлов. А именно количество узлов определяет размер уравнения равновесия. Представьте себе уравнение размером 1 млн на 1 млн переменных, в котором 1 млн неизвестных, которые надо найти. Тем не менее компьютеры это решают предельно быстро.

Тип задачи

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

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

Постановка задачи

Я рассчитал две задачи с линейным и нелинейным типом контакта (рис. 5):

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

Для каждой из задач я изменял размер элемента для варьирования общего числа узлов в модели. Данные по числу узлов и элементов, а также времени решения были сведены в таблицу (рис. 6).

Рис. 5

Рис. 5

Рис. 6

Рис. 6

Обзор результатов

Поскольку у меня три компьютера на разных сериях процессоров, для простоты обозначения я буду указывать только серию — i3, i5, i7.

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

На графике. приведенном на рис. 7, горизонтальные линии — это одно и то же решение, запущенное на разных компьютерах. Задача с 2 млн элементов вполне решается на старом компьютере с процессором i3, частотой 2,4 ГГц и оперативной памятью 8 Гбайт. При этом время решения оказывается в 3­5 раз больше, поскольку у этого компьютера отсутствует технология Intel Turbo Boost, предназначенная для увеличения скорости выполнения операций. Немного быстрее справился компьютер на i5. В конечном счете ни один из моих домашних компьютеров не осилил решение с 3,7 млн элементов, так как для решения уравнения не хватило оперативной памяти.

Рис. 7

Рис. 7

Теперь посмотрим на график решения задач с нелинейным контактом (рис. 8).

Рис. 8

Рис. 8

Время решения задач с контактом обычно гораздо дольше, чем при использовании связанного взаимодействия, поскольку выполняется несколько расчетов. В данном примере время решения на компьютерах i3 и i5 почти сравнялось, в целом характеристики компьютеров почти идентичные, за исключением возможности i5 повышать частоту процессора с помощью технологии Intel Turbo Boost. Однако эту возможность нельзя использовать постоянно, так как после нескольких часов работы с предельными значениями параметров питания, температур и других ограничений спецификации расчетной тепловой мощности происходит банальный перегрев ноутбука и его мощность заметно снижается.

Рабочий компьютер, на мой взгляд, способен решить задачи еще в 2­3 раза объемнее, но затем на обработку уравнений перестанет хватать памяти, а решения будут выполняться очень и очень долго. Вот, к примеру, сравнение загрузки компьютера без запущенных приложений (почта и другие приложения — не в счет, поскольку вы не будете выгружать их для решения повседневных задач) — рис. 9 — с компьютером во время решения задачи с нелинейным контактом и 3 млн узлов (рис. 10).

Рис. 9

Рис. 9

Рис. 10

Рис. 10

Домашние компьютеры, на которые я установил SOLIDWORKS для сравнения с рабочим, хоть и решают некоторые задачи, но работать на них уже не слишком комфортно — каждая операция заставляет задуматься программу на небольшой промежуток времени, что в целом снижает производительность, а также не способствует быстрому решению поставленных задач.

Сводка результатов и рекомендации

В этой статье мы рассмотрели пример зависимости скорости решения прочностных задач в SOLIDWORKS Simulation от производительности компьютеров, на которых выполняется решение.

Я не рекомендую выбирать компьютер с производительностью ниже минимальных требований, рекомендуемых разработчиками SOLIDWORKS. Но и принимать эти характеристики как рекомендуемые к покупке тоже бы не стал.

Работая на компьютере с параметрами на 20­25% лучше минимальных, я иногда ловлю себя на мысли, что было бы неплохо иметь не 32 Гбайт оперативной памяти, а 64, или чтобы процессор был еще пошустрее.

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

Так что же выбрать в качестве рабочей машины? Прочитав эту статью, у вас, возможно, появилось много новых вопросов, но вы, несомненно, теперь согласитесь с утверждением, что чем выше характеристики компьютера — тем лучше!

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

Операционную систему, SOLISWORKS и все файлы решаемой задачи предпочтительнее хранить на SSD — это еще больше сокращает время решения.

В вашей команде есть несколько инженеров, которые решают не очень сложные задачи, но иногда им приходится сталкиваться с чем­то очень серьезным? Решением будет установка одного мощного компьютера, на который можно будет выгрузить запущенное моделирование статического или нелинейного исследования с другого компьютера, подключенного к домену локальной сети. За счет выгрузки моделирования можно продолжить работу в SOLIDWORKS на компьютере­координаторе, который выполняет параллельные задачи. Плюс такого решения в том, что нет необходимости приобретать лицензию на этот «мощный компьютер», если непосредственно за ним никто не будет работать. Ведь только компьютер­координатор требует использования лицензии SOLIDWORKS и SOLIDWORKS Simulation Premium.

Кстати, на сайте https://www.solidworks.com/sw/support/shareyourscore.htm можно запустить тест производительности своей системы и сравнить ее с системами других пользователей.