Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Течения газа около тупых тел. Метод расчета и анализ течений А. Н. Любимов, В. В. Русанов

.pdf
Скачиваний:
22
Добавлен:
12.11.2023
Размер:
14.64 Mб
Скачать

от аналитических результатов, а проведение серийных расчетов — и о классах тече­ ний. При этом использование аналитических закономерностей, как и вообще теоре­ тических результатов, в численных исследованиях всегда существенно повышает их эффективность. В частности, значение структуры течений необходимо не только с точки зрения их анализа, но для разработки новых, более эффективных методов расчета.

4.Расчет ударной волны. Расчет формы ударной волны является весьма сущест­

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

Имея в виду сказанное, исследуем структуру разностного уравнения для функции Р и свойства его предельного стационарного решения. Рассмотрим сначала случай плоского или осесимметричного течения, когда зависимость от 0 отсутствует и урав­

нение (4.3) для Р имеет вид:

 

 

Рг = -

( X 1 ^ , Е, Р ^ Х„).

(8.52)

Если предположить известной зависимость Х|==1 от ц, I, то из (8.52) получим диффе­ ренциальное уравнение для Р:

(8.53)

которое при 1 -+ оо переходит в стационарное уравнение для предельного решения ^(Л):

 

Ф (^\ Р-п, Л) = 0.

(8.54)

Строго говоря, переход от

(8.52) к (8.53) незаконен,

так как система (4.1) — (4.3)

не допускает расщепления

на две назависимые группы уравнений для X и для Р.

Однако рассмотрение (8.53) как независимого уравнения нужно нам здесь лишь для упрощения рассуждений и не имеет принципиального значения.

Из общей разностной схемы, описанной в § 5, вытекает разностная схема для

(8.53):

рпмп!) = Р1 + Х {аФ Га') + т у ,

 

 

(8.55а)

ФП+0) = Ф (П +М,

Р " $ \ Ль <п+№), * = 0,1, . , К ,

« + р = 1. (8.556)

Для того чтобы (8.55) имело смысл, необходимо определить выражения производных

Р г ^ 1} при всех

Л: = 0, 1,..., К

через значения функции

Простейшим выра­

жением при к =

1, 2,..., #

— 1

является разностное отношение

 

 

где к — шаг сетки по ц.

Р $ Р =

(2А)"1 ( « >

-

^ $ й),

 

^(8.56а)

 

 

 

 

 

 

 

 

При к = К запишем одностороннее разностное отношение

 

 

 

 

К к =

А-1 ( Р к и) -

Р к $ ).

 

 

(8.566)

Если течение симметрично

относительно оси

л = 0»

соответствующей

к = 0, то

Р -1 = ?! и

 

=

(2КГ1 (Р"4? -

Р-1Ф) =

0.

 

(8.56в)

 

 

 

Если течение несимметрично и к = О соответствует нижней границе области ©

то формула для производной будет аналогична (8.156):

*

т » = /Г1 дет® - Рот ).

(8.56г)

Очевидно, (8.55) и (8.56) полностью определяют правило вычисления

и

/^ +1=

 

Уравнение для предельного стационарного решения разностных уравнений по­

лучим, если в (8.14) положим Р%+® = Р% = Рк и функцию Ф заменим функцией Ф

Ф (^ , Р*,ъ тЫ = 0,

(8.57)

где Рц%ъ определены формулами (8.56).

Опыт расчетов по схеме (8.55) показал, что решение разностного уравнения (8.57) отличается от точного решения уравнения (8.54) на знакопеременную величину Ск(—1)й, Съ > 0. Величина коэффициентов Скиногда оказывается довольно большой, что приводит к нарушению гладкости волны и к значительным колебаниям газодина­ мических функций во всей области течения.

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

аи'11+ Ъю = 0

(8.58)

с помощью схемы (8.55).

имеет вид ш = ше”2™, где

Пусть IV |^=.0 = со, тогда точное решение (8.17)

= —6/а. Записав для (8.58) разностное уравнение (8.57) с учетом граничного усло­ вия, получим

 

 

 

щ =

со,

 

 

 

(8.59а)

ащ +1 4- 2Ыгщ а г и = 0,

 

/с =

1, 2, . ..,

X — 1,

(8.596)

 

 

+ Ък) IVк сш>к-1 = 0.

 

 

(8.59в)

Общее решение (8.596) имеет вид

 

 

 

 

 

 

 

Щ =

(?121 + (?222»

 

 

 

 

 

 

где

 

 

 

 

 

 

 

 

 

хх =

-

2ук + '

/ 1

+

4г2/г2 =

1 -

2ук + О (Ла),

 

*2 =

-

2г /г -

1/1

+

4г*А* =

-

(1 +

2ук) + О (к*).

 

Коэффициенты (2г и 2 определяются

из уравнений (8.59а), (8.59в). Вьшолнив вык­

ладки, получим:

 

 

 

 

 

 

 

 

 

где

Щ ==: 03(1 + (?)

1 (2? + (2я»))

 

 

 

 

 

 

 

 

 

 

 

(1 + 2тЛ)21—1

 

 

( - 1 )КЧ*к* + 0 (к*)а

 

(1 + 2тк) 22—1 [

)

 

 

 

 

 

 

 

 

Нетрудно показать, что при к -> 0 решение разностного уравнения сходится к реше­ нию дифференциального. Однако при каждом конечном к в решении щ присутствует

знакопеременное слагаемое вида ()24* ^ (—1)* О (1 + 2ук)к, величина которо­ го при конечном к может оказаться довольно значительной. Если бы корень был равен —1, то избавиться от этого слагаемого не представляло бы труда с помощью усреднения по индексу к:

(Щ)с? = (м-’к-х + + и*-!)/4- (8-60)

Бели же %2 Ф —1, то усреднение не приводит к полному исчезновению колебаний, а*, лишь несколько гасит их. В случае нелинейного уравнения оно не дает сколько-ни­ будь существенного эффекта, тем более что усреднять приходится не только Р, но и X, что сильно усложняет алгоритм.

Значительно более эффективным является видоизменение разностной схемы та­ ким образом, чтобы корень (в линейном случае) стал равен точно —1. Для этого дос­

таточно включить усреднение в саму разностную схему, а именно в (8.556) вместо Р ^ д) подставлять значения, усредненные по формуле (8.60). Отмечая неусредненные ве­

личины знаком

получим вместо (8.55):

 

 

 

^

=

?* + Г {«ФГ <Л +

РФ*},

(8.61)

 

фГ (Я = ф <д а ,

р ?,Ч \

*п+ш).

 

 

рп-нп =

(^П+О) +

2рп,(п +

^«+(Л)/4)

й =* 1, 2........К - 1, (8.62а)

 

Р ^

=

гаРо*и) + (1 -

го) Р ? 0\

г(8.626)

 

Р к Ф =

гкР к Ф +

(1 -

гк) ?№ ■

(8.62в)

Величины г0 и гк

суть некоторые параметры, значения которых зависят от типа гра­

ничных условий. Производные Р ^ ^

вычисляются по-прежнему по формулам (8.55)

через неусредненные величины, например:

 

 

 

=

(2кг1( №

-

д

а ) .

к =

1. 2 , . . . . К - 1.

Для предельного стационарного решения разностных уравнений снова получает­ ся уравнение (8.57) с соответствующими граничными условиями, однако Р%определе­ ны теперь формулами (8.62). Исследуем поведение предельного решения опять на при­ мере уравнения (8.58) с граничным условием и;0 = со. Выражая щ и со^ц через щ,. получим линейную систему:

 

 

Щ = Г0щ + (1 — Го) гох= (О,

(2д —|—Ък)

-{- 2Ыьу)\ — (2л

Ък)

==0,

+ Ькгх) гок — (я — Ък + Ъкгк) у>к 0.

Решая ее аналогично (8.59), получим

 

 

 

 

где

 

=

(?1г1 +

<?2Я2,

 

 

 

 

 

 

 

 

=

(1 — гй) (1 +

Г&Г1,

^2 =

— 1,

 

Л

 

1 + тЛ

 

 

 

^ =

[1+(2го-1)Т*] [1 + (2г0- 1 ) <?] ®*

(8>63)

=

1 + (2г?-1)У

 

 

 

 

(-1)*2* -У л2

(? = (2Гк -

1) [1 + (2г0 - 1 ) ТЛ] [1 + (2гк - 1) Тй] *

Из (8.63) следует, что щ при

й->* 0 сходится к решению уравнения (8.58) и при

каждом конечном к содержит член вида (?2 (—1)*» если только Гк ф х/2*При гк =

= 1/2

(}2 = 0 п знакопеременное слагаемое отсутствует. Ниже мы увидим, что не всег­

да оказывается возможным полагать гк =

1/г« Но и при г% Ф г/2 от знакоперемен­

ного

слагаемого легко избавиться

путем

усреднения:

 

у)н= (г^+1 + 2юк + гок-1)!^ =

(2г (21+1 + 2г{ + г*"1) = (1 — Г2А2)“1^ .

В отличие от схемы (8.59) усреднение полностью гасит паразитическое решение.

Разностная схема (8.61) имеет стационарное решение вида @2 (—1)к не только в случае уравнения с постоянными коэффициентами, но и в случае линейного урав­ нения вида (8.58) с коэффициентами, зависящими от г\. В самом деле, рааностная схе­ ма выглядит тогда так:

 

Ю*+1- Л —1 , ь ^+1 + 2^ +**-!

 

(8.64)

 

а*----2Н--------Ъ*------------- 4---------- =

• О

 

 

где

ак = а (т|к), Ьк = Ь (%). Очевидно,

уравнению

(8.64)

удовлетворяет значение

щ =

(—1)к. Величина коэффициента

(?2 зависит

от записи граничных условий

или уравнения на концах интервала [т]0, т)#].

Как было показано, подходящим выбором параметров схемы иногда можно до­ биться, чтобы (32 обратилось в нуль. К сожалению, не удается указать общего способа выбора параметров схемы, обеспечивающего равенство (?2 = 0 для любого линейного уравнения, а тем более для нелинейного уравнения (8.54). Поэтому в общем случае

необходимо проводить усреднение, считая значения У к предварительными, а — окончательными, аппроксимирующими значения функции Р (ц, I) в точках сетки, как и сделано в расчетном алгоритме (см. § 5).

Заметим, что при применении усреднения вместе с уничтожением паразитическо­ го слагаемого происходит усреднение и основного решения, в результате чего полу­ ченные значения Рк уже не удовлетворяют исходным разностным уравнениям. Для

нелинейного уравнения Рк вообще нельзя разложить на сумму основного и парази­

тического решений и усреднение лишь означает линейное преобразование Рк в Рк, которые затем объявляются основными. Естественно возникает вопрос о законности такого подхода. Можно ли считать значения Рк основными, исходными для построе­ ния разностной схемы и какой именно схемы?

Наиболее простой и естественный ответ на него состоит в том, что Ркможно считать основными тогда, когда существует однозначное обратное преобразование Рк в Рк.

Всамом деле, тогда достаточно усреднить уравнения (8.61) по к и выразить входящие

вних Рн<через Рк, чтобы получить искомую разностную схему для величин Рк^ ‘\

Существование обратного преобразования Рк в Рк эквивалентно условию одно­

значной разрешимости (8.62) относительно Рк. Чтобы найти это условие, рассмотрим однородную систему, положив Рк = 0, и выясним, когда (8.62) имеет единственное

нулевое решение. Из (8.62а) получаем, что

Рк =

(—1)* (С±к +

С2). Подставляя это

выражение в (8.626) и (8.62в), получим систему для С1? С2:

 

 

(1 -

г0) Сг -

(2г0 -

1) С2 =

0,

(8.65)

{(2г* - 1) К + (1 -

гК)} Сг +

(2гк -

1) С2=

0.

 

Отличие от нуля определителя системы (8.65) и есть искомое условие существования обратного преобразования Рк в Рк:

(2г0 - 1) (2гК - 1) К +

(1 - г0) (2г* - 1) + (1 - гк) (2г0 - 1) ф 0.

(8.66)

Допустимыми значениями г0

игк , входящих в (8.626), (8.62в), являются только те,

которые удовлетворяют условию (8.66). Рассмотрим сначала симметричный случай, и пусть г\0 = 0. Тогда формула (8.62а), написанная для к = 0 с учетом Р_х =

переходит в ^ 0Н(,)= (^ 1+^ + ^о+(5))/2, т. е. (8.626) при г0 = 1/2. Тогда левая часть (8.66) равна (2г/с — 1)/2 и гк не должно быть равно 1/а- Экспериментальные расчеты пока­ зали, что это действительно так и в предельной форме волны при гк = V* в ряде слу­ чаев возникают нерегулярные колебания, не исчезающие после усреднения. В ре­ зультате численных экспериментов было найдено, что наивыгоднейшим значением является гк — 1.

В несимметричном случае целесообразно выбрать г0 и гк равными единице.

Большое количество выполненных расчетов подтвердило правильность резуль­ татов исследования модельных задач и для общего нелинейного случая.

Заметим, что принципиально не представляет труда фактически исключить Рк из разностной схемы, в результате чего в (8.61) изменятся только формулы аппрокси­ мации производных Р^, которые будут содержать все Рк. Приведем для иллюстрации некоторые из этих формул для К = 10 и г0 = гх. = 1:

/ \ * =

щ { - 1 9 /? 0 +

З б Л -3 2 ^ ,+ 2 8 Ра-2 Ь Р 4+20Р5- 1 6 Р 6+12Ру- 8 Р в+ЬР9- Р 1О},

^ , з =

ш Л ~ Р » + 4/?1 - 8Р* - 8Р>+

24Р, - 20Ръ + 16Л -

12^7 + 8РЪ- Ь Р ,+ Р Ы}

= Ш { - Р°+ 4^

~ 8Р*+ 12^з -

16^4 + 0 .^ 5 + 16*в ~

12^7 + 8Р* - 4^,+Ло}.

Таким образом, введение усреднения фактически приводит к записи производных вдоль ;ударной волны по всем точкам сетки в интервале [г)0, %]. Очевидно, однако, что пря­ мое применение формул (8.67) значительно менее удобно, чем расчет по схеме с усред­

нением.

 

 

 

 

 

 

 

 

 

 

На фиг. 8.4 приведены графики Р (пунктир) и Р (сплошная линия) для одного из

шариантов расчета осесимметричного обтекания тупого тела.

 

 

Рассмотрим теперь расчет волны в полной схеме пространственного обтекания.

.На первый взгляд,

необходимо

проводить усреднение функции Рк± как по индексу

А, так и по индексу I, соответствующему координате 0. Однако в силу периодичности

Р по 0 оказывается не всегда возможным построить схему усреднения по I так, чтобы,

*с одной стороны, все точки кольца были в ней равноправными, а с

другой, чтобы

шыполнялось условие обратимости преобразования Р

Р. В самом деле, пусть

Рн,1 = \

М+1 +

27^,1 +

Рк'1^),

I =

0, 1, . . ., I/,

Рь+г = Рг.

"Полагая Ркг1 =

0, получим для Рк$г систему

 

 

 

 

Рк,1+1+ 2 Рк)1

Р

=

0

Р[±ь = Р{,

I = 0,

1, . .

I/,

^откуда

 

 

 

 

 

 

 

 

 

 

 

 

 

Рк,г =

(—!■)* (Ок0 +

Ск11)

 

 

С к0, Ск1 удовлетворяют уравнениям

 

 

 

 

 

 

[1 -

(~ 1 )Ь1Ско +

ЬСк1 =

0,

[1 -

(-1)*] Ск1 =0.

(8.68)

Из (8.68) следует, что преобразование Р

Р обратимо при Ь нечетном и необратимо

при Ь четном. При расчете тел с плоскостью симметрии естественно выбирать Ь чет­

ным и усреднение по I не проводить.

_

Рассмотрим теперь усреднение по к с учетом того, что при к = 0 все значения

Р0%г равны

между собой. По аналогии с двумерным случаем запишем формулы ус­

реднения

в виде

 

 

 

Р н,1 = ± ( ? к-1,1 + 2Р}!,1+ Г н+1,1),

к = 1 , 2 , . . . , К - 1 ,

(8.69а)

 

Рк,1 = Рк,и

ь

(8.696)

 

 

 

(8.69в)

1 = 1

лгричем РоЛ = Р0>0, 1 = 0, 1,2, ..., Ь .

 

 

 

Фпг. 8.4

 

 

Покажем,

что (8.69) обратимо.

Если

Ркл =

0, то из (8.69а) получаем Р ^ =

= (— 1)Л[С0|( +

Си к\, и далее, используя (8.696),

(8.69в),

Р кл =

(—1)к [С0,1 + С1ш{К] = 0,

/„.о = С0,, =

С,

 

 

 

\ -

ь

 

Л-1) с) = (2Л)"1 С = О,

Ръ, I =

(-1)* (1 - АЛ"1) С,

Ь-12

(1 -

 

 

 

 

1=1

 

 

откуда С =

0, что и требовалось доказать.

 

 

 

§ 9. Вопросы рсалпсации алгоритма на вычислительной машине

1. Автоматическое управление процессом решения задачи. Алгоритм расчета обтекания тупого тела, арифметическая часть которого описана в § 5, включает в. себя также ряд логических операций контроля и управления. Необходимость автома­ тизации этих операций при решении задачи на ЭВМ очевидна, если иметь в виду вы­ полнение серийных расчетов ряда вариантов. В противном случае расчет каждого ва­ рианта становится самостоятельной сложной задачей, так как требует непрерывного участия квалифицированного специалиста и большого количества календарного вре­ мени, а расчет серии вариантов делается практически невыполнимым. Возможность, автоматизации операций контроля и управления в значительной степени зависит ог возможности их алгоритмизации, в частности от того, насколько четко и полно ука­ заны условия, обеспечивающие корректность процесса решения для класса задач. В этом смысле хорошо обоснованные теоретически методы, к которым принадлежит" метод конечных разностей, имеют преимущество перед менее изученными теоретиче-

ки,

условия применимости

которых приходится выяснять эмпирически,

методом

«проб и ошибок» с затратой большого количества времени.

 

ной

Ниже кратко описываются функции основных блоков программы, предназначен­

для

контроля

и управления расчетом стационарного течения около

тупого*

тела.

 

шага по

времени.

Нелинейность задачи не позволяет

заранее

 

1) Блок выбора

указать

величину

в формуле (6.64),

которая определяет максимально допустимое

значение шага тп. Применение завышенных оценок для А 2 нежелательно,. так как

это приводит к излишнему уменьшению тЛ и увеличению времени счета. Поэтому шаг тп+1 для расчета (п + 1)-го слоя определяется в процессе решения задачи по фор­ муле (6.64), в которой величина Л2 вычисляется на (п — 1)-м слое:

тп+1/=

9т (521/<?)1/(5"1) [ЛГ1]-,/(,-1)Л2.

(9.1)

Подставляя, согласно формуле (6.59), ц = 5, () = 0,25, получим

 

т”+1 =

1.41б?яв (АГ1)"1,35**.

(9.2)

Отнесение Л2 на один слой назад позволяет вычислять Л27~1 одновременно с расчетом 71-го слоя и исключает необходимость специального просмотра тг-го слоя для нахож­ дения максимума А2. Величина у- <1 1 обеспечивает некоторый запас устойчивости и исключает случайное увеличение тп сверх допустимого значения вследствие сме­

щения Л””1 или численных погрешностей. Практически для этого достаточно полагать у- ^ 0.95 -г- 0.96. Эксперимент показывает, что (9.2) в некоторых случаях дает зани­ женные значения тп+1, так что иногда расчет с ух даже несколько большим единицы оказывается сходящимся (см. также стр. 98).

В результате работы блока выбора шага величина тЛ+1 определяется перед нача­ лом счета (п + 1)-го слоя и используется для расчета и остальных величин, зави­ сящих от т.

2) Блок проверки условия на свободной границе. Как показано в § 4, для коррект­ ности решения задачи необходимо, чтобы при ц = Н всегда выполнялось условие (4.34), обеспечивающее пространственный тип этой границы. Нарушение условия мо­ жет возникнуть в процессе решения задачи, например, вследствие расширения дозву­ ковой области. В этом случае необходимо расширить область ©, увеличив Н и пере­ местив границу вниз по течению. В блоке проверки условия (4.34) в процессе счета

слоя на каждом кольце г\ =

вычисляется величина

 

 

V» = т ш {| Т|2и +

Т1г1>+ г"1^

| —с

+

т)* + г“аГ1*>т . ,

(9.3)

171,1

 

 

 

 

 

и определяется номер /с*, начиная с которого при к ^

к* выполняется неравенство

V? }> 0. Если оказывается, что К к* <

Д/с, где Ак — заданное целое положитель­

ное число, то область © расширяется на один шаг по т], т. е. устанавливается новая граница Н ' = Н + Ат). Величины X и Р экстраполируются на кольцо г\ = Н' ли­ нейно, по последним двум кольцам. Положительное число Д к введено для того, чтобы иметь возможность в окончательном результате отбросить последние кольца, где точ­ ность расчета несколько ниже из-за экстраполяции при счете последнего кольца (см. § 5 п.4), а также чтобы гарантировать выполнение условия (4.34) при случайных ко­ лебаниях функций в процессе установления. В случае необходимости в алгоритм может быть включено сокращение области @, когда разность К * превосходит заданное число.

3) Б лок контроля устойчивости прогонки. Аналогично условию (4.34) в каждой

точке производится вычисление величин и XI, для которых должны быть выполне­ ны неравенства (7.40). На каждом слое вычисляются максимальные и минимальные значения для которых и проверяется (7.40). Так как неравенство (7.40а) практи­ чески никогда не нарушается, то для экономии времени его проверка обычно отклю­ чается. В случае нарушения (7.406) выдается информация об этом и счет может быть либо прекращен, либо продолжен с другой функцией ф (см. § 3), в зависимости от инструкции, введенной в программу.

4) Блок управления процессом установления. Решение задачи методом установ­

ления сводится к последовательному вычислению векторов Х п при неизменных зна­ чениях параметров, определяющих внешний поток и форму тела. В процессе расчета

регулярно проводится сравнение значений Х п и Х п~п°в некоторой норме и проверяется выполнение условия:

шах {(*” - « Т 11|Х п - Х п~п°||, N 0} < еуст,

(9.4)

где и0> 0 и еуст— заданные величины. Как только (9.4) оказывается выполненным для заданного числа тгх последовательных значений л, т. е. п + 1, п + 2, п + 3, ...

..., п + ^1, процесс установления считается законченным и значение Х п*пгпринимает­ ся за окончательное значение X .

Норма разности определяется следующим образом:

|Г , - Г -"»||= тах {Л^ ;})

(9.5)

N 0 = |и00|~1т а х |# к >,[,

1сг1

где [Х^ ^ — *-я компонента вектора Х ^ х и а б '1 — максимальное представимое в

машине число. Опыт проведения расчетов показал, что практически достаточно брать п0 = 1, уменьшая соответственно е уСт, и проводить проверку условия (9.4) на каж­ дом шаге.

При решении задач методом установления существенным является то, насколько начальные данные отличаются от искомого решения. Точнее, пусть и 3°к — набор параметров, определяющих граничные условия для начального вектора Х° и искомо­

го X. В З5 входит следующий набор величин:

= {р<»,

рос, и«, а, 'ф, о , О}.

и 5*к

Наиболее благоприятным случаем является такой,

когда значения

•близки между собой. Однако понятно, что практически такая ситуация далеко не

всегда имеет место. Часто оказывается, что для решения задачи

с параметрами 3*к

мы располагаем исходными данными, соответствующими набору

довольно силь­

но отличающемуся от З5. В этом случае переход от

к

целесообразно произво­

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

гая З5 (0 = ё (I) 3йн + 11 — 8 (*)]^к, где ё (*н) = 1 и # (*) = О при I > *к.

Режим перехода от 3йн к Зьк естественно назвать режимом вывода на заданные значения 3&к, в процессе которого получается только весьма грубое приближение к искомому решению, после чего производится окончательное установление. Выбор функции $ (г) можно осуществлять различными способами, например полагая в (I) =

= ехр[—ос (2—*н)]при I > *к и # (*) =

0

при I >

гк.

Более

удобно

формировать

§ (*)

в

процессе вывода

как

ступенчатую

кусочно-постоянную

функцию,

выбирая интервалы постоянства и значения § (I) в них в соответствии

со скоростью

вывода.

Практически

это

означает, что

переход

 

от Зэн к 3>к

производится

через последовательность 3^,

не зависящих от I и достаточно близких между собой:

3&(I) =

3&7 = в#** +

(1 — 8;)3>к при

1} <: I ^

1^1л причем

значения

Ц заранее

не указаны, а для каждого

производится процесс установления с использованием

в качестве начальных данных уже полученного для 3

решения. Установление для

лромежуточных значений 3*^ производится

по условию (9.4) с константой

евыв >

буст» т*е- 0 меньшей точностью. В качестве чисел

 

удобно брать степени некото­

рого числа у «< 1, в] =

уК Блок управления выходом на стационарное решение реа­

лизует автоматическое выполнение всего алгоритма,

начиная от задания З^н,

Х°,

Р° и кончая получением ХжР%соответствующих 3*к.

 

 

© даже при сравни­

2.

Обработка результатов расчета.

В трехмерной области

тельно крупной сетке содержится несколько тысяч расчетных точек. Так как каждой точке соответствует пять значений компонент вектора X (и, г;, ш, р, р), то общее коли­ чество чисел, описывающих течение в трехмерной области, может достигать нескольких десятков тысяч. Очевидно, что исследование и обозримое представление этой инфор­ мации невозможно без специального алгоритма обработки. Хорошо организованная система обработки дает возможность свести до минимума потери информации, опе­ ративно проводить техническую и методическую отладку алгоритма на ЭВМ, авто­ матически управлять процессом решения и контролировать его точность и, наконец, «с максимальной полнотой и эффективностью изучать физические свойства многомер­

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

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

1) Блок интерполяции. Результат численного решения задачи обтекания пред­ ставляет собой совокупность значений Х т^1 и Р ^гв точках дискретной сетки. Для возможности анализа течения необходимо прежде всего иметь однозначный алгоритм восстановления значений этих функций во всех точках области @. Эта задача ре­ шается в блоке интерполяции, который является основным блоком программы обра­ ботки. Вычисление значений X или Р в любой точке (^, ц, 0) области © производится

путем последовательной интерполяции многочленами третьей степени по

каждой

из трех переменных. Например, если т0к±<:

(т0 +

1)/^, к0Н2<

ц <

(/с0 + 1)/г2,

10к3< ®< (/0 +

1)^з>

то

сначала

интерполируются

значения

X

(^,

г|ь 0г)

для к = к0 — 1,

&0, к0 +

1, к0 +

2 и

1 =

10 — 1, 10, 10 + 1, 10 +

2 по значениям

Х т^ г при т = т0 — 1,

т0, т0 +

1, т0 + 2, затем значения X (|, ц, 0/) и, наконец,

искомое значение X (^, ц,

0). Для точек, близких к границам, и на границах изменяют­

ся лишь номера точек сетки, по которым производится интерполяция. Интерполяция

Рвыполняется аналогично. Алгоритм одномерной интерполяции реализован в блоке

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

2)Б лок вычисления координат. В этом блоке производится вычисление цилиндри­

ческих координат 2, г, ср по заданным расчетным

т], 0, а также обратно. Прямое вы­

числение производится

по формулам (3.14), обратное — по тем же формулам,

но-

рассматриваемым как

уравнения относительно

|, г|, 0 при заданных я, г,

ф.

В зависимости от формы задания функций (?, ю,

алгоритм вычисления координат

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

горитма обработки

не имеет существенного значения, так как машинное время, зат­

рачиваемое на обработку результатов

расчета, во

много раз

меньше времени,

затраченного на их получение. Помимо

координат, в

блоке

могут вычисляться

производные | 2,

и т. д. по формулам (3.21) и производные 2$, 2Яи т. д. по формулам,,

полученным путем

прямого дифференцирования (3.14). Производные Р при этом

вычисляются в точках сетки и затем интерполируются.

 

 

3) Блок вычисления функций. Этот блок объединяет в себе совокупность процедур,

каждая из которых осуществляет вычисление некоторой функции / (X , Р,

т), 0)

по заданным аргументам. Число процедур никак не фиксировано и может быть лю­ бым, в зависимости от задания. Совместно с блоками 1) и 2) блок 3) позволяет вычислятьлюбую газодинамическую величину в любой точке течения.

4) Блок вычисления координат изоповерхностей функции. Пусть / = / (X) — некоторая заданная функция газодинамических величин и /* — некоторое ее значе­ ние. Совокупность точек (^, т], 0), в которых / (X) = /*, будем называть изоповерхностыо функции /. Исследование изоповерхностей и их сечений различными плоскос­ тями (изолинии) существенно облегчает и упрощает качественное и количественноеизучение течений. В рассматриваемом блоке проводится вычисление координат точек пересечения заданных изоповерхностей с координатными линиями г\ и 0. Для этого-

находятся

корни уравнения / (X (!;, ц, 0)) = /* относительно одной из координат,,

например

в то время как другие фиксированы. Сначала координаты точек пересе­

чения определяются грубо, путем обратной линейной интерполяции по ^ на нуле­ вые значения величины / (ХтМ) — /* при фиксированных к и I, а затем уточняются с помощью итерационного процесса типа метода хорд.

Блок 4) состоит в основном из логических и управляющих операторов, использую­ щих в качестве арифметических подпрограмм первые три блока.

5)Блок перехода к новой системе. Предполагается, что переход от (|, т), 0) к какой-нибудь другой системе координат (дг, д2, д3) описывается аналитическими фор­ мулами. Требуется вычислить значения X, Р в точках равномерной сетки в координа­

тах дъ #2, #3. В блоке 5) вычисляются координаты (!*, ц, 0) этих точек, после чего ра­ ботает блок 1). В частном случае координатами д19д21 д3 могут быть цилиндрические или декартовы координаты.

6)Блок вычисления экстремальных значений. Вычисляется значение максимума или минимума заданной функции вдоль некоторой кривой, заданной параметрически. На кривой выбирается последовательность точек, соответствующая некоторой после­ довательности значений параметра. После определения интервала, в котором лежит точка экстремума, ее координата $тах и значение экстремума определяются с по­

мощью интерполяционного многочлена второй или третьей степени (от параметра з).

7) Блок интегрирования системы обыкновенных уравнений. Система обыкновенных уравнений вида 62/63= /^ дг/дз= /2, ду/дз = /3, где Д — функции 2, г,фи X , интегри­ руется методом Рунге — Кутта или методом Эйлера второго порядка. Этот блок применяется для построения линий тока, характеристик и других кривых, опреде­ ляемых дифференциальными уравнениями. Для вычисления значений правых час­

тей используются

блоки 1), 2), 3).

В заключение

заметим, что объем управляющей части основной расчетной

программы, как правило, сравним с объемом арифметической части, а объем про­ граммы обработки может в несколько раз превышать его. При эюм для програм­ мы обработки основное значение имеет ее универсальность, а время работы имеет второстепенное значение, так как оно обычно в десятки раз меньше, чем время расчета варианта. С другой стороны, для арифметической части программы ос­ новное значение имеет скорость ее работы, а для управляющей части — обеспече­ ние эффективности использования вычислительной машины.

Исходя из сказанного, целесообразно при написании управляющих блоков основной программы п блоков программы обработки использовать алгоритмичес­ кие языки высокого уровня, типа АЛГОЛ, а арифметическую часть основной программы писать на языке, близком к машинному, типа автокода. В результатетакого комбинированного использования систем программирования время написа­ ния и отладки эффективной и быстроработающей программы существенно сокра­ щается.

Соседние файлы в папке книги