Роуч П. Вычислительная гидродинамика (1185913), страница 47
Текст из файла (страница 47)
(3.397) Такой подход будет использован в двумерной задаче. Если на второй границе при 1 = У задано условие Неймана в каком-либо из двух видов т ' =0 или ~+' т ~ =(г', (3.398) Лу 2 ау то, как легко проверить, уравнение (3.395) для определения е заменяется одним из следующих уравнений: е = УЛу — (тр', — йг',) или е = Усъу — '/е(тр'+, — ~р' ь).
(3.399) 196 8.2. Методы решения уравнений дяя функции тока Если при / = 1 условие Неймана задано в виде Р' =С Ьу (3.400) то вместо е~ — — 0 и еа — — е будем иметь в~=ее — — е, (3.401) а уравнение (3.394), описывающее распространение ошибки, заменится следующим: е/ — — е+ (/ — 2) Сбу. (3.402) Поскольку уравнения (3,394) нлн (3.402), описывающие распространение ошибки, линейны по /', практически можно не (/1) (1,1) Граница 61 х Рис.
637. Расчетная область эталонной двумерной задачи для метода расчета распространения ошнбки; Еы — вектор начальной ошибки, т" — вектор конечной ошибки. опасаться получить чрезмерно большие величины ф1, и тем самым нарушить точность из-за машинных ошибок округления. Двумерная задача не свободна от этого недостатка. Расчетная область эталонной двумерной задачи представлена на рис.
3.17. Пусть сначала на всех границах заданы условия Дирихле. По аналогии с одномерным случаем, когда мы выбирали одно-единственное предварительное значение тр,', теперь выберем вектор предварительных значений трт „ где / пробегает все целочисленные значения от 1 = 2 до 1 = I — 1, Этот вектор тр,'. а„ определенный на точках, расположенных непосредственно над границей В 1 на рис. 3.17, отличается от истинного значения ф,с на вектор единичной ошибки еца, т. е.
тр =тр', а+е, (ЗА03) 8.2.8. Метод расчета распространения вектора ошибки !97 При выбранном таким образом чр,', остальные предварительные значения во внутренних точках до ! = 7 включительно вычисляются при первом обходе при помощи преобразованного уравнения (3.365). Таким образом, при 6 = Лх/Лу получаем чР; г~,=ЛУт9с +2(1+6т)ф',. / — 6е~чР', ь,+ чР',, Д вЂ” ф', (3.404) В случае необходимости в уравнении (3.404) используются точные граничные значения чрь; на границе В 3 и чрп; на границе В 4.
Уравнение, описывающее распространение ошибки и соответствующее уравнению (3.393), имеет вид е, „,=2(1+6')ес,— 1Уе,.„,,— йтес ..— е.. и (3.405) причем на границах В 1, В 3 и В 4 значения ошибок равны ес, 1 — — еь с = еь т = О. (3. 406) После первого обхода, учитывая точные граничные значения фь и вычисляют вектор конечной ошибки на границе В 2: ес,=Фь,— Фь, (3.407) Затем определяют вектор начальной ошибки еь т через еь, при помощи предварительно установленного линейного соотношения (см.
ниже), Правильные значения чапе находятся из уравнения (3.403); затем при втором обходе расчетных точек из маршевого уравнения (3.404), заменив в нем чр' на чр, находят окончательное решение. Теперь для того, чтобы установить линейное соотношение между еьт и епо удобно ввести дополнительные обозначения для этих двух векторов, как показано на рис. 3.17.
Вектор конечной ошибки обозначим через Рс = еь,; здесь 1 = с — 1 пробегает все целочисленные значения от 1 = 1 до 1 = 1 — 2. Вектор начальной ошибки обозначим через Е = еь а, здесь пс = = с' — 1 также пробегает значения от сп = 1 до т = 7 — 2. Затем при помощи соотношения Рс =Сс,„Е вводится «матрица коэффициентов влияния» С = (Сс ), В отличие от одномерного случая для нахождения Сс не существует удобного уравнения. Эта матрица получается до решения конкретной задачи с помощью следующего алгоритма.
Выбирается некоторое частное значение т~ величины пт, полагается Е„,=е,+ьт=!, а для всех остальных пт принимается Е = О, Затем при помощи уравнений (3.405) и (3.406) рассчитывается распространение вектора ошибки Е. В результате !98 Згх Методы решения уравнений для функции тока получается вектор конечной ошибки Ег = ег, где 1 = ! — 1 пробегает значения от 1 до 1 — 2. Таким образом определяется столбец птг матрицы С: Сгт, = Ег (3.
409) Полагая Е,=1, а все остальные Е = 0 поочередно для всех гпы меняющихся от ! до l — 2, заполним всю матрицу коэффициентов влияния С. Чтобы выразить еья через еь „разрешим прн поморин метода исключения Гаусса уравнение (3.408) относительно Е , получим Ет = Стг Ег (3.410) и, наконец, определим — 1 ет+ь е=с.
гет+, ь (3.411) Такой метод в приложениях, очевидно, эффективнее прямого метода исключения Гаусса. Здесь исходная задача решения системы из (7 в 2) Х (Х вЂ” 2) уравнений с блочно-трехдиагональной матрицей сводится к решению ! — 2 уравнений ') для определения обратной матрицы С-' и при этом дополнительно проделывается работа, эквивалентная 1 итерациям по методу Ричардсона: два обхода расчетных точек для определения ар' и тр из уравнения (3.404) и г' — 2 обхода для определения е из уравнения (3.405).
Поскольку уравнение (3.405), описывающее распространение ошибки, не зависит от неоднородного члена ьг г и поскольку граничные условия (3.406) для этого уравнения не зависят от граничных значений тр, а только от типа граничных условий, являющихся в данном случае условиями Дирихле, расчет е при помощи уравнений (3.405) и (3.406) и обращение матрицы С необходимо проводить только один раз для целого семейства решений, определяемых на одной и той же сетке и прп одном и том же типе граничных условий, но с различными граничными значениями гр и различными Ь. Именно так обстоит дело в гидродинамических задачах.
Легко добиться того, чтобы рассмотренный метод сходился примерно в 1Π—; 100 раз (в зависимости от выбранного шага сетки и выбранного критерия сходимостн) быстрее других итерационных методов. Но этот метод обладает тем недостатком, что требует существенно большего объема памяти и по простоте не может конкурировать с методом последовательной верхней релаксации. Еше важнее то обстоятельство, что из-за свойств распространения ошибки метод применим только в областях ограниченных размеров. '! В нашем описании метода фигураруст обратная матрица С ', но известно, ито на практике удобнее пе вычислять С-', а непосредственно решать систему ураннений, оставляя треугольный внд системы н применяя Четод исключения Гаусса, Дяд.
Метод расчета распространения вектора ошибки 199 При достаточно больших 1 матрица С, очевидно, может стать плохо обусловленной, а это, как интуитивно ясно, приводит к тому, что трудно отличить ошибку в точке (1,2) от ошибок в точках (1-1-1,2), н может послужить источником любой ошибки при ! = 1. Но, как правило, применение метода на практике ограпп~швается не этим, а следующим обстоятельством. В отличие от линейного по ! рекуррентного соотношения (3.393) для распространения оптибки в одномерном случае н двумерном случае уравнение (3.405) дает величину Е;, (!с означает среднюю по 1 точку сетки), которая с ростом ! увеличивается экспоненциально.
Для больших значений 1 это означает, что применимость метода для нахождения ошибки при ! = 1 будет ограничена машинными ошибками округления. Такое поведение накладывает абсолютное ограничение на разрешающую способность метода даже при условии, что обращение матрицы С может быть выполнено с идеальной точностью.
Однако практически используются стандартные программы для метода исключения Гаусса, при помощи которых можно проводить расчеты с удвоенной точностью, уменьшая эту ошибку до пренебрежимо малой величины. Кроме того, детали конкретной задачи (т. е. значения тр н ь) также пе оказывают существенного влияния на распространение ошибки прн условии, что граничные значения для тр представлены в разумном масштабе '). Практически оценить ограничения для метода расчета распространения вектора ошибки можно путем численного решения уравнений (3.405) и (3.406) с единичными ошибками при ! Распространение ошибки в данном методе имеет также н некоторые положительные аспекты.
Наибольшая (и поэтому накладывающая наибольшее ограничение) ошибка возникает посередине сетки, поэтому необходимо рассматривать только Ег.. Кроме того, влияние различных граничных условий вдоль границ 1 = ! и г' = 1, параллельных направлению расчета, на значение в середине сетки пренебрежимо мало даже при столь малых !, как 1 = 7, поэтому размером по 1 можно пренебречь, а граничные условия на В 3 и В 4 рассматривать как параметры для распространения ошибки.
Наконец, существенное влияние оказывает отношение шагов сетки () = Лх/Лу, что может дать определенное преимущество. Малые (э оказывают на распространение ошибки неблагоприятное влияние, а большие р, напротив, положительное. (В пределе при больших () распространение ошибки приближается к соответствующему распростране- ') Ошибки от этих источников можно уменьшить, проводя дополнительное полное нтернрованне для метода в целом, на достигаемое прн этом улушпенне обычно меньше того, которое получается эа счет уменьшения ! на единицу. Кроме того, такая процедура расходится после второй нтерацнн.
200 8.2. )т1втодм решения уравнений для фуикнии тока нию ошибки в одномерном случае, которое просто линейно по У. Однако в этом случае точность ограничена нз-за плохой обусловленности матрицы С. Было обнаружено, что эта ошибка играет основную роль в задаче с сеткой 101 К 1О! прн В = 10.) Безразмерным расстоянием, представляющим практический интерес при определении применимости метода, является отно- 10 2 (ОР) СОС "' (ОР) СОС 172 (ВОР) О(ч (ОР) !ВМ 7090,(ОР) (Нч' 1 (5Р) СОС (5Р) СОС 7090,(5Р) О(1 1 (5Р) (ВМ 20 10 0 10 20 30 40 У/Ь х Рис.
8.18. Характеристики распространения ошибки а методе расчета распространения вектора ошибки, примененном дяя уравнения Пуассона в декартовоа системе координат (х, у). Здесь Р = 1К Р;„ Р = Ьх/Лу, шение У)бх (т, е. число шагов Лх, которое проходится в направлении у).