Обновления исследователей и решателей

Версия 5.4 программного пакета COMSOL Multiphysics® быстрее проводит расчеты на новых процессорах в операционной системе Windows® благодаря новой схеме выделения памяти, за счет повторного использования шаблонов разреженности решение задач вычислительной гидродинамики осуществляется на 15 процентов быстрее, улучшены параметрические исследования по группам параметров и оптимизация параметрического анализа . Подробно обновления исследователей и решателей описаны ниже.

Ускорение расчетов в операционной системе Windows®

Благодаря новой, более эффективной схеме выделения памяти скорость работы решателя увеличилась в несколько раз на процессорах с определенной архитектурой в операционной системе Windows®. Улучшение заметно на процессорах современной архитектуры с восемью и более ядрами. В операционных системах macOS и Linux® такая скорость работы была доступна и ранее.

15-процентное ускорение расчетов

Улучшения производительности в ранних версиях COMSOL Multiphysics® опирались на повторное использование данных из предыдущих построенных матриц и предыдущих шагов решателя. Развивая этот принцип, решатели в последней версии повторно используют шаблон разреженности матрицы, рассчитанный на предыдущем шаге. Это особенно важно для нелинейных моделей и моделей с зависимостью от времени. Такие расчеты требуют немного больше памяти (обычно на несколько процентов больше), но снижают время расчета до 15%. По умолчанию новая опция Reuse sparsity pattern (Использовать шаблон разреженности) включена во многих физических интерфейсах, описывающих поток текучей среды, явления переноса и механику конструкций. В прочих физических интерфейсах опция по умолчанию выключена, но ее можно включить вручную в узле Advanced (Расширенные настройки) решателя, в разделе Assembly Settings (Настройки построения).

Снимок экрана с опцией Reuse sparsity pattern (Использовать шаблон разреженности). Настройки решателя для включения и выключения опции Reuse sparsity pattern (Использовать шаблон разреженности). Настройки решателя для включения и выключения опции Reuse sparsity pattern (Использовать шаблон разреженности).

Параметрический анализ по наборам параметров

В версии 5.4 COMSOL Multiphysics® вы можете сгруппировать параметры модели, создавая несколько узлов Parameters (Параметры). Кроме этого, узлы Parameters (Параметры) поддерживают наборы параметров: вы можете переключаться между разными наборами значений параметров, не записывая их в файл и не читая их из файла. В исследовании Parametric Sweep (Параметрический анализ) появилась новая опция Parameter Switch (Переключение между наборами параметров) для анализа нескольких наборов параметров.

Снимок экрана с настройками шага исследования Parametric Sweep (Параметрический анализ) в версии 5.4 программного пакета COMSOL Multiphysics.

Две группы Parameters (Параметры) для свойств материалов и геометрии, каждая с двумя наборами значений. Шаг исследования Parametric Sweep (Параметрический анализ) может рассчитать все четыре комбинации параметров.

Две группы Parameters (Параметры) для свойств материалов и геометрии, каждая с двумя наборами значений. Шаг исследования Parametric Sweep (Параметрический анализ) может рассчитать все четыре комбинации параметров.

Оптимизация при параметрическом анализе

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

Целевая функция задается как сумма, максимум или минимум по решениям, полученным на шаге исследования Parametric Sweep (Параметрический анализ). Для задания целевой функции в узле Optimization (Оптимизация) появилась новая настройка Outer solution (Внешнее решение). Например, в этой задаче внешнее решение задается как решение, полученное при параметрическом анализе геометрических размеров. Для сравнения, внутреннее решение в настройках узла Optimization (Оптимизация) обозначается просто как Solution (Решение). Внутреннее решение — это решение, полученное на шаге исследования Time-dependent (С зависимостью от времени), Eigenfrequency (Собственная частота) или Auxiliary Sweep (Вспомогательный анализ). Оптимизация для внутренних решений была доступна и в ранних версиях программного пакета.

Для внутренних решений (за исключением расчетов собственной частоты) можно использовать градиентные методы оптимизации. Для внешних решений, например, для решений параметрического анализа, можно использовать только методы оптимизации, не требующие вычисления градиента. Кроме этого, теперь можно одновременно провести шаги исследования Parametric Sweep (Параметрический анализ) и Optimization (Оптимизация), например, решить одну и ту же задачу оптимизации для каждого внешнего параметра.

Снимок экрана с настройками Outer solution (Внешнее решение) для шага исследования Optimization (Оптимизация).

Сочетайте шаги исследования Optimization (Оптимизация) и Parametric Sweep (Параметрический анализ) с новой настройкой Outer solution (Внешнее решение) для шага исследования Optimization (Оптимизация).

Сочетайте шаги исследования Optimization (Оптимизация) и Parametric Sweep (Параметрический анализ) с новой настройкой Outer solution (Внешнее решение) для шага исследования Optimization (Оптимизация).

Узел-контейнер для решений, полученных адаптивным измельчением сетки

При решении задач с адаптивным измельчением сетки результаты теперь записываются в узел-контейнер, как и при параметрическом анализе. К результатам автоматически добавляется параметр уровня измельчения, что позволяет легче сравнивать результаты: теперь все решения можно получить из одного набора данных.

Демонстрация работы набора данных Adaptive Mesh Refinement (Адаптивное измельчение сетки) в модели.

Здесь показан новый набор данных Adaptive Mesh Refinement (Адаптивное измельчение сетки), позволяющий получать решения с автоматически измельченной сеткой, на модели Point Source (Точечный источник).

Здесь показан новый набор данных Adaptive Mesh Refinement (Адаптивное измельчение сетки), позволяющий получать решения с автоматически измельченной сеткой, на модели Point Source (Точечный источник).

Входные параметры для модели пониженного порядка в узле определений

Объявление входных параметров для модели пониженного порядка было перенесено из шага исследования Model Reduction (Понижение порядка модели) в узел Global Definitions (Глобальные определения). Теперь все выражения для переменных модели пониженного порядка задаются в одном месте. Эти выражения будут использоваться как для полной модели, так и для модели пониженного порядка. При построении модели пониженного порядка на шаге исследования Model Reduction (Понижение порядка модели) будет использоваться обучающее значение выражения. Это обучающее значение по-прежнему задается на шаге исследования.

Снимок экрана с настройками Global Reduced Model Inputs (Глобальные входные данные модели пониженного порядка).

Задание двух настроек Global Reduced Model Inputs (Глобальные входные данные модели пониженного порядка) и выражений в модели thermal_controller_rom. Выражения, которые использовались для настроек Reduced Model Inputs (Входные данные модели пониженного порядка), по-прежнему заданы в исследовании Model Reduction (Понижение порядка модели).

Задание двух настроек Global Reduced Model Inputs (Глобальные входные данные модели пониженного порядка) и выражений в модели thermal_controller_rom. Выражения, которые использовались для настроек Reduced Model Inputs (Входные данные модели пониженного порядка), по-прежнему заданы в исследовании Model Reduction (Понижение порядка модели).

Новый итеративный линейный решатель TFQMR

Добавлен новый итеративный метод для решения линейных уравнений: метод квазиминимальной невязки без транспонирования (TFQMR). Это версия метода квазиминимальной невязки, не использующая операцию транспонирования. Семейство методов квазиминимальной невязки хранит только определенное число векторов решения, не зависящее от числа итераций, поэтому невязка минимизируется только приблизительно. Таким образом, методы квазиминимальной невязки работают примерно так же, как методы обобщенной минимальной невязки, но не требуют векторов повторного начала итераций. Недостаток метода в более медленной сходимости (для тех же матриц и предобусловливателей). Каждая итерация метода квазиминимальной невязки требует меньше ресурсов, чем итерация метода обобщенной минимальной невязки, так что заранее нельзя сказать, какой метод окажется лучше для той или иной матрицы. Несмотря на это, метод квазиминимальной невязки требует меньше памяти, чем метод обобщенной минимальной невязки, особенно если в методе обобщенной минимальной невязки приходится поднимать число повторов (50 по умолчанию), чтобы достичь сходимости. Обычно в эту категорию попадают расчеты, в которых нельзя использовать многосеточный предобусловливатель или другие эффективные методы обусловливания.

Модель, использующая решатель TFQMR (метод квазиминимальной невязки без транспонирования), в версии 5.4 программного пакета COMSOL Multiphysics. Новый решатель TFQMR (метод квазиминимальной невязки без транспонирования) c методом предобусловливания SSOR (симметрической последовательной верхней релаксации) используется для решения варианта модели Spiral Coil with Epoxy Varnish Insulation (Планарная катушка с изоляцией витков) с линейными элементами и 901 тысячью степеней свободы. Для вычисления требуется 2,8 ГБайт памяти и 656 секунд; для сравнения, метод GMRES (обобщенной минимальной невязки) требует 13,4 ГБайт и 1242 секунды. Новый решатель TFQMR (метод квазиминимальной невязки без транспонирования) c методом предобусловливания SSOR (симметрической последовательной верхней релаксации) используется для решения варианта модели Spiral Coil with Epoxy Varnish Insulation (Планарная катушка с изоляцией витков) с линейными элементами и 901 тысячью степеней свободы. Для вычисления требуется 2,8 ГБайт памяти и 656 секунд; для сравнения, метод GMRES (обобщенной минимальной невязки) требует 13,4 ГБайт и 1242 секунды.

Новый множитель по умолчанию для оценки ошибок прямых линейных решателей

Изменено значение по умолчанию параметра Factor in error estimate (Множитель для оценки ошибок), которое применяется к прямым решателям. Новое значение по умолчанию — 1, старое — 400. Это изменение влияет только на прямые решатели, используемые в качестве основного решателя, а не для предобусловливания. Множитель для решателей в процессе предобусловливания уже имел значение по умолчанию 1. Это изменение позволяет легче оценивать ошибки: оценка ошибки линейного решателя теперь в 400 раз меньше. Новое значение по умолчанию делает оценки ошибок точнее и позволяет избежать лишних итераций измельчения, лишних предупреждений и ошибок.

Более надежные автоматические решатели метода Ньютона для переменных с автоматическим масштабированием

В некоторых нелинейных задачах масштаб зависимых переменных сложно отыскать методом автоматического масштабирования. Значения переменных могут значительно изменяться от одной нелинейной итерации к другой. Новый метод для автоматически масштабируемых зависимых переменных теперь обновляет значения весов, которые используются для оценки ошибки в методе Ньютона с автоматическим затуханием. После обновления весов решатель перезапускается. Это повышает надежность ньютоновского решателя и снижает число итераций. С другой стороны, перезапуск решателя может и повысить число тераций. По этой причине новый метод не включен по умолчанию. Вы можете включить его, выбрав вариант Use threshold for weights (Использовать пороговое значение для весов) для опции Update weights for automatic scales (Обновлять веса при автоматическом масштабировании). Настройка находится в разделе Method and Termination (Метод и завершение расчетов) в узлах Fully Coupled (Полностью связанный) и Segregated Step (Отдельный шаг) решателя Stationary (Стационарный).

Снимок экрана, показывающий настройку Use threshold for weights (Использовать пороговое значение для весов) в настройках узла Fully Coupled (Полностью связанный).

Настройка Use threshold for weights (Использовать пороговое значение для весов) для методов Ньютона с автоматическим демпфированием.

Настройка Use threshold for weights (Использовать пороговое значение для весов) для методов Ньютона с автоматическим демпфированием.

Linux является зарегистрированным товарным знаком Линуса Торвальдса в США и других странах. macOS является товарным знаком Apple Inc. в США и других странах. Microsoft и Windows являются зарегистрированными товарными знаками или товарными знаками Microsoft Corporation в США и/или других странах.


Linux is a registered trademark of Linus Torvalds in the U.S. and other countries. macOS is a trademark of Apple Inc., in the U.S. and other countries. Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.