07 бибердорф gala
TRANSCRIPT
Использование пакета GALA-3.0 для анализаи решения краевых задач
Бибердорф Э.А.Институт математики им. С.Л.Соболева СО РАН
Новосибирский государственный университет
Попова Н.И.Институт ядерной физики им. Г.И.Будкера СО РАН
1
GALA-3.0 – Guaranteed Accuracy in Linear Algebra
зарегистрирован 9.9.2010 в Реестре программ для ЭВМ Федеральнойслужбы по интеллектуальной собственности и товарным знакая, свиде-тельство № 20615904
Контроль точности вычислений* Рост объемов вычислений ⇒ неконтролируемый рост по-
грешностей.* Широкое использование математического обеспечения в
прикладных областях ⇒ отсутствие профессиональногоанализа свойств задачи и адекватной интерпретации ре-зультата вычислений.
* Высокие требования к точности в ряде прикладных обла-стей (физика, инженерия и др.) вступают в противоречиес отсутствием гарантии точности многих вычислитель-ных методов.
В пакете реализованы алгоритмы, допускающие использование методаобратного анализа погрешностей
2
Структура пакета GALA-3.0
3
Модуль SweepMod. Основная процедура Sweep - чис-ленное решение краевой задачи для линейных систем ОДУметодом ортогональной прогонки
d
dxu = A(x)u+ f(x)
Lu|x=0 = ϕ, Ru|x=d = ψ
4
Задачи для функции Грина:
d
dxG(x, ξ) = A(x)G(x, ξ)
LG|x=0 = 0, RG|x=d = 0, G(ξ + 0, ξ)−G(ξ − 0, ξ) = I
d
dxGL(x) = A(x)GL(x)
LGL|x=0 = Il, RGL|x=d = 0
d
dxGR(x) = A(x)GR(x)
LGR|x=0 = 0, RGR|x=d = Ir
u(x) = GL(x)ϕ+∫ d
0G(x, ξ)f(ξ)dξ +GR(x)ψ
5
Функция Грина как критерий обусловленности краевой за-дачи:
u(x) = GL(x)ϕ+∫ d
0G(x, ξ)f(ξ)dξ +GR(x)ψ
d
dxu = A(x)u+ f(x)
Lu|x=0 = ϕ, Ru|x=d = ψ
d
dxu = A(x)u+ f(x)
Lu|x=0 = ϕ, Ru|x=d = ψ
‖∆u‖ ≤K(φ+ α‖u‖)
1− αK
‖G‖, ‖GL‖, ‖GR‖ ≤ K
‖∆A‖, ‖∆L‖, ‖∆R‖ ≤ α
‖∆f‖, ‖∆ϕ‖, ‖∆ψ‖ ≤ φ
Кузнецов С.В. "Развитие метода ортогональной прогонки 1988
6
7
Использование прогонки для решенияэволюционных задач
Метод прямых
∂
∂tu+A(t, x)
∂
∂xu = f(t, x)
un − un−1
τ+A(tn, x)
d
dxun = f(tn, x)
d
dxun =
−1
τA−1un+A−1
(f(tn, x) +
un−1
τ
)
8
Корректность начально-краевой задачи
∂
∂tu+A(t, x)
∂
∂xu = f(t, x)
Lu|x=0 = ϕ(t), Ru|x=d = ψ(t)
u|t=0 = u0
На границе римановы инварианты, соответствующие УХО-ДЯЩИМ характеристикам, должны выражаться через рима-новы инварианты, соответствующие ПРИХОДЯЩИМ харак-теристикам.
Lu|x=0 = ϕ(t) ⇒ R→i = Φ(t, R←1 , . . . , R←j )
Ru|x=d = ϕ(t) ⇒ R←i = Ψ(t, R→1 , . . . , R→k )
9
Проявление некорректности начально-краевой задачи на вре-менном слое
∂
∂tu+A(t, x)
∂
∂xu = f(t, x)
Lu|x=0 = ϕ(t), Ru|x=d = ψ(t)
u|t=0 = u0
⇓
d
dxun =
−1
τA−1un +A−1
(f(tn, x) +
un−1
τ
)
Если УХОДЯЩИЙ риманов инвариант НЕ выражается черезПРИХОДЯЩИЕ, то на временном слое t = tn
‖Gn‖ ≈ ed/τ
10
Если УХОДЯЩИЙ риманов инвариант НЕ выражается черезПРИХОДЯЩИЕ, то на временном слое t = tn
‖Gn‖ ≈ ed/τ
11
Течение крови в сосуде
∂
∂tU +B(U)
∂
∂xU = S(U), U = (A,Q)T
12