Fletcher-1-rus (1185917), страница 23
Текст из файла (страница 23)
Как правило, справедливость такого предположения невозможно гарантировать в применении к «реальным» задачам, а поэтому вычислительные решения полезно сравнить с надежными экспериментальными результатами (имеющими известную степень точности) для той же самой задачи. Например, можно воспользоваться данными о распределении давления на поверхности тела, чтобы проверить, насколько правдоподобным является решение на измельченной сетке.
Обычно, однако, экспериментальные данные по данной конкретной проблеме и с достаточными подробностями оказываются недоступными в такой степени, чтобы позволить оценить глобальную среднеквадратичную ошибку. Если предположить, что точность приближенного решения ,поддается оценке, то весьма важно рассмотреть и связанный Г26 Гл. 4. Теоретические основы с этим вопрос о том, как улучшить достигнутую точность. В самом широком представлении ответ на этот вопрос может сводиться к тому, чтобы дать возможность выбора зависимых переменных, например вместо скорости и давления взять завихренность и функцию тока. В качестве альтернативного варианта может подойти возможность различного выбора независимых переменных. Например, использование полярных координат будет давать более точные решения задачи о течении в трубе, чем это было бы с декартовыми координатами при одинаковом числе узловых точек.
Можно ожидать, что в некоторых специальных случаях применение схем высокого порядка илн использование мелких сеток могут привести к построению более точных решений. Однано введение таких мер вряд ли будет оправдано, если не принимать во внимание время исполнения и, следовательно, вычислительную эффективность (см. $4.5). На данном этапе мы рассмотрим лишь один специальный прием, позволяющий улучшить точность решения — экстраполяцию по Ричардсону. 4.4.!. Экстраполяция по Ричардсону Как уже указывалось ранее (см: п. 4.1.2), численную демонстрацию сходимости можно реализовать путем построения последовательности решений на все более мелких сетках Ошибка решения на достаточно мелкой сетке уменьшается вместе с размером ячейки так же, как ошибка аппроксимации (см. табл. 4.1).
Эта последняя особенность объясняет введение экстраполяции по Ричардсону, используемой для улучшения точности решения на конечной (но мелкой) сетке. Основная идея состоит в том, чтобы сложить вместе взятые с соответствующими весами решения на последовательно измельчаемых сетках, сделав это так, чтобы свести к нулю главный чен суммарной ошибки аппроксимации. Однако форма выражения ошибки аппроксимации связана с разложением в ряд Тейлора по степеням локального размера ячейки. Поэтому неудивительно обнаружить, что для эффективности экстраполяции по Ричардсону последнюю следует проводить на сравнительно мелкой сетке.
Рассмотрим два решения уравнения диффузии, полученные путем применения схемы ВВЦП с двумя вариантами шагов по х, а именно Лх„и Лхв, но при одном и том же значении з. Составное решение строится в виде Т,=аТ, + ЬТе, (4.42) где а и Ь вЂ” коэффициенты, подлежащие определению. Разложение членов в схеме ВВЦП, примененной к функции Т, в ряд й 4.4.
Точность решения 127 Таблица 4.3. Среднеквадратичные ошибки при экстраполяции по Ричардсону (кЕ) Ьх 0.025 Схема Ах=0.05 ех ьд ВВЦП, э 0.5 ВВЦП, х = 0.5, ИЕ ВВЦП, 0=1/6 0.49! 5 0.9744 0.0017 0.0869 0.0104 0.542 Х!О 0.0! 53 0.634 Х 10 0 339 Х 10 Схема ВВЦП обладает необычным свойством — она может обеспечить четвертый порядок точности без применения экстра,поляции по Ричардсону, а лишь за счет специального выбора 5 = 1/6. Это не имеет места ни для чисто неявной схемы (7.19), ни для схемы Кранка — Николсона (7.22), ни для каких-либо других схем. Однако для обеих упомянутых схем можно обеспечить четвертый порядок точности с помощью экстраполяции по Ричардсону. При выборе /ьхь = Ьх,/2 соответствующее этому составное решение имеет форму Т, = (4/3) Ть — (1/3) Т„ (4.44) уже упоминавшуюся выше.
Тейлора в окрестности (/, и)-го узла, дает ~ — 1~ — а [ ~, 1 + а (Е,1," + Ь (Еь) = О, (4.43) где, в силу формулы (4.7), имеем [Е, [" = О. 5а 2хх', (з — 6 ) ( дх' ) + 0 (Лх'), [Еь '1" = 0.5а/Ьхь~ (з — 6 ) ( ~„, ) + 0 (Лхь) Если Лхь = Лх,/2, то главный член ошибки усечения для составной функции может быть сделан равным нулю при помощи формулы а + 0.25Ь = О.
Однако из (4.42) ясно, что .а+ Ь = 1. Поэтому а = — !/3 и Ь = 4/3, и, следовательно, составное решение Т, = (4/3)Ть — (1/3) Т„как и следует ожидать, имеет ошибку решения порядка 0(/!х4) на достаточно мелкой .сетке. Некоторые характерные значения среднеквадратичной ошибки приводятся в табл. 4.3 при 5 = 0.5. Для наиболее мелких сеток ошибка убывает как 0(бха). Однако, несмотря на то что применение экстраполяции по Ричардсону приводит к повышению уровня точности на мелкой сетке, для грубых сеток имеет место обратная ситуация. 128 Гл. 4.
Теоретические осиоеы В общем случае выбор коэффициентов а и Ь определяется тем, какую степень по Лх имеет главный член в выражении ошибки усечення (после эквивалентной замены Л( на Лх), а также величиной отношения размеров ячейки Лх, н Лхэ. В результате получим и ае ЕТ = диде д з где я — коэффициент пропорциональности. В результате имеем 2.28ае бай ЕТ, ол,ик д э ЕТэ ие= .з 2а/г ЕТэ=ол = —,, Э= ° дхз Таким образом, можно видеть, что решение, соответствующее ЕТ,=ее, ик при Лх, = 0.1, Лхэ = 0.05, оказывается на 50 о(о точнее, чем решение, соответствующее ЕТ'=е.з при Лх = 0.025, однако время его исполнения в семь раз меньше. Далее, решение, соответствующее ЕТ,=э е при Лх = 0.05, примерно в двенадцать Раз точнее РешениЯ, соответствУющего ЕТ =о.э, ие пРи Лхз = 0.025, при времени исполнения, в три раза меньшем.
Ясно, что использование экстраполяции по Ричардсону эффективно, но в меньшей степени, чем в специальном случае Если экстраполяцию по Ричардсону применить к какой-либо нестационарной задаче, например определяемой уравнением диффузии, то решения Те и Т, можно рассматривать как независимые решения, построенные на разных сетках в тот конечный момент времени, когда нам нужно рассчитать Т,. С учетом того обстоятельства, что экстраполяция по Ричардсону не воздействует на решение на промежуточных стадиях его построения, а лишь на окончательное решение, такой прием был назван пассивной экстраполяцией по Ричардсону [1)аЫс(ц!81, В)огсз 1974]. Если же после каждого шага по времени вычисляется величина Т, и это решение рассматривается как начальное, чтобы с его помощью рассчитать Т, и Те на следующем шаге по времени, то мы получим активную энстраполяцию по Ричардсону (см. только что цитированную книгу).
Весьма поучительно провести сравнение различных схем, перечисленных в табл. 4.3, с точки зрения времени исполнения решения (время центрального процессора). Для ннтегрирова. ния, проводимого на конечном интервале времени, упомянутое время исполнения (ехесцйоп 1ппе) может быть выражено как 5 4.о. Вычислительная эффективность 129 з = 1(б. Однако такие специальные случаи весьма редки, в особенности для более сложных уравнений и алгоритмов, чем схема ВВЦП, примененная к уравнению диффузии. 5 4.5.
Вычислительная эффективность Вопрос о том, какая точность может быть достигнута при заданном алгоритме решения, связана с вычислительной эффективностью этого конкретного алгоритма. Вычислительную эффективность можно определить как точность, достигаемую в расчете на единицу времени исполнения. Таким образом, алгоритм, при котором на грубой сетке достигается умеренная точность, а время исполнения мало, может оказаться столь же эффективным, как другой алгоритм, позволяющий получить высокую точность на мелкой сетке и требующий большего времени исполнения. Вычислительная эффективность СЕ может определяться формулой СЕ = й/(е ЕТ), где е — ошибка приближенного решения, представленная в соответствующей норме (например, в среднеквадратичной), а ЕТ вЂ” время исполнения.
Вычислительная эффективность — это полезный критерий, позволяющий выяснить целесообразность введения конечно-разноетных схем высокого порядка или же конечных элементов повышенного порядка. Для большинства задач гидроаэродинамикн применение схем высокого порядка (например, четвертого или выше) с конечными разностями или применение конечных элементов повышенного порядка (например, кубических или выше) не является оправданным с точки зрения повышенной вычислительной эффективности, особенно в отношении трехмерных задач.
Однако во избежание чрезмерно большой численной диссипации и дисперсии (см. $ 9.2) следует применять конечноразностные схемы как минимум второго порядка или же линейные элементы. При разработке различных вычислительных схем предпочтительно сравнение по вычислительной эффективности, а не только по точности или только по экономичности. Если сравниваются вычислительные схемы, расчет по которым ведется на одном и том же компьютере, то время исполнения может измеряться непосредственно. Если нельзя установить время центрального процессора, то следует обратить внимание на режим работы компьютера. Кроме того, нужно либо исключить, либо оценить ту долю времени исполнения, которая тратится на считывание данных и на печать результатов.
9 К. Флетчер. т. ! Гл. 4. Теоретические основы 130 4.5.А Оценка времени оперативного счета В качестве альтернативы непосредственному замеру времени центрального процессора можно дать оценку времени оперативного счета, получаемую из распечатки расчета и из некоторых данных о сравнительном времени исполнения элементарных операций. Это может делаться на разных уровнях сложности. Как было установлено, нижеследующий подход дает вполне приемлемые оценки. Первый шаг состоит в запуске программы, предназначенной для приближенного определения времени, затрачиваемого на операцию каждого типа.