Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
Для решения нелинейных дифференциальных уравнений с частными производными параболического типа существует целый ряд численных методов. В большинстве случаев они представляют собой различные варианты конечно-разностных методов, метода прямых и метода конечных элементов. Наряду со специальными работами имеется много учебников и монографий, посвященных численным методам решения дифференциальных уравнений с частными производными [6.23-6.28]. Ниже мы лишь кратко опишем основные конечно-разностные подходы и обсудим проблему их эффективной алгоритмизации. Bсе рассмотрение будет проведено на примере системы типа «реакция-диффузия» (4.3.7), т. е. для случая одной пространственной переменной. В полуполосе $0 \leqslant z \leqslant 1,0 \leqslant t<\infty$ выберем равномерную сетку узловых точек $\left(z_{i}, t_{j}\right)$; Значения приближенного решения в этих узловых точках будем обозначать как Наиболее часто используется шеститочечная разностная схема типа Кранка — Николсона. Для системы (4.3.7) она дает: Формулы (6.4.3) включают в себя явную схему ( $=0$ ), чисто неявную схему ( $=1$ ) (обе с погрешностью аппроксимации порядка $O\left(\tau+h^{2}\right)$ ), а также классическую схему Кранка Николсона с погрешностью аппроксимации порядка $O\left(\tau^{2}+\right.$ $\left.+h^{2}\right)(w=1 / 2)^{1)}$. В случае граничных условий 1 рода естественно положить при всех $j$ При этом формулы (6.4.3) записываются для $i=1,2, \ldots, n-1$. В случае граничных условий второго рода (ГУ2) уравнения (6.4.3) рассматриваются для $i=0,1, \ldots, n$, а граничные условия (4.3.12) заменяются соотношениями Схема (6.4.3) является одношаговой по переменной $t$, а это значит, что новый слой $j+1$ можно вычислить исходя из старого слоя $j$. Это значит, что значения $f^{j+w}$ и $g^{j+w}$ зависят только от $x^{j}, x^{j+1}, y^{j}$ и $y^{j+1}$. Явная схема $(w=0)$ представляет собой наиболее простой случай, поскольку значения неизвестных функций на новом слое (с верхним индексом $j+1$ ) непосредственно выражаются через значения на старом слое (с верхним индексом $j$ ). При этом нелинейные члены $f_{i}^{i}$ и $g_{i}^{j}$ легко аппроксимируются подстановкой значений $x_{i}^{i}$ и $y_{i}^{i}$ в функции $f$ и $g$. Вместе с тем, в случае явной схемы должно выполняться условие численной устойчивости, накладывающее определенные ограннчения на величину шага $\tau$, а именно Эффективность указанной явной схемы может оказаться довольно низкой, если из условия (6.4.6) приходится выбирать очень малый шаг $\tau$. При $w 6.4.1. Замена нелинейных членов Простейшая разностная замена нелинейных членов в схеме (6.4.3) заключается в использовании линеаризации по $x^{j+1}$ и $y^{j+1}$, т. е. для члена $f_{i}^{i+w}$ мы полагаем тде коэффициенты $a_{i}^{l}, b_{i}^{i}, c_{i}^{i}$ зависят от известных значений решения на старом ( $j$-м) слое. Так, например, при $w=1$ член $\left(x_{i}^{i+1}\right)^{2}$ можно заменить ${ }^{1)}$ произведением $\left(x_{i}^{i+1} \cdot x_{i}^{j}\right)$; точно так же $\left(x_{i}^{i+1}\right)^{3} \sim\left(x_{i}^{i}\right)^{2} x_{i}^{j+1}$. При $=1 / 2$ член $\left(x_{i}^{i+1 / 2}\right)^{2}$ можно заменить выражением $\left[\left(x_{i}^{j}+x_{i}^{i+1}\right) / 2\right]^{2} \sim \frac{1}{4}\left[\left(x_{i}^{i}\right)^{2}+2 x_{i}^{i} x_{i}^{j+1}+x_{i}^{i} x_{i}^{j+1}\right]$. Довольно часто используется еще более простая замена Если функции $f$ и $g$ легко продифференцировать аналитически, то можно воспользоваться формулой Тейлора, т. е. (например, для $f_{i}^{j+w}$ ) положить ${ }^{2)}$ (ср. с (6.4.7)) Здесь $x_{i}^{i+w} \sim w x_{i}^{j+1}+(1-w) x_{i}^{i}$ (аналогично определяется $\left.y_{i}^{i+w}\right)$. Недостатком такого подхода является необходимость сохранять несколько старых слоев, а также необходимость какой-либо другой аппроксимации в начале расчета, поскольку алгоритм по-существу является многошаговым. Еще одним часто используемым методом аппроксимации нелинейных членов является комбинация явной схемы с шагом шт в качестве предиктора с последующим использованием неявной схемы при $w 1) Здесь имеется в виду, что $f(x, y)$ (или $g(x, y)$ ) содержит слагаемое $x^{2}$, и обсуждается, какое слагаемое можно ввести в определение величины. $f^{i+w}$. 6.4.2. Автоматическое изменение шага по времени Нахождение значений на одном слое при больших $n$ может потребовать много вычислений, в связи с чем часто оказывается выгодным регулировать длину шага по времени $\tau$ в зависимости от требуемой точности решения. Характер самого решения и его вариаций во времени может изменяться, а вместе с ними будет существенно изменяться и шаг $\tau$, который обеспечивает заданную точность. В связи с этим включение в алгоритм изменения шага по времени может значительно повысить эффективность. используемой схемы. Основная проблема при этом — оценка погрешности решения, вызванной дискретизацией по переменной $t$. Отметим, что используемые подходы носят эвристический характер. Опишем здесь три подхода. Аналогично определяется $E_{\mathrm{y}}$. Такую же оценку можно получить и для метода «предиктор-корректор». Аналогичным образом записывается и оценка $E_{\text {у. }}$. Отметим, что в данном случае мы находим отклонение в значениях функций $f$ и $g$, но не в переменных состояния $x$ и $y$. 1) Обычно норму \|\| определяют так: $\|u\|=\max \left|u_{i}\right|$. Каждую из величин $E=\max \left(E_{\mathrm{x}}, E_{\mathrm{y}}\right)$, приведенных выше, можно использовать для регулировки шага по времени $\tau$. С этой целью обычно выбирается некоторое характерное значение $\varepsilon$, причем шаг $\tau$ уменьшается, если $E>\varepsilon$. Если же $E$ существенно меньше, чем $\varepsilon$, то шаг $\tau$ увеличивается. Мы ограничились здесь лишь идейной стороной алгоритма изменения шага $\tau$. Очень вероятно, что действительная величина погрешности решения будет заметно отличаться от $\varepsilon$. Поэтому если мы хотим удостовериться в том, что заданная точность обеспечивается, следует провести вычисления при двух различных значениях $\varepsilon$ (отличающихся, например, на порядок) и сравнить полученные результаты. Таким образом, однако, можно оценить лишь влияние погрешностей аппроксимации «в направлении оси $t$ ». Влияние погрешности аппроксимации «в направлении координаты $z$ » и адаптационные алгоритмы для выбора шага $h$ будут обсуждаться в следующем пункте. 6.4.3. Автоматическое изменение шага $h$ В этом пункте мы исследуем проблему автоматического изменения шага $h$ на равномерной сетке. Для решения вопроса о том, достаточно ли велико $n$ (т. е. достаточно ли мал шаг $h$ ), при заданной «характерной величине погрешности» $\varepsilon$, будем искать оценку погрешности аппроксимации в направлении оси $z$. В принципе мы могли бы провести вычисления для момента $t_{j}$ дважды — ш шагом $h$ и $2 h$ — и результаты сравнить. Такой численный подход не был бы, однако, достаточно простым и эффективным. Другой, более подходящий путь заключается в том, чтобы использовать выражения для остаточного члена в соответствующих разностных формулах. При замене второй производной в (6.4.3) имеем тде $\xi \in\left(z_{i-1}, z_{t+1}\right)$. Для аппроксимации четвертой производной можно воспользоваться разностной формулой вида при $i=2,3, \ldots, n-2$. Тогда оценку погрешности «в направлении оси $z$ » можно записать в виде Аналогичное выражение получается и для $E_{\text {у }}$ (при $i=1$ и $i=$ $=n-1$ для четвертой производной можно использовать асимметричные формулы). Обозначим $E=\max \left(E_{\mathrm{x}}, E_{\mathrm{y}}\right)$. Тогда для изменения (регулировки) $n$ можно использовать следующую стратегию: После проведения интерполяции перенумеруем заново узловые точки, удвоим число $n$ и вдвое уменьшим шаг $h$; затем продолжим вычисления. При формулировке алгоритма удобно задавать максимальный и минимальный допустимый шаг $h$. 6.4.4. Адаптивная неравномерная сетка Пусть у нас имеется некоторая, вообще говоря, неравномерная сетка узловых точек $z_{0}=0, z_{1}, \ldots, z_{n}=1$. Тогда вторую производную в направлении $z$ в точке $\left(z_{i}, t_{j}\right)$ можно заменить трехточечной разностной формулой При этом разностные уравнения (6.4.3) изменяются только за счет подстановки формулы (6.4.20) вместо простейшей фор- мулы ${ }^{1)}$ для $\frac{\partial^{2} x}{\partial z^{2}}$. Все остальное остается неизменным, включая вычисления нового слоя $j+1$. Погрешность аппроксимации в направлении оси $z$ оценивается на каждом подынтервале $\left(z_{i-1}, z_{i}\right)$ отдельно. Айгенбергер и Батт [6.29] предложили следующий подход. Приближенное значение решения при $t=t_{j}$ и $z=\left(z_{i-1}+z_{i}\right) / 2$ отыскивается двумя способами (ниже индекс $j$ опущен). В первом случае мы получаем его интерполированием по узловым точкам $z_{i-2}, z_{i-1}, z_{i}$, во втором случае — интерполированием по узловым точкам $z_{i-1}, z_{i}, z_{i+1}$, Для оценки погрешности аппроксимации на интервале $\left(z_{i-1}, z_{i}\right.$ ) используется величина 1. $E^{i}>\varepsilon$. Тогда между $z_{i}$ и $z_{i-1}$ мы добавляем еще одну узловую точку $\left(z_{i-1}+z_{i}\right) / 2$. Приближенное значение решения в этой точке находим посредством интерполяции по четырем соседним узловым точкам $z_{i-2}, z_{i-1}, z_{i}, z_{i+1}$. Проделаем эту операцию для $i=1,2, \ldots, n$. Далее перенумеруем узловые точки (добавим новые точки с сохранением порядка), после чего продолжим вычисления на построенной более густой сетке. соответствующие вычисления $E^{i}$ для соседних узловых точек. Затем перенумеровываем узловые точки и продолжаем вычисления. При этом значение $\omega$ выбирается обычно в диапазоне $10-20$. Для оценки погрешности аппроксимации на неравномерной сетке можно было бы использовать также соображения, изложенные в предыдущем пункте для случая равномерной сетки. В последнее время появился ряд работ по этой теме, см., например, сборник [6.35]. 6.4.5. Метод прямых С методом прямых мы уже встречались в п. 6.3 .3 (см. уравнения (6.3.31)). Его применение оказывается эффективным в тех случаях, когда число узловых точек сравнительно невелико. Последнего можно добиться увеличением порядка аппроксимации. В данном пункте на примере системы типа «реакция-диффузия» (4.3.7) будет продемонстрировано использование этого метода для случая, когда пространственные производные заменяются разностными отношениями с пятью узловыми точками. При этом порядок аппроксимации по сравнению с трехточечной схемой (6.3.31) возрастает с $O\left(h^{2}\right)$ до $O\left(h^{4}\right)$. Обозначим $x_{i}(t) \approx$ $\approx x\left(z_{i}, t\right), y_{i}(t) \approx y\left(z_{i}, t\right)$ и рассмотрим равномерную сетку $z_{i}=$ $=i h, i=0,1, \ldots, n ; h=1 / n$. Уравнение (4.3.7a) заменяется системой уравнений В случае граничных условий 1-го рода вида (4.3.9), мы имеем $x_{0}(t) \equiv \bar{x}, x_{n}(t) \equiv \bar{x}$. Для уравнения (4.3.7b) соответствующая замена строится совершенно аналогично. Таким образом, мы получаем систему обыкновенных дифференциальных уравнений, которую можно решить каким-либо из методов, описанных в $\$ 5.7$, например методом Рунге-Кутты. Необходимо, конечно, представлять, что на величину шага, используемого в явной схеме интегрирования, накладывается ограничение, которое определяется требованием численной устойчивости. Если же мы применяем схему интегрирования с автоматическим изменением шага (например, схему Мерсона), то будет выбран относительно короткий шаг интегрирования ( $\sim h^{2}$ ), что, как правило, приводит к большим затратам машинного времени. Использование метода прямых на очень редкой сетке узловых точек (часто неравномерной) приводит к небольшим системам обыкновенных дифференциальных уравнений, поведение которых можно достаточно эффективно анализировать методами, описанными в гл. 5. При этом часто оказывается возможным перенести полученные качественные выводы на исходные параболические уравнения; в частности, динамическое моделирование (численное решение нестационарных уравнений) можно проводить только в тех областях изменения параметров, где в результате анализа с помощью метода прямых следует ожидать появления каких-либо интересных эффектов. Продемонстрируем указанный подход, построив аппроксимацию решения задачи 16 с помощью метода прямых [6.10]. Зададим граничные условия (P16-13) при $\mathrm{Nu} \rightarrow \infty, \mathrm{Sh} \rightarrow \infty$ и выберем $n$ узловых точек $r_{1}, r_{2}, \ldots, r_{n}=1$. Предположим теперь, что пространственный дифференциальный оператор в уравнении (Р16-11) заменяется в узловой точке $r_{j}$ некоторой линейной комбинацией значений решения в узловых точках, а именно Коэффициенты $A_{i j}$ находятся из требования, чтобы левая часть соотношения (6.4.25) точно равнялась правой для функций $y=1, \quad y=r^{2}, \quad y=r^{4}, \ldots, \quad y=r^{2 n-2}$. Последовательно подставляя эти функции в формулу (6.4.25), получим При каждом фиксированном $j$ соотношения (6.4.26) представляют собой систему $n$ линейных алгебраических уравнений Используя аппроксимацию (6.4.25) для $у$ и $\Theta$, мы получаем из исходных уравнений (P16-11), (P16-12) систему обыкновенных дифференциальных уравнений для функций $y_{j}(t)=y\left(r_{j}, t\right)$, $\Theta_{j}=\Theta\left(r_{j}, t\right), j=1,2 \ldots, n-1$ : откуда Дифференциальные уравнения (6.4.27), (6.4.28) принимают в этом случае вид Для стационарного решения системы (6.4.30) имеет место соотношение аналогичное формуле (P16-15). Подставляя его во второе из уравнений (6.4.30) (при $\Theta_{1}=0$ ), получаем В табл. 6.12 приведена зависимость $y_{1}$ от Ф, подсчитанная с помощью метода отображения параметра Ф для последовательности значений $y_{1}$. Сравнивая ее с табл. 6.9, можно заметить качественное совпадение зависимостей решений от параметра ( $y_{1}$ соответствует значению $r=0,4472 !$ ). При $\beta=0,05$ зависимость однозначна, при $\beta \approx 0,25$ у нас возникают кратные решения, а при $\beta=0,4$ в некотором диапазоне изменения параметра Ф существуют три стационарных решения данной задачи. Таблища 6.12. Зависимость решений уравнения (6.4.32) от параметра Ф для задачи 16, $\gamma=20, a=0, \rho=-2,5$. Динамическое поведение системы (6.4.30) может подсказать нам, как будет вести себя исходная система двух дифференциальных уравнений с частными производными, динамическое моделирование которой требует больших затрат машинного времени. Выбор $n=3$ может дать нам более точные результаты. Более подробно результаты исследования задачи 16 приведены в работе [6.19], а для других задач — в работе [6.4].
|
1 |
Оглавление
|