Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Численные методы в задачах математического моделирования движения небесных тел в Солнечной системе. Монография

.pdf
Скачиваний:
2
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
(
)
ɺ
ɺ
(
)
ɺ
ɺ
1
3
2
+
n
()()(
)
ной погрешности дискретизации. Кроме того, метод Эверхарта по­казал себя как самый эффективный по точности и быстродействию в эксперименте по исследованию алгоритмов и программ численно­го прогнозирования движения небесных тел, проведенном в СССР в 1986 году [14].
Алгоритм и программа численного интегрирования методом Эверхарта ранее были разработаны до 27-го порядка, однако ис­пользование этих алгоритмов выше 19-го порядка не приводило к повышению точности вычислений.
В работе [46] рассматривается модификация алгоритма метода Эверхарта, позволяющая повысить эффективность программного про­дукта при увеличении порядка метода. Рассмотрим основную идею построения метода Эверхарта на примере решения уравнения вида
txFx ,=
.
(3.70)
Представим правую часть уравнения (3.70) в виде временного ряда
2
211
n
tAtAtAFtxFx ++++== ...,
.
n
(3.71)
Интегрируя (3.71), получим выражения для определения коор­динат и скоростей:
2
ɺ
ɺɺ
t
Ftxxx
111
t
...
+++++=
A
1
62
2
t
AtFxx
A
111
A
n
t
...
2
+++++=
23
+
n
t
( )( )
A
n
21
++
nn
13
+
n
t
. (3.73)
, (3.72)
Полиномы (3.72) и (3.73) не являются рядами Тейлора, а коэф­фициенты
вычисляются из условия наилучшего приближения x
A
i
и xɺ с помощью конечных разложений (3.72) и (3.73). Для связи A-значений с F-значениями воспользуемся вспомогательным выра­жением
Уравнение (3.74) усечено по времени ванный момент времени
имеем
t
i
+=
α
,
tFF
2112
αα
ααα
( )
. В каждый фиксиро-
t
n
,
ttttFF
−++=
23323113
...
+−−+−++= tttttttttFF
3232211
. (3.74)
(3.75)
...............................................
91
(
)
α
−
=
t
()(
)
()()()(
)
[
]
ɺ
x
Принимая
( )( )
ttt −= , найдем
jnnj
,/
tFF
2121
−−=
αα
( )( )( )
( )( )( )( )
через разделенные разности:
α
i
,//
ttFF
3213132
,///
tttFF
−−−=
ααα
4324214143
αααα
−−−−=
(3.76)
,////
ttttFF
5435325215154
.............................................................................
Приравнивая коэффициенты при одинаковых степенях уравнениях (3.71) и (3.75), выразим коэффициенты
( )
cA
...,...
+=+=
αα
33333
αααα
...,...
++=+−−+=
ccttA
33222233222
A
i
αααααα
ccctttA
через
...,...
+++=++−+=
3312211113322211
α
i
(3.77)
..........................
Коэффициенты
c определяются из следующих рекуррентных
ij
соотношений:
,,1
jic
ij
1,11
iii
−
,11,1
−−−
==
,1,
ictc
>−=
jiijiij
.1,
ijctcc
<<−=
(3.78)
Для алгоритма интегрирования пятого порядка
где
t
,
t
,
являются корнями кубического уравнения
t
2
3
4
Вопрос о нахождении узлов разбиения на шаге
tttc −=
,
43241
ttttttc ++=
,
24433242
432244332432
, (3.79)
tttc −−−=
43243
32
01
=+−−−++++− ttttttttttttttt
. (3.80)
Th ,0=
смотрим на примере алгоритма интегрирования пятого порядка.
в
:
рас-
3.7.1. АЛГОРИТМ ИНТЕГРИРОВАНИЯ
В начальный момент времени ния
в моменты времени
t
,
t
,
2
3
известны
01=t
определяются с помощью трех
t
4
x
,
x
1
, F. Значе-
1
предсказывающих уравнений:
5
4
92
3
 
22
21
tAtAtAtF
23
+++++=
, (3.81)
201262
2
ɺ
txxx
21
2112
20126
2
432
′
′
′
′
′
∆
()()(
)
423020126
T
T
T
∆
ɺ
ɺ
31
txxx
3113
3
2
41
41
txxx
4114
3
2
31
4
32
 
4
42
5
tAtAtAtF
33
+++++=
+++++=
 
, (3.82)
201262
5
tAtAtAtF
43
201262
(3.83)
и двух исправляющих уравнений для нахождения положения и ско­рости на конце шага h:
2
1
( )
ɺ
TxxTx +++++=
11
ɺɺ
( )
TFxTx ++++=
11
3
1
2
1
4
2
3
2
5
TATATATF
3
, (3.84)
4
TATATA
3
. (3.85)
Эта схема является неявной, так как коэффициенты, стоящие в квадратных скобках (3.81) – (3.83), неизвестны при первой итерации.
Уравнения (3.81) – (3.83) обеспечивают пятый порядок точно­сти относительно t. Можно увеличить порядок точности в вычис­лении x и xɺ до седьмого порядка путем специального выбора под-
шагов тервала интегрирования, добавив два дополнительных времени
t
значения
t
,
t
,
t
2
. Затем вычислим для
6
. С этой целью увеличим количество разбиений ин-
3
4
и
5
A
значения
t
6
.
3
t
,
и
A
,
A
A
A
4
5
,
1
2
Из уравнения (3.40) можно найти поправки
t
5
и
α
4
, а также новые
α
5
x
, улучшающие
значения координат:
3
′
−
x
=∆ .(3.86)
11
′
+
4
−
22
′
+
5
−
33
6
′
4
+
7
′
TATATAATAATAA
5
+
Выражая в уравнении (3.79)
c
51
, …,
c
54
через
c
,
c
,
, а
41
c
42
43
также полагая
t
2
h
=
2
t
3
h
=
,
3
t
4
h
=
,
, (3.87)
4
можно записать выражение (3.86) в виде
′
′
( )
−=∆
Значение
′
6
Ttx
554
 
в последнем выражении можно обратить в ноль
x
+
+
1
ccc
434241
20126
+
+
ααα
 
′
′
′
7
T
5
 
+
+
1
ccc
434241
30201230
+
.
42
при выполнении следующих условий:
93
,
421302012
′+′+′
ɺ
∆
′
′
′
′
1
ccc
434241
20126
′
′
′
+
ccc
434241
+
30
,0
=+
.0
=+
Проводя подобные рассуждения для скорости, приравнивая к нулю x
, получим третье условие для определения
c
,
41
Тогда соответствующие данным разбиениям коэффициенты дут определяться из системы алгебраических уравнений
′
  
′
 
′
 
+
+
′
+
+
′
+
+
1
ccc
434241
=+
,0
5
432
′
1
ccc
434241
=+
,0
6
543
′
ccc
434241
654
1
=+
.0
7
′
′
Первое и второе уравнения (3.88) являются линейными комби­нациями уравнений (3.89), поэтому ими можно пренебречь.
Из решения системы (3.89) получим
  
 
  
Следует отметить, что значения величин
4
′
′
′
−=−=
35
6 7
12
7
,hhhc
43241
++==
,hhhhhhc
42433242
−−−=−=
.hhhc
43243
h
,
h
,
являются кор-
2
h
3
4
нями полинома третьей степени
12
−+ hhh
7
6
23
+
7
4
 
0
=−
, (3.91)
35
корни которого имеют следующие значения:
t
2
h
 
h
  
h
 
==
2
T t
3
==
3
T
t
4
==
4
T
,...392123405382,0
,...595905331355,0
....89114124048,0
(3.88)
c
42
c
(3.89)
(3.90)
(3.92)
,
ij
c
43
бу-
.
94
ɺ
≤
≤
[
]
T
[
]
Использование этих узлов позволяет получить решение уравне­ния (3.71) с точностью до седьмого порядка для обеих компонент x
x
и
. Полученные по формуле (3.91) узлы разбиения h совпадают с
узлами квадратурной формулы Гаусса – Радо. Область изменения h заключена в пределах
3.7.2. МОДИФИКАЦИЯ МЕТОДА ЭВЕРХАРТА
.
10
h
Порядок метода, определяющий точность интегрирования, за­висит от количества разбиений основного шага h на подшаги
h
i
Порядок данного метода определяется наибольшей степенью вре­менного ряда (3.72).
В работе Эверхарта [94] приведены узлы разбиения основного шага интегрирования на подшаги, обеспечивающие точность до 15 порядка включительно. Для использования метода Эверхарта более высокого порядка, необходимо знать узлы разбиения отрезка
t
на подшаги
i
h
= для соответствующих порядков. В работе [40]
i
1,0
.
приведены узлы разбиения отрезка
1,0
на подшаги, вычисленные
с помощью алгоритма, основанного на формулах (3.89) – (3.91), для порядков метода с 9-го по 33-й включительно.
При численном интегрировании уравнений (3.63) методом Эверхарта [94] разбиение шага интегрирования проводится по фор­мулам Гаусса – Радо или Гаусса – Лобатто. Алгоритмы и програм­ма численного интегрирования обыкновенных дифференциальных уравнений реализованы Эверхартом для первого случая.
Как известно, повышения точности при численном решении дифференциальных уравнений можно достичь двумя путями: либо путем уменьшения шага интегрирования, либо путем увеличения порядка метода. Недостатком первого способа является увеличение ошибок округления при уменьшении шага интегрирования. Увели­чение порядка аппроксимирующей формулы обладает преимуще­ством по сравнению с первым методом, но приводит к усложнению алгоритма и замедлению процесса вычислений. Кроме того, коэф­фициенты высокого порядка, вычисленные по разностной схеме, часто отягощены большими ошибками, т.е. их значения могут по­лучаться на уровне шумов. Однако следует всегда отдавать предпо­чтение увеличению порядка, когда интегрирование проводится на длительном интервале времени.
95
(
)
ξ
(
)
()(
)
При порядке точности не выше 15 значения величин
A вычисляются с высокой степенью точности, и в использовании
nz
A
,
A ,
nx
ny
модификации алгоритма численного интегрирования нет необходи­мости. Неопределенность остается в выборе шага интегрирования
для конкретно решаемой задачи. Если
A
,
A
,
nx
A – конечные
ny
nz
коэффициенты для координат x, y, z в формуле (3.72), то для максимальной длины шага может быть использована формула
nRH/1
/
ξ
= ,
где H – длина шага интегрирования,
– заданная пользователем абсолютная погрешность,
1+++= nnAAAR
nznynx
[94].
Вследствие того, что метод Эверхарта показал высокую эффек­тивность при решении задач небесной механики, дальнейшее его исследование будем проводить на примерах решения дифференци­альных уравнений движения небесных тел. При использовании ме­тодов низкого порядка величину шага интегрирования следует вы­бирать достаточно малой. Это не позволяет численно интегрировать уравнения движения небесных тел на интервале времени порядка нескольких столетий из-за накопления погрешности округления. В этом случае применяются методы высокого порядка, так как ис­пользование аппроксимирующих формул высокого порядка может приводить к увеличению шага интегрирования. Однако при приме­нении метода Эверхарта к решению уравнений движения небесных объектов увеличение порядка метода выше 19-го не приводило к повышению точности и эффективности вычислений. В работе [48] показано, что главная причина заключалась в способе нахождения
коэффициентов
A , nyA , nzA .
nx
Вследствие того, что начальные данные задачи Коши имеют определенную точность, разделенные разности высоких порядков, вычисленные с помощью этих данных, перестают убывать с увели­чением порядка метода. В силу неопределенности коэффициентов высокого порядка, вычисленных с использованием разностных схем, полученные решения становятся непригодными для практи­ческого использования. Следовательно, задача численного интегри­рования дифференциальных уравнений методом Эверхарта высоко-
96
∞
→
n
…
…
n
i
<
го порядка сводится к оценке коэффициентов
A
,
A , nzA . Оце-
nx
ny
нить эти коэффициенты можно на основании выполнения следую­щих условий.
1. При возрастании порядка метода величина последнего члена
в формуле (3.72) должна убывать и при
стремиться к нулю. Выполнение этого условия обеспечивает необходимое условие схо­димости временного ряда.
2. Увеличение порядка метода должно приводить к увеличе-
нию максимальной длины шага интегрирования. Выполнение этого требования менее очевидно. Однако в случае нарушения этого условия увеличение порядка не может привести к более эффектив­ному алгоритму и дальнейшее повышение порядка метода не имеет смысла.
Увеличение эффективности метода при повышении его порядка
может быть достигнуто следующим способом.
В работе [48] рассматривается модификация алгоритма мето­да Эверхарта, позволяющая повысить эффективность программного продукта при увеличении порядка метода. Показано, что если поря­док метода Эверхарта выше 15, то добавление условия
явную схему расчета коэффициентов
A , 2A ,
1
,
A является необ-
n
0≈
A в не-
n
ходимым для повышения эффективности метода. Так как система уравнений для нахождения
A , 2A , 3A ,
1
записана в неявном виде,
то с учетом сделанного допущения производится пересчет коэффи­циентов
A при
i
, которые находятся по формулам (3.77).
Использование данного приема позволило находить коэффици­енты
A , с помощью которых координаты и скорости исследуемого
i
объекта по формулам (3.72) и (3.73) вычисляются с высокой степе­нью точности, а также разработать алгоритм и программное обес­печение численного интегрирования для решения уравнений дви­жения небесных объектов методом Эверхарта до 33 порядка вклю­чительно, эффективность и точность которых возрастает.
Кроме того, следует отметить, что программа, составленная Эверхартом на языке программирования ФОРТРАН, осуществляет совместное интегрирование возмущаемого тела и возмущающих пла­нет [94]. В программе не предусматривалось использование банка данных координат и компонент скоростей для возмущающих тел, по­этому необходимо было ее модифицировать. Вследствие того, что в процессе интегрирования требуется информация о координатах и ско-
97
[
]
(
)
(
)
(
)
[
]
(
)
+++
=
()(
)
ростях планет на значительном количестве подшагов, требовалось оперативно получать их, затрачивая при этом минимальное время.
Модификация алгоритма и программы метода Эверхарта с учетом вышеназванных условий позволила разработать алгоритм и програм­мы численного интегрирования для решения уравнений движения небесных тел методом Эверхарта до 33 порядка включительно, эффек­тивность и точность которых возрастает. Модификация метода Эверхарта позволяет учитывать в аппроксимирующей формуле раз­личное количество членов в зависимости от требуемой точности. Кро­ме того, использование банка данных координат планет позволяет зна­чительно сократить время численного интегрирования уравнений движения небесных тел без существенной потери точности.
Применение данного алгоритма к решению систем дифферен­циальных уравнений движения небесных объектов выявило пре­имущество увеличения порядка аппроксимирующих формул в ал­горитме по сравнению со способами, основанными на процедуре уменьшения шага интегрирования. В частности, уменьшение шага интегрирования вдвое увеличивает время вычислений в 2 раза, а увеличение порядка метода при сохранении величины шага увели­чивает время вычислений лишь в 1,2 раза.
3.7.3. СВЯЗЬ НЕЯВНОГО МЕТОДА ЭВЕРХАРТА С НЕЯВНЫМИ МЕТОДАМИ РУНГЕ – КУТТЫ
Неявный метод Рунге – Кутты 5-го порядка при использовании
разбиения интервала ставляется в следующем виде. Находятся
ThxF
,
, где
333
Затем определяется
В этой же форме можно представить неявный метод Эверхарта
5-го порядка. Используя уравнения (3.76), (3.77), выражение
лентном виде
Для метода Эверхарта более высокого порядка справедливо аналогичное утверждение. Таким образом, можно сформулировать следующую теорему.
2
32
TATAF ++ легко представляется через 1F , 2F , 3F в эквива-
211
1,0
на подшаги Радо Батчером [87, 88] пред-
0,11xF
FaFaFaTxx
32322212112
( )
FwFwFw ++ .
332211
98
[ ]
+++=
+++=
FaFaFaTxx
33323213113
FwFwFwTxTx
3322111
,
,
.
. (3.94)
,
(3.93)
ThxF
и
222
[
]
[
]
Теорема. Неявный метод Эверхарта принадлежит классу не­явных методов Рунге – Кутты.
В табл. 3.8 приведены узлы разбиения отрезка
1,0
на подша-
ги, вычисленные с помощью алгоритма, основанного на формулах (3.87) – (3.92), для порядков метода с 9-го по 33-й. Здесь в первой строке указан порядок метода, в последующих – узлы разбиения.
Таблица 3.8
Разбиение интервала
9 11 13 15 0,139759864 0,416409568 0,723156986 0,942895804
0,09853508580 0,30453572665 0,56202518975 0,80198658213 0,96019014295
1,0
на подшаги Гаусса – Радо
0,0730543286803 0,2307661379699 0,4413284812284 0,6630153097188 0,8519214003315 0,9706835728402
0,056262560536922 0,180240691736892 0,352624717113170 0,547153626330555 0,734210177215411 0,885320946839096 0,977520613561288
17 19 21 0,04463395528996985 0,14436625704214557 0,28682475714443052 0,45481331519657335 0,62806783541672770 0,78569152060436924 0,90867639210020604 0,98222008485263655
0,0362578128832094609 0,1180789787899987002 0,2371769848149603853 0,3818827653047059754 0,5380295989189890651 0,6903324200723621829 0,8238833438370047181 0,9256126102908039554 0,9855875903511234514
0,030029032161486497026 0,098289012209853229604 0,199021078963101154785 0,324055538323334892548 0,463261234284339367031 0,605360153114213156955 0,738840323991543759673 0,852888550356929759536 0,938267928122851874461 0,988082386567584403087
23 25 0,02527362039752034941993 0,08304161344740514574192 0,16917510037718142434322 0,27779671510903207234495 0,40150272023286081451917 0,53186238691041595580407 0,65999184208533481002277 0,77715939295616214324170 0,87538077485555692552065 0,94796454887281944709314 0,98998171953831959409340
0,0215620631658503515234611 0,0710578987355889540705097 0,1454474562350640695304277 0,2404011104747728783810741 0,3503993497227449288358693 0,4690491506871822497693027 0,5894549187985422453534699 0,7046191157374197200278922 0,8078489454701459176919704 0,8931455091165233179796975 0,9555535368445922664302963 0,9914609450115725785632052
99
27 29 0,018610365010987535263230969 0,061475540899268024533652269 0,126305178693308833126712299 0,209842971726560051768065159 0,307898998280395393931984335 0,415556035978656418948844903 0,527415613995879286682017724 0,637868602717758606993360096 0,741376459294235453698649455 0,832748988608440864994019577 0,907404775300996550185631181 0,961601861260321301310345231 0,992635348973910610437410549
31 33 0,0142694547367133927011941734111 0,0472995900938262916977923492531 0,0977132993200092011141719409873 0,1635690393935335166576254337113 0,2423352609676374968646941964594 0,3309848049689575332179303128583 0,4261108390922635511664194728915 0,5240576915358200350181523098574 0,6210613113522289838116762729681 0,7133939137418532178146455865041 0,7975072449494494270819206499923 0,8701689744461194350939109164064
31 33 0,9285870468846809709241413720609 0,9705177013519911908276014409011 0,9943593110274755861767728109331
Окончание табл. 3.8
0,01622476590139167414310799742 0,05369729993969986802431196674 0,11065719118043923299356726188 0,18461026055646098074870009879 0,27232354711065713765525681593 0,36996331162951154064068014147 0,47326213866004387091045788713 0,57770534269235464626387836437 0,67872825601100140071262091552 0,77191572935069469913724751277 0,85319513231875434029195542186 0,91901450031802660505385251724 0,96649859546797916195110030221 0,99358323920718005159554204745
0,064697937480224601838824354143807 0,097558231240761564057880651216664 0,089162346896612275416964865991244 0,145861852235048203171029366910361 0,216877446049896700515816767188903 0,297519862093824008901521015260492 0,385042848145347464821849460189646 0,476465883998021239209511221992578 0,568675656427129289415731046836105 0,658532072472853346704252185521159 0,742975192172166605129895171138952 0,819129440355379305495366761705458
0,884401562429212862001221635792092 0,936569054421349150324802715569719 0,973856486320809305848046500674249 0,995002700336656240144847588087549
100
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]