Запорожец  Издания 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 [ 52 ] 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

Ошибка округления может играть главную роль при нахождении высокоточных решений обыкновенных дифференциальных уравнений, поскольку величина шага Ал; может сгать очень малой и поскольку используются схемы высокого порядка точности, чувствительные к ошибкам округления. Для дифференциальных уравнений в частных производных в одномерном случае величины Ах и At могут также оказаться столь малыми, что ошибка округления будет играть важную роль. Ошибка округления важна и в некоторых задачах обрашения матрицы (см. разд. 3.2.8). Эта ошибка будет оказывать влияние на выбор критерия сходимости (см. разд. 3.4) и, очевидно, будет ограничивать наименьшую величину шага по времени At, для которой вычисления имеют смысл.

Несмотря на важность понимания проблемы, связанной с ошибкой округления, обычно дифференциальные уравнения в частных производных в случае многомерных задач по необходимости решаются при достаточно больших величинах шагов по пространственной сетке Ах - [Ах, Ау, Az) и по времени At, так что ошибки аппроксимации оказываются больше ошибок округления.

Ошибка аппроксимации связана с тем, что в разложениях в ряды Тейлора сохраняются не все члены, а это эквивалентно использованию конечных величин Ах и At. Пренебрегая ошибками округления, можно сказать, что все остальные ошибки являются ошибками аппроксимации. Несмотря на свою точность, такая классификация ошибок не является адекватной. В предыдуших разделах мы обсуждали другую классификацию ошибок, которую можно назвать классификацией по свойствам.

Ошибки, связанные с различными свойствами схемы, включают в себя ошибки, обусловленные нарушением консервативности, ошибки, обусловленные нарушением свойства транспортивности, ошибки, связанные с численным затуханием и схемной вязкостью, ошибки, обусловленные нарушением принципа инвариантности Галилея (т. е. преобразования, связанного с обращением скорости невозмущенного потока), ошибки, связанные с ограниченностью решения (или появлением осцилляции, обусловленных чрезмерно большим шагом по времени), фазовые ошибки и ошибки, обусловленные неразличимостью. Все эти ошибки являются ошибками аппроксимации в том смысле, что они стремятся к нулю при Ах->0, А/-> О, но в действительности это лишь грубое определение. Например, ошибки, обусловленные нарушением консервативности, можно устранить независимо от ошибок аппроксимации (хотя при этом сохранится некоторый вклад от ошибок округления). Аналогично некоторые методы обладают свойством транспортивности, другие



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

При выборе численного метода пользователь должен оценить важность этих ошибок в рассматриваемой им задаче. Например, для принятого метода ошибка, обусловленная нарушением консервативности, может служить для проверки сходимости решения; фазовые ошибки несущественны для стационарного решения; для получения схем с желаемыми свойствами Бунеман [1967] рассматривал обращаемость по времени сим--метричных по времени схем и т. д. Целесообразно оценивать метод с точки зрения классификации ошибок по свойствам, а не сосредоточивать внимание исключительно на порядке ошибки аппроксимации, скажем E=0{Af,Ax) и т. п., хотя порядок ошибки тоже важен.

Те, кто знаком только с численными методами для обыкновенных дифференциальных уравнений, постоянно удивляется низкому порядку аппроксимации в схемах, применявшихся в прошлом для дифференциальных уравнений в частных производных. Причина этого просто заключается в том, что для нетривиальных задач гидродинамики трудно добиться фактического получения результатов равномерно высокого порядка точности. В полной задаче точность решения уравнения переноса вихря будет ограничена точностью решения уравнения Пуассона (см. разд. 3.2) и постановкой граничных условий (см. разд. 3.3.1). Последняя особенно увеличивает трудность достижения равномерно высокого порядка точности для задачи в целом при использовании стандартных многоточечных уравнений высокого порядка точности, таких, которые рассматриваются в разд. 3.2.10. (Например, вблизи прямолинейной границы, обычно параллельной одной из осей координат, для схемы с ошибкой порядка О (Ах*) требуется знать значения на границе и в пяти ближайших внутренних точках; см. Саусвелл [1946].) Исследовать устойчивость таких схем очень трудно, хотя здесь на помощь может прийти понятие расщепления по времени (разд. 3.1.13).

Другая причина, объясняющая получение часто не оправдывающих ожидания характеристик схем высокого порядка для дифференциальных уравнений в частных производных, заключается в том, что порядок точности схем имеет смысл только при Ах-►О, А/-0. Таким образом, порядок точности схем имеет большее значение в случае обыкновенных дифференциальных уравнений, когда требуется меньший объем оперативной памяти и допустимое время расчетов позволяет брать значительно меньшие шаги Ах.



Во многих тестовых расчетах схемы низкого порядка точности приводят к довольно точным результатам при грубых Ах и At; см. Сайрус и Фалтон [1967], Чен [1968], Хемминг [1962, с. 210], а также примеры, приведенные в разд. 3.1.8. (По мнению Чена [1970а], схемы второго порядка, грубо говоря, являются оптимальными.) В действительности при часто желаемых больших At можно ожидать исчезновения преимущества схем, имеющих высокий порядок точности во времени. Например, в разд. 3.1.14 указывалось, что схема Кранка - Николсона с ошибкой £=0(Л/2,Дх) при применении к уравнению диффузии приводит к ошибочным осцилляциям, обусловленным чрезмерно большим шагом по времени (G<0), для больших At, в то время как полностью неявная схема с ошибкой Е = = 0(Д/, Дл-2) дает качественно правильное поведение решения. Даже в успешных приложениях существует широкий диапазон условий, при которых больший успех дают схемы второго порядка и еще более широкий диапазон условий, при которых более успешны схемы четвертого порядка. Различия в точности конкурирующих схем четвертого порядка часто обусловлены консервативностью схем (см., например, Уильямсон [1969]) и тем, что основное внимание при их построении сосредоточено на проблеме фазовой ошибки (см. разд. 3.1.18-3.1.20). Кроме того, оилибка, обусловленная неразличимостью, у некоторых схем четвертого порядка точности по пространственной переменной (0(Дх*)) оказывается больше, чем у схем второго порядка (0(Дл2)), особенно для коротковолновых компонент (Граммельтведт [1969]).

Тем не менее в настоящее время проводится разработка схем более высокого порядка точности, и, по-видимому, они найдут более широкое применение в вычислительной гидродинамике. В первом издании этой книги (1972 г.) мы повторяли «обычную благоразумную» мысль: при переходе к схемам высокого порядка точности из-за потери информации при дискретизации граничных условий для дифференциальных уравнений в частных производных практически следует ожидать только умеренного улучшения точности по сравнению с обыкновенными дифференциальными уравнениями; теперь же у нас возникли серьезные сомнения в справедливости этого соображения. Правда, практические трудности, оказывающие влияние на точность схем второго порядка, - трудности, связанные с граничными условиями и со сложной формой границы, определение соответствующего решения уравнения Пуассона и проблема сеточного числа Рейнольдса, - все эти трудности становятся более щекотливыми при получении решений более высокого порядка точности; к тому же скорость сходимости не всегда равномерно велика во всех точках двумерной сетки. Тем не



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 [ 52 ] 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199