Метод Алексея Юрьевича Виноградова для решения краевых задач

ПримечаниеМетод Алексея Юрьевича Виноградова решения краевых задач путём переноса краевых условий в произвольную точку интервала интегрирования
Загрузить архив:
Файл: ref-22497.zip (13kb [zip], Скачиваний: 74) скачать

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

Метод Алексея Юрьевича Виноградова (1970 года рождения, красный диплом МГТУ им. Баумана, кандидат физ-мат наук 1996 года).

Метод был впервые печатно предложен в 1995 году. По нему защищена в 1996 году кандидатская физ-мат диссертация приминительно к тонкостенным оболочкам, например, оболочкам в ракето и самолёто-строении.

После этого метод многократно опубликован и в том числе опубликован в «Докладах Академии наук».

По методу защищена ещё одна физ-мат диссертация.

Пожалуйста, пишите на адрес AlexeiVinogradov@yandex.ru о том, где может найти применение метод А.Ю.Виноградова: например, в каких областях он может быть сопоставлен с методом С.К.Годунова помимо тонкостенных оболочек J.

Хорошо было бы составить на этой страничке перечень задач разных областей знаний, где нужно преодолевать трудности неустойчивого компьютерного численного решения краевых задач: то есть хорошо было бы собрать координаты специалистов (и описания их задач), которые сейчас пользуются методом С.К.Годунова потому, что им можно предложить попробовать простенький и элегантно-эффективный метод А.Ю.Виноградова J.

Пишите: если Вы захотите, то Ваши сообщения будут выложены на прилинкованных страничках J или будут даны ссылки на Ваши странички или специализированные сайты J.

Дополнительно хотелось бы узнать в каких вузах-университетах читаются соответствующие численные методы, чтобы предложить студентам и аспирантам пробовать проводить расчёты методом А.Ю.Виноградова (в сравнении, например, с методами Годунова или Абрамова или Гельфанда-Локуциевского и т.п.) J.

1. Далее идёт краткое изложение основных матрично-векторных понятий в их классическом виде вне рамок метода Алексея Юрьевича Виноградова, а как это принято для любых краевых задач. Изложение составлено так, чтобы оно было понятно выпускникам вузов.

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

Y(x)’=A·Y(x),

где Y(x) - вектор-столбец искомых функций, Y(x)’ - вектор-столбец производных искомых функций, A - квадратная матрица коэффициентов.

Условия на левом крае записываются в виде:

L·Yleft = L,

где Yleft - вектор-столбец значений функций Y(x) на левом крае x=x_left, L - вектор-столбец «правой части» краевых условий левого края, L - прямоугольная горизонтальная матрица коэффициентов краевых условий левого края.

Условия на правом крае записываются в виде:

R·Yright = R,

где Yright - вектор-столбец значений функций Y(x) на правом крае x=x_right, R - вектор-столбец «правой части» краевых условий правого края, R - прямоугольная горизонтальная матрица коэффициентов краевых условий правого края.

Из теорий решений дифференциальных уравнений известно, что можно разными способами получить многообразие решений системы дифференциальных уравнений вне зависимости от краевых условий. При наложении краевых условий на многообразие решений получается решение задачи.

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

Суть (объяснение) матрицы К: она состоит из векторов типа Y, но эти векторы типа Yимеют принципиально различные варианты поведения, то есть они являются «линейно независимыми»:

K = [ Y1 Y2 Y3 Y4 Y5 Y6 Y7 Y8 ]

При помощи матрицы Коши (то есть матрицы К) можно (на основе дифференциальных уравнений) установить связи между левым краем задачи и правым краем задачи:

K(x_left → x_ right).

То есть вычислив некоторым из известных способов матрицу К можно записать, что:

Yright = K(x_right ← x_left) · Yleft

Далее для краевых задач решение находится привнесением краевых условий в совместное рассмотрение с полученной матрицей К:

L·Yleft = L

R·Yright = R

Yright = K(right←left) · Yleft

Обычно в краевых задачах традиционно требуется найти либо искомый вектор левого края Yleft либо искомый вектор правого края Yright, чтобы привести краевую задачу как бы к задаче не краевой, а к задаче Коши (не к матрице Коши, а задаче Коши – к задаче с начальными, а не краевыми условиями). То есть чтобы можно было искать решение задачи в какой-либо точке по формуле решения задачи Коши: Y(x) = K(x←0) · Y(0) то есть Y(x) = K(x←left) · Yleft.

Это можно делать следующим образом.

Можно подставить Yright = K(right←left) · Yleftв R·Yright = Rи тогда можем записать:

                       L· Yleft = L

R· K(right←left) · Yleft = R,

откуда можно получить искомый вектор левого края Yleftи далее можно вычислять решения в произвольной точке по формуле: Y(x) = K(x←left) · Yleft.

Или иначе можем записать - не Yright = K(right←left) · Yleft, аYleft = K (left← right) · Yright и можем тогда записать:

L·Yleft = L

R·Yright = R

Yleft = K(left← right) · Yright

и подставив одно в другое можем записать:

L· K(left← right) · Yright = L

                        R · Yright = R,

откуда можно получить искомый вектор правого края Yright и далее можно вычислять решения в произвольной точке по формуле: Y(x) = K(x← right) · Yright.

Приблизительно 10 лет назад Алексеем Юрьевичем Виноградовым было сформулировано, что можно делать иначе, был предложен новый простенький в своей элегантности (J) метод, который излагается далее.

Было показано, что можно не приводить краевую задачу к задаче Коши, а можно вычислять решение краевой задачи в произвольной рассматриваемой точке при помощи переноса в эту точку краевых условий.

2. Метод «переноса краевых условий в произвольную точку» А.Ю.Виноградова можно сформулировать следующим образом.

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

Поэтому можно не только традиционно интегрировать слева на право и обратно от края и до края, а можно как это предложено А.Ю.Виноградовым интегрировать от некоторой внутренней точки x интервала краевой задачи в разные стороны к краям (lefи right) интервала краевой задачи:

Yleft   = K(left←x)   · Y(x)

Yright = K(right←x) · Y(x)

Это означает, что можно вычислить не одну матрицу Коши на всю длину участка рассматриваемой задачи K(right←left), а можно вычислить независимо отдельно две матрицы Коши.

Вычисляться будут две матрицы Коши, но это не дольше, так как каждая из двух матриц вычисляется не на всём участке задачи, а на своём отдельном участке общей задачи: K(left←x) и K(right←x).

Тогда при совместном рассмотрении краевых условий:

L·Yleft = L

R·Yright = R

и матриц Коши

K(left←x) и K(right←x)

можно записать:

L·K(left←x)    · Y(x)= L

R· K(right←x) · Y(x)= R

Отсюда получаем систему обыкновенных линейных алгебраических уравнений с квадратной матрицей коэффициентов для вычисления вектора искомого решения Y(x) краевой задачи в любой точке x:

                                                |    L·K(left←x)          |                      |L|

                                                |--------------------------|· Y(x)  =     |----|

                                                |     R·K(right←x)        |                      |R|

Для нахождения решения задачи в окрестности точки x (то есть при x+∆ или x-∆) то есть для нахождения решений задачи в окрестности найденного вектора Y(x) можно использовать формулы начальной задачи, то есть формулы задачи Коши:

Y(x+∆) = K( (x+∆)←x )· Y(x)

Y(x-∆) = K( (x-∆)←x )    · Y(x)

хотя это не столько формулы задачи Коши сколько вычислительная суть матрицы Коши.

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

K(x)=exp(Ax).

Можно посмотреть формулу матричного ряда exp(Ax) в «Теории матриц» Гантмахера.

Как потом было показано - применение матричной экспоненты exp(Ax) значительно ускоряет вычисления по сравнению с методами типа Рунге-Кутта в рамках метода.

3. Этот же предложенный метод как детально показано Алексеем Юрьевичем Виноградовым подходит и для успешного решения краевых задач с «жёсткими» дифференциальными уравнениями.

При моделировании систем при помощи дифференциальных уравнений они иногда оказываются «жёсткими». Это задачи типа расчёта на прочность тонкостенных оболочек в ракето и самолёто-строении, в кораблестроении, в трубопроводах, баках и прочих конструкциях из тонкого металла, пластика или композиционного материала. Для решения таких краевых задач с «жёсткими» дифференциальными уравнениями обычно применяют специальные приёмы-методы.

Краевые задачи для «жёстких» дифференциальных уравнений решаются различными методами. Сейчас наиболее распространён метод С.К.Годунова (появившийся в 1961 году в журнале «Успехи математических наук»). На применении метода С.К.Годунова к разным задачам в разных областях науки и техники было сделано множество кандидатских и докторских диссертаций.

В методе С.К.Годунова (с 1961 года) применяется ортонормирование.

В методе С.К.Годунова ортонормированию подвергается только половина Y1(x) Y2(x) Y3(x) Y4(x) из возможных для вычисления независимых векторов-столбцов Y1(x) Y2(x) Y3(x) Y4(x) Y5(x) Y6(x) Y7(x) Y8(x), то есть векторов-функций-решений Y(x), которые могли бы входить в матрицу Коши.

Для того чтобы можно было вычислять только половину, то есть Y1(x) Y2(x) Y3(x) Y4(x) из возможных векторов-решений приходиться их подгонять под то, чтобы они при любом своем виде не противоречили краевым условиям на левом крае. Подогнать под левый край можно изменением формы записи дифференциальных уравнений так, чтобы условия на краях записывались очень несложно. Но даже при такой подгонке нельзя решать задачи с более-менее не примитивными условиями на краях потому, что не получается «угадать» так, чтобы искать только половину из возможных векторов-решений.

Хотя можно преодолеть «угадывание» свойственное методу С.К.Годунова специальными математическими приёмами (которые были предложены тоже Алексеем Виноградовым в «Журнале вычислительной математики и математической физики» Академии наук), которые были сформулированы тоже приблизительно 10 лет назад чуть ранее появления метода «переноса краевых условий в рассматриваемую точку».

В методе С.К.Годунова от левого края векторы-решения Y1(x) Y2(x) Y3(x) Y4(x) с константами-коэффициэнтами влияния Y1(x)с1 Y2(x)с2 Y3(x)с3 Y4(x)с4 переносятся с ортонормированием на правый край.

Далее на правом крае вычисляются неизвестные коэффициенты (коэффициенты влияния) с1 с2 с3 с4 этих векторов в составе решения задачи.

Далее в методе С.К.Годунова выполняется перенос векторов Y1(x) Y2(x) Y3(x) Y4(x) совместно с вычисленными коэффициентами их влияния с1 с2 с3 с4 с правого края на левый для последовательного вычисления решений задачи Y(x) во всех точках рассматриваемого участка с правого края по левый.

В методе «переноса краевых условий в произвольную точку» А.Ю.Виноградова тоже может применяться ортонормирование. Но применяться может иначе - ортонормированию подвергаются переносимые краевые условия.

Далее показано как применять построчное ортонормирование прямоугольных горизонтальных матриц краевых условий (комбинированных с матрицами Коши) метода А.Ю.Виноградова.

Прямоугольные горизонтальные матрицы Lи Rкраевых условий переносятся матрицами Коши в рассматриваемую точку интервала интегрирования и построчному ортонормированию подвергаются матричные линейные алгебраические уравнения переносимых краевых условий. У ортонормируемых матричных уравнений – всегда прямоугольные горизонтальные матрицы коэффициентов.

Вычислительная суть матриц Коши такова, что это она записывается следующим образом:

Y(x+-∆) = K( (x+-∆)←x )   · Y(x),

то есть

Y(x2)= K( x2←x )         · Y(x),

то есть можно последовательно записать:

Y(x5)   = K( x5←x4←x3←x2←x )   · Y(x)

Или из теории матриц известно, что можно записать:

Y(x5)   = K(x5←x4) · K(x4←x3) · K(x3←x2) · K(x2←x ) · Y(x)

Тогда формулы метода А.Ю.Виноградова

L· K(left←x)    · Y(x)= L

R· K(right←x) · Y(x)= R

можно записать, например, в виде

L ·  K( left← xL4←xL3←xL2←x )    · Y(x)= L

R ·  K(right← xR3←xR2←x)              · Y(x)= R

иливвиде

L ·  K(left←xL4) · K(xL4←xL3) · K(xL3←xL2) · K(xL2←x )· Y(x)= L

R ·  K(right←xR3) · K(xR3←xR2) · K(xR2←x )                    · Y(x)= R

Тогда для левых краевых условий можно записать систему линейных алгебраических уравнений с прямоугольной горизонтальной матрицей:

                                                      [ L ·  K(left←xL4) ] · {K(xL4←x)·Y(x)}= L

                                                      [      матрица       ] · {    вектор         } = вектор

Эту группу обыкновенных линейных алгебраических уравнений можно подвергнуть построчному ортонормированию, которое не затронет вектор {K(xL4←x)·Y(x)} , но приведёт к изменению матрицы [ L ·K(left←xL4) ]  на матрицу [ L ·K(left←xL4)]ортос ортонормированными строчками и в процессе ортонормирования соответственно измениться вектор L, то есть после ортонормирования можно записать:

[ L·K(left←xL4)]орто · {K(xL4←x)·Y(x)}= Lорто.

Далее последовательно можно записать:

                          [[L·K(left←xL4)]орто · K(xL4←xL3)] · {K(xL3←x)·Y(x)}= Lорто

                          [                       матрица                    ] · {      вектор       }= вектор

            

Можно продолжить построчное ортонормирование, которое теперь уже не затронет вектор

{K(xL3←x)·Y(x)} , но приведёт к изменению матрицы [[L·K(left←xL4)]орто · K(xL4←xL3)]на матрицу [[L·K(left←xL4)]орто · K(xL4←xL3)]ортос ортонормированными строчками и в процессе ортонормирования соответственно измениться вектор Lорто, то есть после ортонормирования можно записать:

                   [[L·K(left←xL4)]орто · K(xL4←xL3)]орто · {K(xL3←x)·Y(x)}= L2орто.

И так далее вплоть до полного вычленения вектора Y(x) из векторов типа «{K(L)Y(x)}»:

    [ [ [[ L·K(left←xL4)]орто · K(xL4←xL3)]орто · K(xL3←xL2)]орто · K(xL2←x )]орто · Y(x)= L4орто.

Аналогично и независимо от уравнения левого края можно поступать с краевыми условиями правого края:

R·K(right←xR3) · K(xR3←xR2) · K(xR2←x )    · Y(x)= R

То есть аналогично можно проводить последовательное построчное ортонормирование системы обыкновенных линейных алгебраических уравнений вплоть до вычленения вектора Y(x) из векторов типа «{K(R)·Y(x)}»:

[ [ [ R· K(right←xR3)]орто · K(xR3←xR2)]орто · K(xR2←x )]орто   · Y(x)= R3орто.

Далее построчно проортонормированные два матричных линейных алгебраических уравнения с прямоугольными горизонтальными матрицами коэффициентов как и раньше объединяются в одну систему обыкновенных линейных алгебраических уравнений с квадратной матрицей коэффициентов (состоящей из двух прямоугольных горизонтальных матриц перенесённых краевых условий) для вычисления вектора Y(x):  

                                         |     [ LK(left←x)     ] 4орто    |                      | L4орто |

                                         |----------------------------------|  · Y(x)  =    |-----------|

                                         |     [ RK(right←x)] 3орто     |                      | R3орто|

Эта система обыкновенных линейных алгебраических уравнений с квадратной матрицей коэффициентов с ортонормированными строчками решается любым из известных методов для получения вектора-решения Y(x) в произвольной выбранной точке x.

И так в любой рассматриваемой точке. А для получения решений в многих точках xi, xj надо только однажды запомнить однажды высчитанные матрицы Коши участков типа K(xj←xi) или можно пользоваться в окрестности xi формулой Y(xj)= K(xj←xi) · Y(xi).

Как выполняется применяемое ортонормирование - не вертикальное-постолбцовое (метод С.К.Годунова), а горизонтальное-построчное (метод А.Ю.Виноградова) ортонормирование систем обыкновенных линейных алгебраических уравнений - можно посмотреть в книгах по численным методам.

Алексей Юрьевич Виноградов

05 сентября 2005

J

Пишите комментарии к методу на адрес

AlexeiVinogradov@yandex.ru