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

modeling_2008

.pdf
Скачиваний:
69
Добавлен:
06.03.2016
Размер:
3.19 Mб
Скачать

//iflse(первичныеix <= NX /переменные2) { p = 2100000. , rho = 12.0; }

en ode (U[ ix , rho , u, p );

} //

консервативные переменные

//==for (nцикл= 1;шаговn <=расчетаN; n ++)по{ времени

//errвывод<< nномера<<

текущего шага

 

 

 

’ \n ’ ;

 

 

 

 

 

 

 

 

 

 

;;

 

 

 

 

 

 

 

 

 

 

 

 

[210210

 

 

 

 

 

1 [

 

 

 

0

=

-

U[NX

 

 

 

 

1

 

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

U[NX +10 [2

 

//

граничные

//forfluxрасчет(ix fun(=плотностей0;U[ ,<=U[NXixпотоков;+1ix,++)F[ix );

} //forforоU[(бноix(ixkвление=[=k1;0; ix+=параметровk dt<=3;*NX(F[k; ++)ix++)ixв -1ячейках[k - поF[ ixпотокам[k ) / dx;

//fordeвыводout(odeix =(U[ч1;иixслеixн,ноrhodx<=го ,*NXрешенияu(ix;, ixp);++)- 0в.{5)ячейках<<

p

 

 

 

 

<< fixed << u

<<

 

fixed

<< rho << ’ ’

}

 

<< endl ;

 

 

 

 

251

}{inlinereturndoublevoid&u0; , endoubleode ( double&p U [3 ,

stati double T, e , E;

TeE// =уравненияpev/+*(0T;rho5. *состояния*u R*GASu;);

}inline{ U[//doublestati012консервативные=void&urhodouble,;de*doubleodeEu;E,(edouble&p,переменные)T; U [3 ,

double &rho ,

double &rho ,

urhoE// консервативныеU[102 ;/ rho; переменные

}inlinepTe{ //doubleуравнения= voideErhoF/-[3*0flux)v.5R;состояния*GASfun(uL*,doTu;ubleL, Up_L;[3 , double U_R [3 , stati double rho ,R u , pR, T , eR, E;

252

// параметрыL

в ячейкеL

L:

L

 

 

de ode (U_R ,

rho_R , u_R ,

p_R ); //

слев а от границы

 

 

 

 

//

справа от границы

//riemannрешениеproblem(задачи&rhorhoо LРПР,,&u,L &p,

p);L ,

rho_R , u_R , p_R ,

TeE// =уравненияpev/+*(0T;rho5. **состоянияu R*GASu; );

// 0

плотности

потоков;

:

 

 

1

 

u

 

;

//

массы

F[2

= rho *

u * E

+

p * u; // колва движения

}

 

 

 

 

//

энергии

253

Приложение D. Модуль, вычисляющий целевую функцию при оптимизации

Пользовательский модуль для динамического подключения к «штатной» программе многопараметрической оптимизации (для вычисления ЦФ (индикаторной мощности Ni) вызывается расчетная

программаusing namespaiofstdсолверstreammanlibe pstd):>>;

name

io > //

 

 

name

 

 

string " . / "

# in lude <

x i t ( ) ,

system ()

 

 

// s s c a

f ()

 

 

 

prog_dir +

 

string

" /hom / a n d r e i / " +

ou

" / p r j / " +

p

j_name;

 

 

//−− конфигурацияog dir−−

 

 

 

 

 

 

onstend mdhar=*

epnamename

 

 

" l b

 

" ;

 

 

prj

 

 

 

 

" / e r r o r s . l og "

 

solver

 

 

 

" l b ap "

 

har*

prprj

 

 

=

" l b

a s " ;

 

 

 

_template_ " tu

=d_(p pe " ; )

j di _

name" . =t e m( l a e " );

 

string

 

 

 

+ " / ind . dat " ;

rr_file

 

=

_dir_name

 

" ;

 

" ;

 

 

+

;

//

// e v a l ( ) : вычисляет значение функции соответствия

//

254

doubledouble"C" val*x,// ( для подавления символических имен C++

int n) // массив значений признаков { stringstreamhar* Nptrbuf[2048= //. размерность; этого массива

// значение целевой функции

//−− сложная командаmd

//(1) очистка каталога проекта

"m f " << prj_dir_name << " / " << end md ;

md

<<

копирование

" hermo "

из исходного

каталога

 

 

 

//

(2)

 

 

 

 

 

" cp

 

" <<

prj_templdirnamte_name <<<" /endthermomd ; " <<

’ ’

 

 

 

 

 

err_file_name << end md ;

 

 

 

 

//md (3)

"2>"

<<

препроцессор

копированиеep name

данных

" i

u t " через

 

 

" L

templin="

<<tex[0name <<

"

L_ex="

<< x [1 <<

 

 

prj_dir_

am

<<

" / i

p u t "

 

’ ’

 

 

 

 

 

 

 

 

 

 

 

" / i

pu t "

<<

end md ;

 

 

 

//md (4)

запуск

расчетной

 

программы

( со лв ер а )

 

"solcd v~/er" name<< prog<<_dir

< end md

 

 

 

 

 

 

 

<< prj_name

<<

" > "

out

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

//system−− выполнение( md.str ()." сложнойstr ());команды "

if//−−(!erreamifs)получениеifs({ out$Nfile$ изnameфайла. str ());

<< "Неout_fileоткрываетсname я<<файл \" "

}forexit(int( EXITountFAILURE=0;); ount ++)" \ " \ n{ "

255

break! ifs;. good ())

 

 

 

 

 

 

 

if ( ount %2)

{

 

 

 

 

 

 

 

ptrif (!= ptrstrstr|| (ssbufanf, (ptr" N i=", );

 

 

 

 

!= 1)

{ err

 

" N_i=%l f " , & N_i)

<<

"Неout_fileчитае тnamс я e величина<<

 

’ N_i ’ из

\" "

 

 

 

 

 

 

 

 

}ifs}.} loseexit();( EXIT_FAILURE);

" \ " \ n" ;

 

 

// индикаторная мощность последнего цикла ДВС //errвозвращается как значение максимизируемой ЦФ

" L

n="

 

0

 

" , L

ex="

7)

x[1

 

 

 

 

 

 

 

 

 

 

<< " ,

 

 

 

N_i="

<< fixed << setpre ision(4

<< N_i

 

} return’ \nN;i;

256

Предметный указатель

анализ размерностей, 27, 54, 61, 67 аналогия Рейнольдса, 121 аппроксимация, 37, 166, 176 аэрозоль, 26

безразмерные величины, 57

газодинамические функции, 117, 120, 121

генетический алгоритм, 45, 239 гипотеза Ньютона обобщенная, 81 гипотеза о ЛТР, 76 гипотеза сплошности, 75

графический интерфейс пользователя, 185, 190

дискретизация, 11, 33, 36, 37, 148, 150, 152, 157, 180

диссоциация, 142, 145 диффузия, 79

задача Коши, 139, 149, 245 закон Фика, 80, 106 закон Фурье, 83, 106

законы сохранения, 11, 74, 75, 77, 111, 115, 138

идеальный газ, 92, 93 иерархия моделей, 188 излучение, 83 инварианты Римана, 117, 137

индикаторная мощность, 254 интерфейс передачи сообщений,

194

капельная жидкость, 26 кластер, 192, 220, 221, 224, 230 компрессор, 129

коэффициент восстановления полного давления, 123, 209

коэффициент вязкости, 80, 83, 91 коэффициент диффузии, 80, 91 коэффициент избытка воздуха, 143 коэффициент наполнения, 233, 242 коэффициент потерь, 72 коэффициент продувки, 233 коэффициент сопротивления, 27 коэффициент теплопроводности,

83, 158 кривошипная камера, 238

критериальное уравнение, 121, 122 критерий подобия, 67

математическая модель, 20 местное сопротивление, 21, 72,

115, 122 метод донорской ячейки, 162, 164,

169, 248 метод конечных объемов, 157, 160

метод консервативный, 163, 165, 166, 178

метод Рунге – Кутта, 32, 153, 188 метод распада разрыва, 167–169,

197, 250 метод Эйлера, 150, 152–156, 162,

187, 245 методы градиентные, 44 методы неявные, 180

методы эволюционные, 45 моделирование, 15, 46 моделирование аналоговое, 16, 52 моделирование знаковое, 16 моделирование математическое,

18, 19

257

моделирование предметное, 16 моделирование физическое, 16, 46 модель, 15 модель продувки двухзонная, 145,

229 модель Смагоринского, 107

модель связи, 184, 186, 189 модель турбулентного переноса, 26 модель элемента, 184, 186, 189 модульный принцип, 186

научный метод, 12, 19, 20 нестационарное течение, 198 ньютоновская жидкость, 21

обыкновенное дифференциальное уравнение, 32, 148

оптимизация глобальная, 43, 44 оптимизация многодисциплинар-

ная, 43 оптимизация многопараметриче-

ская, 236, 239, 254 оригинал, 15, 16

параметр состояния, 77 переменные зависимые, 148, 149,

174 переменные консервативные, 149,

152, 154, 170, 176, 187 переменные независимые,

148–150, 157 переменные первичные, 155, 187 порядок аппроксимации, 153, 156,

162, 166, 184 потери полного давления, 120, 123

предметная область, 11, 186–189 прикладной программный пакет,

189 продувочная характеристика, 145,

229

продукты сгорания, 142 продукты сгорания «чистые», 142

рабочее тело, 11, 74, 86, 88, 142 рабочий процесс, 11 равновесие термодинамическое, 76 размерность, 56 размерные величины, 57 расчетная программа, 254

решение аналитическое, 18, 36, 55 решение точное, 20 решение численное, 18, 20, 37, 55,

148

свежая смесь, 142, 145, 156 свежий заряд, 61, 142 связь, 184 симплекс, 57 скачок сечения, 21 скорость звука, 91

смесеобразование внешнее, 143 смесеобразование внутреннее, 143 совершенный газ, 93, 94, 171 солвер, 185, 239, 254 сплошная среда, 75

стехиометрическое отношение, 143 сходимость, 20, 37, 212

теория, 19 теория подобия, 46

теория газообмена ДВС, 63 течение многофазное, 86 течение нестационарное, 105, 115,

117 течение стационарное, 119, 120,

126, 137 течение турбулентное, 29, 70, 97,

220, 221, 223 турбина, 130

258

уравнение Бюргерса, 159, 162, 164, 248

уравнение в частных производных, 32, 148

уравнение состояния, 77, 85 уравнение теплопроводности, 158,

164 уравнения Навье – Стокса, 21, 28,

87 уравнения Рейнольдса, 100

уравнения Эйлера, 28, 88–90 условия однозначности, 55 условия подобия, 66

формула Вибе, 143 формула Вошни, 144

формула Сазерленда, 93, 122

цикловая доза топлива, 156

числа подобия, 47, 67 численный метод, 20, 22, 148 число Куранта, 164, 197 число Маха, 70, 123 число Нуссельта, 71 число Прандтля, 62, 72, 83 число Рейнольдса, 70, 123 число Шмидта, 62, 72, 80

элемент, 184 энергия внутренняя, 91, 143 энтальпия, 82, 92 энтропия, 91, 140

259

Список литературы

1.Абрамович, Г. Н. Прикладная газовая динамика: учебн. руководство. В 2 ч. Ч. 1. — 5-е изд., перераб. и доп. — М.: Наука, 1991. — 600 c.

2.Адлер, Ю. П. Планирование эксперимента при поиске оптимальных условий / Ю. П. Адлер, С. В. Маркова, Ю. В. Грановский. — М.: Наука, 1976. — 278 с.

3. Андерсон, Д. Вычислительная гидромеханика и теплообмен. В 2-х т. Т. 1. / Д. Андерсон, Дж. Таннехилл, Р. Плетчер; пер. с англ. — M.: Мир, 1990. — 384 с.

4.Белоцерковский, О. М. Метод крупных частиц в газовой динамике / О. М. Белоцерковский, Ю. М. Давыдов. — М.: Наука, 1982. — 391 c.

5.Болгарский, А. В. Термодинамика и теплопередача / А. В. Болгарский, Г. А. Мухачев, В. К. Щукин. — М.: Высш. шк., 1975. — 495 с.

6.Большая советская энциклопедия: в 30 т. — 3-е изд. — М.: Советская энциклопедия, 1969. — Т. 16: Мезия-Моршанск, 1974. — 615 с.

7. Воеводин, В. В. Параллельные вычисления / В. В. Воеводин, Вл. В. Воеводин. — СПб.: БХВ-Петербург: 2002. — 608 c.

8.Годунов, С. К. Разностный метод численного расчета разрывных решений гидродинамики // Матем. сб. — 1959. — Т. 47, вып. 3. — C. 276 – 306.

9.Гухман, А. А. Обобщенный анализ. — М.: Факториал, 1998. — 304 с.

10.Дейч, М. Е. Техническая газодинамика. — 3-е изд, перераб. — М.: Энергия, 1974. — 592 c.

260

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]