Main menu

Анализ чувствительности в численных моделях: сопряженные системы (Adjoint method)

Оптимизация формы в условиях миллионов параметров

В современной промышленности численные методы не просто проверяют, выдержит ли деталь нагрузку; они используются для активной оптимизации дизайна. Классический пример — проектирование профиля крыла пассажирского авиалайнера. Цель инженера — найти такую форму крыла (распределение кривизны и толщины), которая минимизирует аэродинамическое сопротивление при сохранении заданной подъемной силы (чтобы сэкономить топливо). Форма крыла в CAD-системе может задаваться десятками тысяч контрольных точек. Таким образом, перед нами стоит задача многомерной оптимизации: у нас есть один целевой функционал (сопротивление) и 10 000 переменных (координаты точек).

Чтобы применить эффективный метод градиентного спуска (или алгоритмы типа BFGS), оптимизатору нужен градиент: массив производных целевого функционала по каждому из 10 000 параметров. Стандартный подход «черного ящика» (численное дифференцирование конечными разностями) требует немного изменить один параметр, перестроить сетку, запустить тяжелейший решатель уравнений Навье-Стокса (что может занять сутки на кластере), записать изменение сопротивления и повторить это 10 000 раз. Проектирование одного крыла заняло бы десятки лет. Математическое решение, которое спасло аэрокосмическую отрасль, называется методом сопряженных уравнений (Adjoint method).

Отклонения и операторы: математическая алхимия

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

Алгоритм работает в три шага. На первом шаге решается прямая (исходная) физическая задача — например, рассчитывается обтекание текущей базовой формы крыла. На втором шаге мы строим и решаем сопряженную систему УЧП. Сопряженное уравнение имеет ту же размерность и структуру, что и линеаризованное уравнение Навье-Стокса, но в нем изменено направление времени или потока (оно решается «назад»), а в качестве источника (правой части) выступает производная нашего целевого функционала (формулы аэродинамического сопротивления). Гениальность заключается в том, что сопряженная задача решается ровно один раз!

Градиент за цену одного решения

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

Результатом этого быстрого интегрирования является полный, 100% точный вектор градиента сразу по всем 10 000 геометрическим параметрам формы крыла! Вычислительная стоимость получения этого гигантского градиента абсолютно не зависит от количества параметров проектирования. Она всегда равна стоимости решения примерно одной прямой и одной сопряженной задачи. То есть вместо 10 000 запусков симулятора нам требуется всего 2. Внедрение метода Adjoint в пакеты типа ANSYS Fluent и OpenFOAM позволило конструкторам Формулы 1 и авиационным бюро (Boeing, Airbus) использовать топологическую оптимизацию для потоков жидкостей и газов, создавая сверхэффективные бионические каналы охлаждения и профили с минимальным волновым сопротивлением.

Подробнее

Численные методы решения обратных задач теплообмена (ОЗТ)

Поиск причины по ее следствиям

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

Возникает обратная задача теплообмена (ОЗТ): зная показания термопар (изменения температуры во времени), спрятанных в глубине твердого тела, необходимо математически восстановить величину и динамику теплового потока (или температуры), который реально воздействовал на внешнюю, недоступную поверхность. С математической точки зрения это граничная обратная задача, и она является классическим примером некорректно поставленной проблемы. Температурное поле внутри тела является результатом сглаживания (интегрирования) внешнего потока. Попытка обратить этот процесс приводит к чудовищному усилению любых шумов измерительных приборов. Микроскопическая ошибка термопары на 0.1 градуса при прямом обратном счете может выдать ответ, что на поверхности происходили скачки от абсолютного нуля до температуры Солнца.

Итерационная регуляризация и метод Алифанова

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

Задача формулируется как проблема оптимального управления (или минимизации). Мы ищем такой тепловой поток на границе, при котором рассчитанная моделью температура в местах расположения датчиков максимально совпадает с реальными экспериментальными показаниями (минимизируется среднеквадратичная невязка). Для поиска минимума этого функционала используется метод градиентного спуска или метод сопряженных градиентов. Роль регуляризатора (сглаживателя) здесь играет сам номер итерации! На первых итерациях алгоритм восстанавливает плавные, низкочастотные компоненты теплового потока. Если мы не остановим процесс, на поздних итерациях алгоритм начнет «подгонять» решение под высокочастотный шум датчиков, и ответ разрушится. Критерий останова (принцип невязки) приказывает прервать итерации в тот момент, когда отклонение модели от эксперимента становится равно погрешности самих приборов. Так мы получаем устойчивый и физически осмысленный результат.

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

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

Эта проблема элегантно решается с помощью метода сопряженных уравнений (Adjoint method). Составляется специальная вспомогательная краевая задача, называемая сопряженной, которая интегрируется «вспять» по времени (от конца эксперимента к его началу). Правой частью для этого сопряженного уравнения служит разность между показаниями датчиков и расчетом. Решив сопряженную задачу всего один раз, мы получаем функцию, которая путем простого умножения мгновенно дает нам точнейший градиент целевого функционала сразу по всем тысячам параметров времени! Этот красивый математический аппарат сегодня применяется не только в теплофизике, но и в обратных задачах сейсморазведки для поиска месторождений нефти по отраженным акустическим волнам.

Подробнее

Методы декомпозиции областей (Domain Decomposition): параллельные вычисления

Преодоление ограничений памяти и распараллеливание

С развитием суперкомпьютеров вычислительная математика столкнулась с новой, сугубо архитектурной проблемой. Когда мы решаем дифференциальные уравнения в частных производных (УЧП) на сетках, состоящих из десятков миллиардов узлов (например, при расчете глобальной климатической модели Земли или аэродинамики космического корабля в сборе), физически невозможно поместить глобальную матрицу системы в оперативную память одного вычислительного узла. Возникает острая необходимость разрезать гигантскую математическую задачу на тысячи более мелких кусков, раздать их независимым процессорам (или узлам кластера) и заставить эти процессоры общаться между собой по сети MPI для получения единого, математически строгого решения.

Эта концепция легла в основу методов декомпозиции областей (Domain Decomposition Methods, DDM). Идея метода невероятно стара: еще в 1870 году математик Герман Шварц придумал альтернирующий метод для аналитического решения уравнения Лапласа в сложных областях. Он показал, что если сложная область состоит из двух перекрывающихся простых фигур (например, круга и прямоугольника), можно поочередно решать задачу в каждой из них, используя на границе перекрытия значения, полученные у соседа на предыдущем шаге. Спустя сто лет эта абстрактная математическая теорема стала фундаментом параллельных суперкомпьютерных вычислений.

Методы с перекрытием (Метод Шварца) и без перекрытия

Современные численные реализации DDM делятся на две большие группы. Первая группа — это методы с перекрытием (Overlapping methods), прямые наследники классического метода Шварца. Расчетная сетка разбивается на субдомены, которые искусственно расширяются так, чтобы они немного наслаивались друг на друга. Итерационный процесс заключается в том, что каждый процессор решает свою локальную СЛАУ внутри своего домена, а затем пересылает значения из зоны перекрытия соседним процессорам, чтобы те использовали их как краевые условия Дирихле на следующей итерации. Этот метод очень надежен, но пересылка больших массивов данных в зонах перекрытия может замедлять сеть кластера.

Вторая группа — это методы без перекрытия (Non-overlapping methods, или методы подконструкций). Здесь граница между доменами представляет собой строгую математическую линию (или поверхность) толщиной в один узел сетки. Эти методы математически более сложны, так как на общей границе необходимо обеспечить не только непрерывность самой функции (температуры), но и непрерывность нормальной производной (теплового потока). Для этого используются специальные алгоритмы на интерфейсах (например, метод Дирихле-Неймана или метод Неймана-Неймана).

Дополнение Шура и предобуславливание FETI

Самым мощным математическим аппаратом для методов без перекрытия является матричное дополнение Шура (Schur Complement). Алгоритм алгебраически исключает все внутренние узлы каждого субдомена, сводя гигантскую глобальную СЛАУ к гораздо меньшей системе уравнений, которая записана исключительно относительно неизвестных значений на самих интерфейсах (границах разреза). После решения интерфейсной задачи каждый процессор абсолютно независимо и быстро восстанавливает решение внутри своего куска.

Для решения сложной интерфейсной системы обычно применяется метод сопряженных градиентов (CG). Чтобы он сошелся быстро, французский ученый Шарль Фархат разработал знаменитый алгоритм FETI (Finite Element Tearing and Interconnecting), который вводит множители Лагранжа (силы взаимодействия) на границах и использует сложные проекционные предобуславливатели. Сегодня алгоритмы типа FETI-DP (с двумя уровнями грубой сетки) обеспечивают идеальную масштабируемость: программа может эффективно задействовать сотни тысяч процессорных ядер, ускоряя решение пропорционально размеру суперкомпьютера.

Подробнее

Соц. сети