Всем привет! С вами Евгений, я специалист по расчётным модулям. Сегодня я расскажу о небольшом эксперименте сравнения производительности SOLIDWORKS, который я провел у себя дома во время режима самоизоляции. Статья получилась довольно длинная, поэтому я разбил её на несколько разделов:
- Технические характеристики компьютеров, на которых проводится тестирование
- Теория метода конечных элементов
- Постановка задачи
- Обзор результатов
- Сводка результатов и рекомендации
Меня часто спрашивают какие необходимы минимальные системные требования, для того что бы выполнять расчёты в модулях Simulation, тем самым чаще всего заводя в тупик.
Когда речь идет о минимальных системных требованиях, это значит, что с такими характеристиками работа программы протестирована на определенных тестовых моделях "бенчмарках" и никаких проблем при этом не наблюдалось. Совершенно не значит, что более «слабое» железо не будет справляться с поставленными перед ним простыми задачами, или наоборот «сильное» не будет тормозить в работе с очень большими и тяжелыми сборками. К слову, официальные минимальные системные требования для SOLIDWORKS вы всегда можете посмотреть на сайте.
Сегодня мы будем говорить о системных требованиях для SOLIDWORKS Simulation. Как влияют на время решения тип поставленной задачи, параметры взаимодействия (контакты) деталей и количество узлов или элементов.
Технические характеристики компьютеров
Если вы еще не посмотрели минимальные системные требования для программы, то вот краткая информация: Processor – 3.3 Ghz или выше, Memory – 16GB или больше, Windows 10, 64-bit и SSD для наилучшей производительности. Теперь посмотрим компьютеры, на которых проведем тестирование:
- Мой рабочий ноутбук на процессоре Intel Core i7 8-го поколения
- Домашний игровой ноутбук на Core i5 времён 2010-2013х годов
- Домашний ноутбук для IPTV на Core i3 примерно того же начала 2010х
Более подробное сравнение характеристик процессоров вы можете увидеть в таблице ниже. Не трудно догадаться что Intel считает процессоры, установленные на моих домашних машинках – устаревшими. Вот и посмотрим, насколько они уступают современным решениям.
Из не перечисленных характеристик – скорость оперативной памяти, у i7 – 2400 МГц, i5 – 1333 МГц, i3 – 1600 МГц.
На данном этапе даже я не знаю кто из моих «домашних» окажется быстрее.
Все компьютеры работают с системой, установленной на SSD и на всех установлены последние обновления Windows. Сравнение проводилось на актуальной версии SOLIDWORKS Premium2021 SP0.0. Как работать с одним локальным лицензионным ключом и дома и на работе с помощью удалённого лицензирования мы рассказывали в этом видео.
Теперь о задаче.
Я взял довольно простую деталь, состоящую из трёх компонентов. Два цельных кольца, между которыми третье кольцо с шестиугольными отверстиями. Детали составлены без зазора, с автоматическим определением контакта. Параметры контакта мы раскроем чуть позже. Назначение этой детали не столь важно, т.к. цель – сравнить решение одной и той же задачи на разных компьютерах.
Но что влияет на время решения задачи? Почему скорость решения на разных компьютерах разная?
Теория метода конечных элементов
Немного теории Метода Конечных элементов.
Всё знаете? Листайте к постановке задачи.
Все тела, рассчитываемые МКЭ разбиваются на небольшие элементы, на вершинах которых находятся связывающие элементы узлы:
Для точности получения достоверных результатов используют элементы разного порядка (порядок элемента равен степени аппроксимирующего элемент полинома)
Тут всё просто – в элементах существуют только узлы (грани нарисованы для наглядности), чтобы провести прямую линию достаточно 2х точек. Но если мы хотим разбить не прямолинейную поверхность (например, поверхность сферы) нам понадобится элемент второго порядка для создания квадратичной функции. Элементы высших порядков применяются в особых случаях.
В конечном итоге всё это приводит к созданию уравнения равновесия
Где [К] – Это матрица размером (N× N) и остальные – матрицы столбцы (1× N). Где N – число узлов конечноэлементной модели. Для решения этой математической задачи требуется много вычислительной мощности и тут можно сказать только одно – чем быстрее выполняет операции процессор – тем быстрее будет найдено решение уравнения.
Тут еще следует один не всегда очевидный вывод, что не так важно количество элементов, как число узлов. Ведь один элемент может содержать и 4, и 10, и даже 28 узлов. А именно количество узлов определяет размер уравнения равновесия. Представьте себе уравнение размером 1 миллион на 1 миллион переменных, в котором 1 миллион неизвестных, которые надо найти. А компьютеры это решают очень и очень быстро.
Тип задачи.
Мы можем рассматривать задачу в линейной статической постановке – когда решение задачи находится за 1 шаг. Это идеальный и самый быстрый вариант решения.
Но задача может быть и нелинейной, тогда она решается в несколько раз дольше. По сути последовательно решаются несколько линейных задач. Источники нелинейности могут быть самые разные – физическая нелинейность (свойства материала меняются под нагрузкой), геометрическая нелинейность (отсутствует прямая пропорциональность между нагрузками и перемещениями) и контактная нелинейность изменение или перераспределение контактных реакций.
Несколько решений и в динамических задачах, и в испытания на ударную нагрузку. В общем нужно запасаться терпением..)
Постановка задачи
Я рассчитал две задачи с линейным и нелинейным типом контакта.
- Линейный контакт – склеивание двух контактирующих поверхностей без возможности взаимного перемещения или отрыва.
- Нелинейный контакт – может находиться в положении «открытый» или «закрытый» (т.е. детали могут контактировать или не контактировать) поэтому для определения положений каждой контактирующей площадки нужно несколько итераций.
Для каждой из задач я изменял размер элемента для варьирования общего числа узлов в модели. Данные по числу узлов и элементов, а также времени решения сводил в таблицу.
Обзор результатов
Для наглядности можем построить графики зависимости времени решения от числа узлов и компьютера, на котором выполняется расчёт. Сначала рассмотрим график для линейной задачи:
На графике, горизонтальные линии – это одно и тоже решение, запущенное на разных компьютерах. Задача с 2 миллионами элементов вполне решается на старом компьютере на процессоре i3, частотой 2.4 ГГц и оперативной памятью 8 Гб. Однако время решения в 3-5 раз больше, он не имеет технологии Intel Turbo Boost для увеличения скорости выполнения операций. Немного быстрее справился компьютер на «i5». В конечном итоге ни один из моих домашних компьютеров не осилил решение с 3.7 млн элементов. Для решения уравнения – не хватает оперативной памяти.
Теперь посмотрим на график решения задач с нелинейным контактом
Время решения задач с контактом обычно значительно дольше, чем при использовании связанного взаимодействия, т.к. выполняется несколько расчётов. В данном примере время решения на компьютерах i3 и i5 почти сравнялось, в целом характеристики компьютеров почти идентичные, за исключением возможности процессора i5 повышать частоту процессора с помощью технологии Intel Turbo Boost. Однако это увеличение мощности не может использоваться постоянно, после нескольких часов работы с предельными значениями параметров питания, температур и других ограничений спецификации расчетной тепловой мощности, происходит банальный перегрев ноутбука и его мощность заметно снижается.
Рабочий компьютер на мой взгляд способен решить задачи еще в 2-3 раза объемнее, и затем на обработку уравнений перестанет хватать памяти, а решения будут выполнять очень и очень долго. Вот к примеру сравнение загрузки компьютера без запущенных приложений (почту и другие приложения не в счёт, эти приложения вы не будете выгружать для решения повседневных задач) с компьютером во время решения задачи:
Домашние компьютеры, на которые я установил SOLIDWORKS для сравнения с рабочим хоть и решают некоторые задачи, но работать на них уже не так комфортно, каждая операция заставляет задуматься программу на небольшой промежуток времени, что в целом снижает как производительность, так и в целом не способствует быстрому решению поставленных задач.
Сводка результатов и рекомендации
В этой статье вы могли увидеть пример зависимости скорости решения прочностных задач в SOLIDWORKS Simulation от производительности компьютеров, на которых выполняется решение.
Я не рекомендую выбирать компьютер с производительностью ниже минимальных требований, рекомендуемых разработчиками SOLIDWORKS. Но и принимать эти характеристики как рекомендуемые к покупке – тоже бы стал.
Работая на компьютере с параметрами на 20-25% лучше минимальных я иногда ловлю себя на мысли, что было бы не плохо иметь не 32Гб оперативной памяти, а 64Гб, или что бы процессор был еще по шустрее.
Напомню, что при расчётах в SOLIDWORKS не задействуется GPU, поэтому на данном этапе пока что не важно какая у вас видеокарта. А учитывая, что мир стремится к облачным решениям, не факт, что такая технология вообще появится раньше, чем вам будет предложено производить вычисления за считанные минуты на сервере какой ни будь корпорации.
Так что же выбрать в качестве рабочей машины? Прочитав эту статью у вас возможно появилось много новых вопросов, но вы несомненно теперь можете согласиться с утверждением, что чем лучше характеристики компьютера – тем лучше.
Чем быстрее процессор и оперативная память – тем лучше. Выбирайте исходя из базовой тактовой частоты, а не максимальной, которая может давать только краткосрочный эффект увеличения производительности.
Операционную систему, SOLISWORKS и все файлы решаемой задачи – предпочтительнее хранить на SSD, это еще сокращает время решения.
В вашей команде есть несколько инженеров, которые решают не очень сложные задачи, но иногда приходится сталкиваться с чем-то очень серьезным? Решением будет установка одного мощного компьютера, на который можно будет выгрузить запущенное моделирование статического или нелинейного исследования, с другого компьютера, подключенного к домену локальной сети. За счет выгрузки моделирования можно продолжить работу в SOLIDWORKS на компьютере-координаторе, который выполняет параллельные задачи. Плюс такого решения в том, что нет необходимости приобретать лицензию на этот «мощный компьютер» если за ним никто не будет непосредственно работать. Только компьютер-координатор требует использования лицензии SOLIDWORKS и SOLIDWORKS Simulation Premium.
Кстати, на все том же сайте можно запустить тест производительности своей системы и сравнить её с другими пользователями.
Если у вас остались какие-то вопросы, задавайте их, а мы постараемся на них ответить. Есть идеи для новых статей? – пишите!)