Участник:Rpu6/Алгоритм построения точного решения нерегулярно вырождающегося эллиптического дифференциального уравнения
Автор описания: Д. П. Емельянов.
Свойства и структура алгоритма
Общее описание алгоритма
Алгоритм позволяет построить приближения к точному решению эллиптического дифференциального уравнения с нерегулярным вырождением и аналитическими коэффициентами в прямоугольнике. Точные формулы решения уравнения и их строгое обоснование получены с использованием метода спектрального выделения особенностей[1]. Решение строится в виде ряда. Погрешность алгоритма заключается в замене рядов на конечные суммы.
Алгоритм решает следующую задачу:
- [math]\displaystyle{ \begin{cases} y^2u''_{yy}+u''_{xx}+c(y)u'_y-a(y)u=f(x,y),(x,y)\in(0,1)\times(0,b), \\ u(0,y)=u(1,y)=u(x,b)=0,|u(x,0)|\lt +\infty. \end{cases} }[/math]
Функции [math]\displaystyle{ a(y), c(y) }[/math] полагаем аналитическими в круге [math]\displaystyle{ |y|\lt R }[/math], где [math]\displaystyle{ R\gt b }[/math]. Кроме того, [math]\displaystyle{ c(y), a(y) \ge 0 }[/math] в [math]\displaystyle{ [0,b] }[/math], [math]\displaystyle{ c(0)=0 }[/math].
Математическое описание алгоритма
1. Приблизим функцию [math]\displaystyle{ f(x,y) }[/math] конечными суммами ряда Фурье по [math]\displaystyle{ x }[/math]:
- [math]\displaystyle{ f(x,y)=\sum_{k=1}^{K}f_k(y)\sin \pi kx. }[/math]
- [math]\displaystyle{ f_k(y)=4\int\limits_0^1f(x,y)\sin \pi kx\,dx. }[/math]
Для интеграла следует использовать квадратурную формулу.
2. Приблизим функции [math]\displaystyle{ f_k(y),a(y),c(y) }[/math] полиномами:
- [math]\displaystyle{ a(y)=\sum_{n=0}^{N}a_ny^n, c(y)=\sum_{n=1}^{N}c_ny^n, f_k(y)=\sum_{n=0}^{N}f_{kn}y^n. }[/math]
Разложение можно проводить по аналогии с разложением в ряд Фурье, но с использованием полиномов Лежандра.
3. Введём в рассмотрение числа:
- [math]\displaystyle{ \lambda_k=\pi^2k^2+a_0, k = \overline{1,K}, }[/math]
- [math]\displaystyle{ r_k=\frac{1-c_1 + \sqrt{(c_1-1)^2+4\lambda_k}}{2}, k = \overline{1,K}. }[/math]
4. Построим функции:
- [math]\displaystyle{ \eta_k(y)=\sum_{n=0}^{N}\eta_{kn}y^n, \stackrel{\circ}{\varphi}_k(y)=\sum_{n=0}^{N}\varphi_{kn}y^n, }[/math]
- [math]\displaystyle{ \begin{matrix} \eta_{kn}=\frac{f_{kn}-\sum_{l=2}^{n+1}c_l(n+1-l)\eta_{k,n+1-l}+ \sum_{l=1}^{n}a_l\eta_{k,n-l}}{n(n-1)+nc_1-\pi^2k^2-a_0},n = \overline{1,N},\\ \varphi_{kn}=\frac{ \sum_{l=1}^na_l\varphi_{k,n-1}- \sum_{l=2}^{n+1}(n-l+1+r_k)c_l\varphi_{k,n-l+1} }{n(n-1)+2nr_k+nc_1} ,n= \overline{1,N},\\ \eta_{k,0}=\frac{f_{k,0}}{-\pi^2k^2-a_0}, \varphi_{k,0}=1, \varphi_k(y)=-\frac{\eta_k(b)}{\stackrel{\circ}{\varphi}_k(b)}\stackrel{\circ}{\varphi}_k(y). \end{matrix} }[/math]
5. Построим приближение к решению:
- [math]\displaystyle{ u(x,y)=\sum_{k=1}^{K}\left(\left(\frac{y}{b}\right)^{r_k}\varphi_k(y)+\eta_k(y)\right)\sin \pi kx. }[/math]
За счёт выбора [math]\displaystyle{ K }[/math] и [math]\displaystyle{ N }[/math] можно добиться той или иной точности.
Вычислительное ядро алгоритма
Макроструктура алгоритма
Схема реализации последовательного алгоритма
Последовательная сложность алгоритма
Информационный граф
Ресурс параллелизма алгоритма
Входные и выходные данные алгоритма
Свойства алгоритма
Программная реализация алгоритма
Особенности реализации последовательного алгоритма
Локальность данных и вычислений
Возможные способы и особенности параллельной реализации алгоритма
Масштабируемость алгоритма и его реализации
Динамические характеристики и эффективность реализации алгоритма
Выводы для классов архитектур
Существующие реализации алгоритма
Литература
<references \>
- ↑ Ломов С. А., Ломов И. С. Основы математической теории пограничного слоя. М.: Издательство Московского университета, 2011. – 456 с.