Главная  Журналы 

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

уравнения с тремя неизвестными вдоль линии, параллельной оси х, получим

(3,ф,. = й,ф, + , + с,ф, , для / = 2, L2, (5.47)

где ф,, ф- + I и ф, I соответствуют фр, ф- и ф,,/, а коэффициенты соотносятся следующим образом:

(3, = ар; й,. = ар-; с, = a, d, = а* + аф + b . (5.48)

Здесь ф* обозначает оценочное значение переменной. С учетом принятых способов аппроксимации граничных условий коэффициенты С2 и bi2 равны нулю. Система уравнений (5.47) имеет ту же форму, что и (2.56), поэтому может быть рещена алгоритмом прогонки. Для полноты приведем детали алгоритма.

Сначала рассчитаем новые коэффициенты Г, и из рекуррентных соотнощений:

для / = 2, L2. Так как С2 = О, то процесс начинается с задания любых значений Г, и g,. В заключение получим, что коэффициент L2 " "" L2 " - Значения ф, определяются при использовании формулы

Ф, = ЛФ,.1 + а (5-51)

в обратном порядке, т.е. для / = L2, L2-1, 2. При / = L2 значение Фь2+ 1 в формуле (5.51) не требуется, так как /l2 = О и, следовательно,

ФЬ2 = Ql2-

Метод переменных направлений состоит в том, что сначала прогонка применяется для всех линий, параллельных оси х, а затем повторяется для всех линий, параллельных оси у. Рассчитанные новые значения ф вдоль линии используются в качестве оценок ф* при рещении уравнений для соседней линии. Последовательность выбора линий может быть произвольной. В CONDUCT сначала рассматривается линия вдоль оси X сразу над нижней границей. Затем все параллельные ей линии перебираются снизу вверх до верхней границы и в обратном направлении. После этого применяется прогонка ко всем линиям вдоль оси у слева направо и обратно.

Этот алгоритм обеспечивает быстрое «проникновение» информации о граничных условиях во внутреннюю часть расчетной области. Сходимость метода переменных направлений достигается бьютрее при использовании схемы блочной коррекции, которая описывается далее.



Схема блочной коррекции. Представим схему, основанную на использовании дополнительной коррекции [12]. Конкретные детали схемы взяты из [7]. Выразим дискретный аналог (5.14) в виде

Ч.7 = Ч + I,; + СФ, + Ф,-, + еф, , +/

ДЛЯ / = 2, L2 иу = 2, М2, (5.52)

где индексы i,j у коэффициентов а, Ь, с, d, е и/опущены для удобства. Для приграничных контрольных объемов

*L2,, = 0,C2,, = 0,C/, М2 = 0,С;,2 = 0- (5-53)

Основная идея схемы блочной коррекции заключается в том, что несощедшиеся значения ф с предыдущей итерации корректируются добавлением поправки ф,, постоянной вдоль линии с одним и тем же /. Следовательно,

Поправка ф, выбирается таким образом, чтобы в точности выполнялся интегральный закон сохранения во всем блоке, образованном контрольными объемами, содержащими линию с постоянным /.

Уравнение для ф, получается подстановкой (5.54) в (5.52) и суммированием таких уравнений по всем j. В результате получаем

BL(I) ф, = ВЪР(1) ф, + 1 -l-BLM(I) Ф/-1 -t-BLC(I) , (5.55)

BL(I) "{a-d-e); (5.56)

BLP(I)=i; (5.57)

BLM(I) = c; (5.58)

BLC (I) = Х(*Ф. i,y + Ф- i.y + <7> I + <j- 1 +/-<y) • (5-59) В этих выражениях суммирование проводится по j = 2, М2. Система уравнений (5.55), записанных для / = 2, L2, может быть рещена с помощью алгоритма прогонки. Так как из (5.53) следует,

4ToBLM(2) hBLP(L2) будут нулевыми, то граничные значения ф]

и фь2+1 не потребуются.

Следует заметить, что BLC (I) представляет собой суммарную невязку блока, содержащего линию с постоянным /. Поправки ф,

обращают все интегральные невязки в нуль. Другими словами, когда проводится блочная коррекция, то для скорректированного поля ф в



каждом блоке выполняется закон сохранения (энергии, массы, момента и др.). Приведенное описание относится к блочной коррекции вдоль линий с постоянным /. Точно такая же процедура выполняется и для линий с постоянным j.

Хотя схема блочной коррекции обычно существенно ускоряет сходимость, иногда она может приводить к нереальным рещениям и даже к расходимости. Причина заключается в том, что коррекции, проведенные в соответствии с (5.54), довольно грубы. Если поле ф*

сильно неравномерное, то постоянные поправки ф,, хотя и корректируют значения в среднем, но могут привести к таким локальным значениям, которые лежат вне разумного диапазона ф. Из-за возможности подобного поведения схемы блочной коррекции в CONDUCT предусмотрено ее отключение. Для этой цели используется индикатор KBLOC (NF). Когда KBLOC (NF) равен нулю, то блочная коррекция не осуществляется. Значения, задаваемые KBLOC (NF) по умолчанию, равны единице.

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

Алгоритм решения реализован в подпрограмме SOLVE. Он состоит из блочной коррекции для направлений по / и noj и следующих за ней четырех проходов методом переменных направлений. Этот полный набор операций повторяется много раз. Число повторов определяется двумя переменными NTIMES(NF) и CRIT(NF), которые задаются пользователем для каждого NF. Переменная NTIMES (NF) определяет лшк-смл/а,7ьно допустимое число повторов. Всегда делается как минимум один проход по всему алгоритму решения. Переменная CRIT (NF) определяет фактическое число повторов алгоритма. Когда локальная относительная погрешность е везде станет меньше или равной CRIT(NF), итерации прерываются. Локальная относительная погрешность определяется как

е = RES/TERM, (5.60)

где RES - невязка дискретного аналога,

RES = biSfU \j + сФ,*- uj + Фл/> I + Kj- I +/- "Kj (5-61) TERM - наибольший из членов дискретного аналога.

По умолчанию переменные NTIMES (NF) hCRIT(NF) равны 10 и 1.Е-5 соответственно. Оптимальные значения NTIMES и CRIT зависят от конкретной задачи, поэтому ниже приводятся лишь некоторые общие рекомендации.

Для получения полной сходимости нужно задать значение NTIMES очень большим, а значение CRIT очень маленьким. Однако для практических целей редко приходится использовать значения





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