Как использовать исследование Parameter Estimation (Оценка параметров) для решения обратных задач

29/03/2018

Как правило, процесс моделирования начинается с постановки и решения прямой задачи, когда по исходным данным строится решение. Но как быть, если нужно решить обратную задачу, то есть восстановить исходные условия по известному решению? В статье мы обсудим, как с помощью функции Parameter Estimation (Оценка параметров) построить модель для решения обратной задачи и найти подходящие исходные данные.

Учебное видео: Выполнение исследования Parameter Estimation (Оценка параметров) в COMSOL Multiphysics®

 

Использование исследования Parameter Estimation (Оценка параметров) для решения обратных задач

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

Найти значения этих параметров можно из условия наилучшего соответствия результатов моделирования и набора внешних данных. Естественный подход к решению — минимизация суммы квадратов разностей между наборами данных. Таким образом, эффективной стратегией моделирования будет формулировка в виде задачи оптимизации методом наименьших квадратов. Для постановки и решения задачи можно использовать узел Parameter Estimation (Оценка параметров) для настройки исследования в COMSOL Multiphysics®.

Узел Parameter Estimation (Оценка параметров) доступен для нестационарного исследования при наличии лицензии на модуль Оптимизация. Набор данных для решения должен быть задан пользователем либо в виде интерполяционной функции, либо аналитическим выражением. Отметим, что данные должны быть представлены функцией от времени или другого единственного аргумента.

Снимок экрана с настройками исследования Parameter Estimation (Оценка параметров) в COMSOL Multiphysics®.
Окно настроек узла Parameter Estimation .

Узел Parameter Estimation можно эффективно использовать для решения некоторых обратных задач, прежде всего для оценки параметров. Цель расчета — найти значения входных параметров модели и определить, как эти значения (и соответствующие свойства) влияют на целевую функцию.

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

Учебный видеоролик в верхней части статьи демонстрирует решение задачи об оценке параметров на примере измененной модели кронштейна. Прежде чем перейти к расчету, необходимо убедиться в корректной постановке задачи…

Выполнение исследования Parameter Estimation (Оценка параметров) в COMSOL Multiphysics®

Для настройки задачи, как правило, следует выполнить три основных шага:

  1. Перед выполнением расчета: определение параметров, переменных и функций
  2. Настройка расчета: задание разных аспектов исследования и запуск на расчет
  3. После завершения расчета: обработка результатов для визуализации и сравнения результатов моделирования и экспериментальных данных, а также вывод оптимальных значений для расчетных параметров модели

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

Шаг 1. подготовка определений для оценки параметров

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

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

В узле Heat Transfer in Solids (Теплопередача в твердых телах) коэффициент теплопроводности обозначается k. Поэтому мы создаем параметр k, вводим его примерное значение и используем его в настройках соответствующего узла, чтобы задать коэффициент теплопроводности.

Таблица параметров, используемых в расчете.
Узел Heat Transfer in Solids (Теплопередача в твердых телах), в настройках которого задается расчетное свойство материала.

Слева: используемые в исследовании параметры, в том числе параметр k , задающий коэффициент теплопроводности. Справа: узел Solid 1, в настройках которого параметр k используется для задания свойства материала, которое нужно найти.

Теперь добавим определение, которое позволит импортировать данные из внешнего файла в программный пакет COMSOL®. В нашем случае эталонные данные — это измеренные значения температуры в зависимости от времени, которые сохранены в файле формата CSV. Эти данные можно быстро и легко загрузить в программный пакет COMSOL Multiphysics с помощью интерполяционной функции Interpolation, если использовать команду загрузки из файла Load from File. Данные автоматически импортируются в табличном формате, причем первый столбец содержит значения времени, а второй — измеренные значения температуры.

График импортированных экспериментальных данных.
С помощью функции Interpolation эталонные данные загружаются в модель. Команда Load from File позволяет импортировать данные из файла для построения интерполяционной функции.

В разделе Units (Единицы) мы просто указываем соответствующие единицы измерения аргумента (время) и самой функции (температура). Настройки интерполяции и экстраполяции Interpolation and Extrapolation в данном случае не важны, поскольку в расчете учитываются только моменты времени, явным образом заданные аргументом или столбцом t функции. По этой причине сглаживание между точками и поведение функции за пределами диапазона данных не имеют значения.

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

Поскольку мы ищем среднее значение (температуры), сначала нужно добавить операцию Average (Среднее) из контекстного меню узла Definitions (Определения). Затем выбрать геометрический объект, в пределах которого осредняется температура (торцевая поверхность кронштейна с верхнего правого края). Обратите внимание на имя операции aveop1, указанное в круглых скобках справа от названия узла Average (Среднее). Это имя мы будем использовать в выражении для нашей переменной.

Изображение геометрии кронштейна и настройка операции Average (Среднее)
Операция Average (Среднее) (выделена синим) позволяет получить среднее значение величины в пределах выбранного геометрического объекта.

Для сравнения расчетных и экспериментальных результатов следует определить переменную для целевой величины, чтобы затем рассчитать ее значение на основе результатов моделирования. Поскольку расчет средней величины выполняется в пределах конкретного геометрического объекта, то мы определяем локальную переменную в узле Definitions (Определения) или на вкладке ленты Definitions (Определения). (Глобальная переменная в данном случае не подходит, так как узел Global Definitions (Глобальные определения) является глобальным, то есть заданные с его помощью переменные не зависят от пространственных координат и не привязаны к геометрическим объектам.)

Обозначим среднее значение температуры переменной Tave. Для расчета этой переменной можно использовать операцию Average (Среднее), созданную ранее, обращаясь к ней через имя aveop1. В качестве аргумента операции задаем переменную T, среднее значение которой требуется определить.

Окно настроек для заданной переменной, используемой в оценке параметров.
Определение переменной, которая будет использоваться в исследовании Parameter Estimation (Оценка параметров).

Шаг 2: настройка исследования и расчеты

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

Выражение, введенное в поле Model expression, рассчитывается и сравнивается с внешними данными на каждом шаге, указанном в опорной функции, то есть в каждый момент времени в столбце аргумента интерполяционной функции. В это же поле мы вводим локальную переменную Tave.

Обратите внимание на то, что в поле Model expression (Выражение модели), показанном на рисунках ниже, мы указываем местоположение нашей локальной переменной component 1 перед именем переменной. Это необходимо, потому что исследование Parameter Estimation имеет глобальную область видимости. В результате шаг исследования «не увидит» переменные, определенные на локальном уровне, если не указать их область видимости в выражении. В случае глобальной переменной мы просто вводим ее имя в поле Model expression (Выражение модели). Чтобы при вводе переменной автоматически выбрать ее область видимости, можно использовать функцию Auto Completion (Автозаполнение) для выбора и ввода переменной из списка определений.

Использование функции Auto Completion (Автозаполнение) в COMSOL Multiphysics®.
Завершение настройки исследования Parameter Estimation (Оценка параметров).

Слева: функция Auto Completion (Автозаполнение) используется для выбора локальной переменной, определенной ранее. Справа: снимок экрана с завершенной настройкой шага исследования Parameter Estimation (Оценка параметров).

Теперь остается только определить параметры для оценки и выбрать метод оптимизации. В столбце Initial value (Исходное значение) мы вводим примерное значение параметра, добавляем верхний и нижний пределы для значений, которые может принимать параметр, и указываем параметр Scale (Масштаб). Очень важно использовать правильный масштаб, иначе решатель может медленно сходиться или совсем не сойтись к верному решению. Значение, заданное по умолчанию, подходит для задачи с кронштейном, однако этот подход работает не во всех случаях. (Более подробная информация приведена в главе об оценке параметров в документе Модуль Оптимизация. Руководство пользователя.)

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

Шаг 3: сравнение результатов и вывод входных параметров

После расчета нам потребуется провести дополнительную обработку данных. Можно визуализировать и сравнить два набора данных, представив результаты в виде графика, после чего можно вывести оптимальные значения для расчетных параметров модели. Чтобы просмотреть и сравнить оба набора данных на одном графике, добавим новую группу одномерных графиков (1D Plot Group) и включим в нее два графика типа Global для глобальной величины. На одном графике глобальной величины показаны результаты моделирования, а на другом — экспериментальные данные.

Поскольку интерполяционная функция построена на основе нескольких точек, предпочтительнее всего будет представить ее в виде точечного графика. Для этого мы выберем моменты времени так, чтобы на графике отображались только точки, которые соответствуют указанным в списке аргументов функции моментам времени. Кроме того, мы изменим некоторые параметры в разделе Coloring and Style (Цветовая схема и стиль), чтобы в дальнейшем различать два набора данных.

Сравнение результатов моделирования с экспериментом.
Сравнение результатов моделирования и эксперимента. Нужно изменить параметры в выделенных разделах окна настроек, чтобы экспериментальные данные отображались в виде точечного графика.

График показывает, что результаты моделирования близки к экспериментальным. Теперь можно вывести оптимальное расчетное значение коэффициента теплопроводности материала кронштейна. Для этого мы добавим узел Global Evaluation (Глобальная оценка), нажав соответствующую кнопку на вкладке Results (Результаты) панели инструментов, или выбрав идентичную команду из контекстного меню узла Derived Values (Производные величины). В окне настроек для параметра Time selection (Моменты времени) нужно выбрать опцию Last (Последний), чтобы получить значение на последнем временном шаге, поскольку коэффициент теплопроводности не зависит от времени.

Окно настроек узла Global Evaluation (Глобальная оценка).
Окно настроек узла Global Evaluation (Глобальная оценка).

Введем в поле Expression (Выражение) имя параметра k и нажмем Evaluate (Рассчитать), чтобы получить оптимальное значение этого параметра.

В таблице указано рассчитанное значение теплопроводности кронштейна.
Найденное значение коэффициента теплопроводности.

Как показано выше, найденное значение коэффициента теплопроводности ~0,27 Вт/(м·K) прекрасно соответствует результатам экспериментальных измерений.

Решение обратных задач с помощью исследования Parameter Estimation (Оценка параметров)

В COMSOL Multiphysics исследование Parameter Estimation (Оценка параметров) позволяет найти оптимальные значения для входных параметров модели. Используя оценку модельных параметров, описывающих разные аспекты задачи, можно проанализировать, при каких условиях результаты расчета точнее совпадают с набором данных из внешнего файла.

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

Дополнительные материалы

Чтобы узнать подробнее об оценке параметров в COMSOL Multiphysics, о примерах применения этого исследования и о его различных настройках, прочтите главы документов Модуль Оптимизация. Введение и Модуль Оптимизация. Руководство пользователя, посвященные оценке параметров.

Доступен также архивный вебинар по этой теме. Обратите внимание: в вебинаре вместо исследования Parameter Estimation (Оценка параметров) используется интерфейс Optimization (Оптимизация).


Комментарии (0)

Оставить комментарий
Войти | Регистрация
Загрузка...
РУБРИКАТОР БЛОГА COMSOL
РУБРИКИ
ТЕГИ