Формула Алексея Юрьевича Виноградова для начала вычислений по методу прогонки Годунова для краевых условий любой сложности

Загрузить архив:
Файл: ref-23920.zip (8kb [zip], Скачиваний: 97) скачать

ФормулаАлексея Юрьевича Виноградова для метода прогонки С.К.Годунова для решения «жестких» краевых задач.

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

Формула была предложена приблизительно в 1993 году в составе 3-х формул для решения имеющейся проблемы метода С.К.Годунова. Это наиболее стройная и элегантная из формул, предложенных Алексеем Юрьевичем Виноградовым для метода С.К.Годунова. Формулы были опубликованы в «Журнале вычислительной математики и математической физики» кажется в 1993 году (точно только то, что опубликовано до 1996 года).

Формула заново восстановлена в ходе рассуждений в феврале 2006 года.

1. Краткое изложение основных матрично-векторных понятий в их классическом виде. Составлено так, чтобы было понятно выпускникам вузов.

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

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

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

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

L·Y(0) = L,

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

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

2. Про «жесткие» краевые задачи.

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

Это, например, задачи типа расчёта на прочность тонкостенных оболочек в ракето и самолёто-строении, в кораблестроении, в трубопроводах, баках, прочие задачи для тонких и изогнутых конструкций из металла, пластика или композиционного материала.

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

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

3. Про проблему метода прогонки С.К.Годунова.

Краевые задачи для «жёстких» дифференциальных уравнений решаются различными методами: Годунова, Абрамова, Гельфанда-Локуциевского, Алексея Юрьевича Виноградова.

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

На применении метода прогонки С.К.Годунова к разным задачам в разных областях науки и техники было сделано множество кандидатских и докторских диссертаций.

Рассмотрим проблему метода прогонки С.К.Годунова.

Предположим, что решается задача об оболочке ракеты. Это тонкостенная труба.

Тогда система дифференциальных уравнений будет состоять из 8-ми уравнений и матрица А(x) коэффициентов системы дифференциальных уравнений будет иметь размерность 8х8, а векторы Y(x), Y(x)’, F(x) будут иметь размерность 8х1. Соответственно матрицы краевых условий будут прямоугольными горизонтальными с размерностью 4х8.

Тогда в методе прогонки С.К.Годунова для такой задачи решение ищется в следующем виде:

Y(x) = Y1(x)с1 + Y2(x)с2 + Y3(x)с3 + Y4(x)с4 + Y*(x)

или

Y(x) =Yматрица(x) · с + Y*(x),

где векторыY1(x), Y2(x), Y3(x), Y4(x) – это линейно-независимые вектора-решения однородной системы дифференциальных уравнений (системы, где F(x)=0), а вектор Y*(x) – это вектор частного решения неоднородной системы дифференциальных уравнений, а с1, с2, с3, с4 - это константы, которые надо вычислить. Здесь Yматрица(x)= |Y1(x),Y2(x),Y3(x),Y4(x)|, а с это вектор |с1,с2,с3,с4|.

Но вообще то решение для такой краевой задачи с размерностью 8 (вне рамок метода прогонки С.К.Годунова) может состоять не из 4 линейно-независимых векторов Yi(x), а полностью из всех 8  линейно-независимых векторов-решений однородной системы дифференциальных уравнений:

Y(x) = Y1(x)с1 + Y2(x)с2 + Y3(x)с3 + Y4(x)с4 + Y5(x)c5 + Y6(x)c6 + Y7(x)c7 + y8(x) + Y*(x).

И как раз трудность и проблема метода прогонки С.К.Годунова и состоит в том, что решение ищется только с половиной возможных констант (с1, с2, с3, с4) и проблема в том, что такое решение с половиной констант (с1, с2, с3, с4) должно удовлетворять условиям на левом крае (стартовом для прогонки) при всех возможных вариантах констант (с1, с2, с3, с4), чтобы потом найти эти константы (с1, с2, с3, с4) из условий на правом крае.

То есть в методе прогонки С.К.Годунова есть проблема нахождения таких начальных значений Y1(0), Y2(0), Y3(0), Y4(0), Y*(0) векторов Y1(x), Y2(x), Y3(x), Y4(x), Y*(x), чтобы можно было начать прогонку с левого края х=0, то есть чтобы удовлетворялись условия L·Y(0) = Lна левом крае х=0 при любых значениях констант (с1, с2, с3, с4).

Обычно эта трудность «преодолевается» тем, что краевые условия рассматриваются самые простейшие и-или специально подгоняется форма записи физических параметров, через которые записывается система дифференциальных уравнений, чтобы начальные значения Y1(0), Y2(0), Y3(0), Y4(0), Y*(0) можно было угадать. То есть задачи со сложными краевыми условиями так решать нельзя: например задачи с упругими условиями на краях, не говоря уже о более сложных возможных механических формах опор.

4. ФормулаАлексея Юрьевича Виноградова для метода прогонки С.К.Годунова.

Выполним построчное ортонормирование матричного уравнения краевых условий на левом крае:

L·Y(0) = L,

где матрица L прямоугольная и горизонтальная размерности 4х8.

В результате получим эквивалентное уравнение краевых условий на левом крае, но уже с прямоугольной горизонтальной матрицей Lорт (размерности 4х8), у которой будут 4 ортонормированные строки:

Lорт·Y(0) = Lорт,

где в результате ортонормирования вектор L преобразован в вектор Lорт.

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

Дополним прямоугольную горизонтальную матрицу Lорт до квадратной матрицы U:

                                                                            | Lорт |

                                                                     U =|--------|

                                                                            |   R  |,

где матрица R размерности тоже 4х8 должна достраивать матрицу Lорт до невырожденной квадратной матрицы U размерности 8х8.

В качестве строк матрицы R можно взять те краевые условия, то есть выражения тех физических параметров, которые не входят в параметры левого края или линейно независимы с ними. Это вполне возможно, так как у краевых задач столько независимых физических параметров какова размерность задачи, то есть в данном случае их 8 штук и если 4 заданы на левом крае, то ещё 4 есть где взять.

Завершим ортонормирование построенной матрицы U, то есть выполним построчное ортонормирование и получим матрицу Uорт размерности 8х8 с ортонормированными строками:

                                                                             | Lорт|

                                                                Uорт =|--------|

                                                                             | Rорт|.

Можем записать, что

                                        Yматрица(0) = (Rорт)транспонированная = (Rорт)тр.                             (1)

Тогда подставив в формулу метода прогонки С.К.Годунова получим:

Y(0) =Yматрица(0) · с + Y*(0),

или

Y(0) = (Rорт)тр · с + Y*(0).

Подставим эту последнюю формулу в краевые условия Lорт·Y(0) = Lорт и получим:

Lорт· ( (Rорт)тр · с + Y*(0) ) = Lорт.

Отсюда получаем, что константы с уже не на что не влияют, так как Lорт· (Rорт)тр = 0 и остаётся только найти Y*(x) из выражения:

Lорт· Y*(x) = Lорт.

Но матрица Lорт имеет размерность 4х8 и её надо дополнить до квадратной невырожденной, чтобы найти вектор Y*(0) из решения соответствующей системы линейных алгебраических уравнений:

                                                              | Lорт |                | Lорт |

                                                              |-------| · Y*(0) =|--------|

                                                              |Rорт|                |    0    |,

где 0 – любой вектор, в том числе вектор из нулей.

Отсюда получаем при помощи обратной матрицы:

                                                                        | Lорт | -1    | Lорт |

                                                      Y*(0) =      |--------|  ·   |--------|                                                   (2)

                                                            |Rорт|        |    0    |.

Тогда итоговая формула Алексея Юрьевича Виноградова для начала вычисления методом прогонки С.К.Годунова имеет вид:

                                                                            | Lорт | -1    | Lорт |

                                         Y(0) = (Rорт)тр · с + |--------|   ·   |--------|                                              (3)

                                                                           |Rорт |         |    0    |.

При помощи этой формулы можно решать краевые задачи с любыми самыми сложными в записи краевыми условиями J.

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

02 марта 2006

J

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

VinogradovAlexei@yandex.ru