Решение Мультифизических Задач

16/12/2013

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

Простая Стационарная Мультифизическая Задача

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

Схематичное изображение мультифизической задачи о протекании постоянного электрического тока через металлическую шину

Взаимозависимые Уравнения

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

\nabla \cdot[- \sigma(T) \nabla V] = 0

После дискретизации методом конечных элементов, мы можем записать систему уравнений в виде:

\mathbf{f}_V = \mathbf{K}_V(\mathbf{u}_T)\mathbf{u}_V-\mathbf{b}_V

где подстрочный индекс, _{V}, обозначает неизвестные напряжения в узлах сетки, а матрица системы, \mathbf{K}_V, зависит от неизвестных температур, \mathbf{u}_T. Предположим теперь, что распределение напряжения известно. Тогда резистивное нагревание в объеме может быть вычислено из уравнения:

Q=\sigma(T)\bf{E \cdot E}

где \bf{E}, напряженность электрического поля, есть: -\nabla V. Подставим этот источник тепла в уравнение для температуры:

\nabla \cdot [ – k(T) \nabla T ] = Q(V)

Это уравнение приводит к системе уравнений:

\mathbf{f}_T = \mathbf{K}_T(\mathbf{u}_T)\mathbf{u}_T-\mathbf{b}_T(\mathbf{u}_V)

Получив распределение температуры внутри области, можно определить структурные смещения:

\nabla \cdot [\mathbf{C}:(\epsilon-\epsilon_{\Delta T})] = \mathbf{0}

где матрица упругости, \bf{C}, вычисляется на основе температурно-зависимых Модулей Юнга, E(T). Вынужденное тепловое расширение есть \epsilon_{\Delta T} = \alpha(T-T_0) и деформация \epsilon = 1/2 [{\nabla \mathbf{u}^\mathbf{T}_D + \nabla \mathbf{u}_D}]. Система уравнений для определения смещений, запишется как:

\mathbf{f}_D = \mathbf{K}_D(\mathbf{u}_T)\mathbf{u}_D-\mathbf{b}_D(\mathbf{u}_T)

где подстрочный индекс, {_D}, обозначает неизвестные смещения в узлах сетки.

Мы можем объединить эти системы уравнений вместе:

\[ \mathbf{f} =
\left\{
\begin{array}{c} \mathbf{f}_V \\ \mathbf{f}_T \\ \mathbf{f}_d \end{array}
\right\}
=
\left[
\begin{array}{ccc}
\mathbf{K}_V(\mathbf{u}_T) %26 \mathbf{0} %26 \mathbf{0} \\
\mathbf{0} %26 \mathbf{K}_T(\mathbf{u}_T) %26 \mathbf{0} \\
\mathbf{0} %26 \mathbf{0} %26 \mathbf{K}_D(\mathbf{u}_T)
\end{array}
\right]
\left\{
\begin{array}{c} \mathbf{u}_V \\ \mathbf{u}_T \\ \mathbf{u}_D \end{array}
\right\}

\left\{
\begin{array}{c} \mathbf{b}_V \\ \mathbf{b}_T(\mathbf{u}_V) \\ \mathbf{b}_D(\mathbf{u}_T) \end{array}
\right\}
\]

Можно заметить, что эта задача является нелинейной и, как мы видели ранее, это означает, что мы должны искать решение итерационным методом Ньютона-Рафсона до тех пор, пока не добьемся сходимости:

\mathbf{u}^{i+1}=\mathbf{u}^i-[\mathbf{f’}(\mathbf{u}^{i})]^\mathbf{-1}\mathbf{f}(\mathbf{u}^{i})

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

Полностью Взаимосвязанный Подход

Однако, важно также понимать недостатки (иногда очень серьезные) изложенного выше подхода. Во время выполнения итераций по Ньютону-Рафсону, нам необходимо оценивать производные, \mathbf{f'(u}^{i}). Давайте выпишем их в явном виде:

\mathbf{f}'(\mathbf{u}^i)
=
\left[
\begin{array}{ccc}
\mathbf{ K}_V%26\mathbf{K}_{V,T}%26\mathbf{0} \\
\mathbf{-b}_{T,V}%26\mathbf{ K}_T%26\mathbf{0} \\
\mathbf{0}%26(\mathbf{K}_{D,T}-\mathbf{b}_{D,T})%26\mathbf{K}_D
\end{array}
\right]

где используется запятая для обозначения производной, т.е.: \mathbf{K}_{V,T}=\partial \mathbf{K} _{V}(\mathbf{u}_T)/\partial \mathbf{u}_T.

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

Однако, есть альтернатива. Вышеизложенный метод, называемый Fully Coupled (Полностью Взаимосвязанным) подходом, предполагает, что все связанные между собой физические величины должны рассматриваться одновременно. На самом деле, для решения многих типов мультифизических задач, мы можем пренебречь недиагональными членами, и решать задачи используя менее ресурсоемкий и более эффективный Segregated (Раздельный) подход.

Раздельный Подход

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

\mathbf{u}^{i+1}_V=\mathbf{u}^i_V-[\mathbf{K}_V(\mathbf{u}^i_T)]^\mathbf{-1} \mathbf{b}_V

где для первой итерации, в качестве начального приближения по напряжению и температуре, имеем ( \mathbf{u}_V^{i=0} , \mathbf{u}_T^{i=0} ). Свойства материалов оцениваются исходя из начальных условий заданных для температурного поля. Далее, оценивается решение для распределения температуры:

\mathbf{u}^{i+1}_T=\mathbf{u}^i_T-[\mathbf{K}_T(\mathbf{u}^i_T)]^\mathbf{-1} \mathbf{b}_T(\mathbf{u}_V^{i+1})

где для первой итерации, i=0, начальные условия, заданные для температурного поля используются для оценки свойств материалов, \mathbf{K}_T(\mathbf{u}_T^{i=0}) , но при этом нагрузка (в данном случае — распределение источников тепла) оценивается на основе только что рассчитанного распределения напряжения: \mathbf{b}_T(\mathbf{u}_V^{i=1}) . Аналогично, находится решение для поля смещения:

\mathbf{u}^{i+1}_D=\mathbf{u}^i_D-[\mathbf{K}_D(\mathbf{u}^{i+1}_T)]^\mathbf{-1} \mathbf{b}_D(\mathbf{u}_T^{i+1})

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

Далее итерации продолжаются: напряжение, температура и смещение вычисляются повторно в данной последовательности. Алгоритм продолжается до тех пор, пока не достигается сходимость, в смысле, определенном ранее.

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

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

  1. Выбрать начальные условия для всех физических процессов в модели
  2. Инициировать счетчик числа итераций
  3. Решить промежуточную задачу для первого физического процесса в раздельной последовательности задач, используя результаты предыдущего шага для оценки материальных свойств.
  4. Решить задачу второго физического процесса, используя ту часть решения, которая была вычислена к этому моменту.
  5. Решить задачу для n-го физического процесса, используя (n -1) ранее вычисленных частей решения
  6. Повторять пункты 2-6 до сходимости задачи, или пока не будет превышено максимальное число итераций

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

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

Выводы по Решению Мультифизических Задач

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


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

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