27.10.2014 Views

Вычислительная математика - ИСЭМ СО РАН

Вычислительная математика - ИСЭМ СО РАН

Вычислительная математика - ИСЭМ СО РАН

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Построим неравенство для контроля точности вычислений. Для этого рассмотрим вспомогательную<br />

схему y n+1,1 = y n + k 1 первого порядка точности. С помощью идеи вложенных<br />

методов оценку ошибки ε n,2 метода второго порядка можно вычислить по формуле [7]<br />

ε n,2 = y n+1 − y n+1,1 = p 2 (k 2 − k 1 ).<br />

Для повышения надежности данной оценки выберем β = 1. Тогда стадия k 1 вычисляется<br />

в точке t n , а k 2 - в точке t n+1 . Как показывают расчеты, использование информации в<br />

крайних точках шага приводит к более надежным вычислениям. При β = 1 коэффициенты<br />

метода второго порядка определяются однозначно p 1 = p 2 = 0.5, а локальная ошибка и<br />

неравенство для контроля точности имеют, соответственно, вид<br />

δ n = (h 3 /12)[2f ′2 f − f ′′ f] + O(h 4 ), 0.5||k 2 − k 1 || ε.<br />

Теперь построим неравенство для контроля устойчивости (15) предложенным в [4] способом.<br />

Для этого рассмотрим вспомогательную стадию k 3 = hf(y n+1 ). Заметим, что k 3 совпадает<br />

со стадией k 1 , которая применяется на следующем шаге интегрирования, и поэтому<br />

ее использование не приводит к дополнительным вычислениям правой части системы (1).<br />

Запишем стадии k 1 , k 2 и k 3 применительно к задаче y ′ = Ay, где A есть матрица с постоянными<br />

коэффициентами. В результате получим<br />

где X = hA. Легко видеть, что<br />

k 1 = Xy n , k 2 = (X + X 2 )y n , k 3 = (X + X 2 + 0.5X 3 )y n ,<br />

k 2 − k 1 = X 2 y n , 2(k 3 − k 2 ) = X 3 y n , .<br />

Тогда согласно [4] оценку максимального собственного числа w n,2 = hλ n,max матрицы Якоби<br />

системы (1) можно вычислить по формуле<br />

w n,2 = 2 max<br />

1iN |ki 3 − k i 2|/|k i 2 − k i 1|. (16)<br />

Интервал устойчивости схемы (15) второго порядка точности приблизительно равен двум.<br />

Поэтому для ее контроля устойчивости можно применять неравенство w n,2 ≤ 2. В случае<br />

применения данного неравенства для выбора шага следует учитывать грубость оценки<br />

(16), потому что вовсе не обязательно максимальное собственное число сильно отделено<br />

от остальных, в степенном методе применяется мало итераций и дополнительные искажения<br />

вносит нелинейность задачи (1). Поэтому контроль устойчивости используется как<br />

ограничитель на размер шага интегрирования. В результате прогнозируемый шаг h n+1<br />

будем вычислять следующим образом. Новый шаг h ac по точности определим по формуле<br />

h ac = qh n , где h n есть последний успешный шаг интегрирования, а q, учитывая соотношение<br />

k 2 − k 1 = O(h 2 n), задается уравнением q 2 ||k 2 − k 1 || = ε. Шаг h st по устойчивости<br />

зададим формулой h st = dh n , где d, учитывая соотношение w n,2 = O(h n ), определяется из<br />

равенства dw n,2 = 2. Тогда прогнозируемый шаг h n+1 вычисляется по формуле<br />

h n+1 = max[h n , min(h ac , h st )]. (17)<br />

Заметим, что формула (17) применяется для прогноза величины шага интегрирования<br />

h n+1 после успешного вычисления решения с предыдущим шагом h n и поэтому фактически<br />

не приводит к увеличению вычислительных затрат. Если шаг по устойчивости<br />

146

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!