Русская Википедия:Метод фиктивных областей

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Метод фиктивных областей — метод приближённого решения задач математической физики в геометрически сложных областях, основанный на переходе к задаче в геометрически более простой области (как правило, многомерный параллелепипед), целиком содержащей исходную.[1] Преимуществом этого метода является удобство составления универсальных программ для численного решения широкого класса краевых задач математической физики, которые перестают зависеть от конкретного вида рассматриваемой области.Шаблон:Sfn Недостатком этого метода является низкая точность приближенного решенияШаблон:Sfn и сложность создания разностных схем и численного решения задач.Шаблон:Sfn

Пример

Шаблон:Mainref

Рассмотрим задачу нахождения неизвестной функции <math>u(x)</math> исходя из дифференциального уравнения:

<math>
\frac{d^2u}{dx^2} = -2, \quad 0 < x < 1 \quad (1) 

</math>

с краевыми условиями:

<math>
u(0) = 0, u(1) = 0

</math>

Для решения задачи рассмотрим фиктивную область <math>0 < x < 2</math>. Обозначим как <math>u_\epsilon(x)</math> приближённое решение задачи в фиктивной области. Здесь <math>\epsilon</math> - малый параметр.

Вариант решения с продолжением по старшим коэффициентам

В этом случае <math>u_\epsilon(x)</math> является решением дифференциального уравнения:

<math>
\frac{d}{dx}k^\epsilon(x)\frac{du_\epsilon}{dx} = - \phi^{\epsilon}(x), 0 < x < 2 \quad (2)

</math>

Ступенчатый коэффициент <math>k^{\epsilon}(x)</math> вычисляется следующим образом:

<math>

k^\epsilon (x)=\begin{cases} 1, & 0 < x < 1 \\ \frac{1}{\epsilon^2}, & 1 < x < 2

\end{cases}

</math>

Правую часть уравнения (2) представим в виде:

<math>

\phi^\epsilon (x)=\begin{cases} 2, & 0 < x < 1 \\ 2c_0, & 1 < x < 2

\end{cases}\quad (3)

</math>

Граничные условия для уравнения (2):

<math>
u_\epsilon(0) = 0, u_\epsilon(2) = 0

</math>

При <math>x = 1</math> необходимо задать условия "сшивки":

<math>
[u_\epsilon] = 0,\  \left[k^\epsilon(x)\frac{du_\epsilon}{dx}\right] = 0

</math>

где обозначение <math>[ \cdot ]</math> означает "разрыв":

<math>
[p(x)] = p(x + 0) - p(x - 0)

</math>

Решение поставленной задачи имеет вид:

<math>

u_\epsilon(x) =\begin{cases} x ( 1 + \frac{c_0 + 1}{\epsilon^2 + 1}\epsilon^2-x), & 0 < x < 1 \\ (2-x)(c_0\epsilon^2(x-1)+\frac{c_0 + 1}{\epsilon^2 + 1}), & 1 < x < 2

\end{cases}

</math>

Сравнивая его с точным решением уравнения (1) <math>u(x)=x(1-x)</math>, получаем оценку ошибки:

<math>
u(x) - u_\epsilon(x) = O(\epsilon^2), \quad 0 < x < 1

</math>

Вариант решения с продолжением по младшим коэффициентам

В этом случае <math>u_\epsilon(x)</math> является решением дифференциального уравнения:

<math>
\frac{d^2u_\epsilon}{dx^2} - c^\epsilon(x)u_\epsilon = - \phi^\epsilon(x), \quad 0 < x < 2 \quad (4)

</math>

Здесь <math>\phi^{\epsilon}(x)</math> определено как в уравнении (3), коэффициент <math>c^{\epsilon}(x)</math> вычисляются как:

<math>

c^\epsilon(x)=\begin{cases}

 0,                    &  0 < x < 1 \\ 
 \frac{1}{\epsilon^2}, & 1 < x < 2.
\end{cases}

</math>

Граничные условия для уравнения (4) такие же как и для уравнения (2).

Условия сопряжения в точке <math>x = 1</math>:

<math>
[u_\epsilon(0)] = 0,\  \left[\frac{du_\epsilon}{dx}\right] = 0

</math>

Ошибка решения:

<math>
u(x) - u_\epsilon(x) = O(\epsilon), \quad 0 < x < 1

</math>

Примечания

Шаблон:Примечания

Литература

  1. Марчук Г. И. Методы вычислительной математики. - М., Наука, 1980. - c. 130-136