Переход назад
Оглавление

"Turbine" (адиабатная турбина)
[Термодинамические объекты]

Turbine.bmp


Адиабатная турбина - элемент, описывающий адиабатное расширение газового потока. Имеет два входа (потока газа и мощности на валу) и два выхода. Выходные параметры газа вычисляются по следующим формулам: где четный нижний индекс означает выходной параметр, а нечетный - входной, $ n_t $ - количество элементов "Турбина" в схеме модели (подсчитывается в программе автоматически) $ P_{out} $ - давление на выходе элемента Сток, $ P_{in} $ - давление на выходе элемента Исток, $ \mu_3 $ КПД турбины, значение которого задается переменной ShareExit3 на входе мощности элемента, показатель степени $ \frac{k}{k-1} $ определялся как $ \frac{c_p}{R} $ , $ T_{oc} $ - температура окружающей среды (рассчитывается по параметрам элемента Исток), $ P_{oc} $ - давление окружающей среды (рассчитывается по параметрам элемента Сток).

Код программы для "Turbine" (адиабатная турбина)

//--------------------------------------------------
//Подпрограмма элемента "Турбина"
//--------------------------------------------------
double K = 0.3;
InputGas.IsobarHeat = K * InputGas.IsobarHeat + (1 - K) * 
  InputGas.TempIsobarHeat;
InputGas.TempIsobarHeat = InputGas.IsobarHeat;
InputGas.GasConst = K * InputGas.GasConst + (1 - K) * 
  InputGas.TempGasConst;
InputGas.TempGasConst = InputGas.GasConst;
InputCapacity.Capacity_FlowExergs = K * InputCapacity.Capacity_FlowExergs +
  (1 - K) * InputCapacity.TempCapacity_FlowExergs;
InputCapacity.TempCapacity_FlowExergs = InputCapacity.Capacity_FlowExergs;
InputGas.Pressure = K * InputGas.Pressure + (1 - K) * InputGas.TempPressure;
InputGas.TempPressure = InputGas.Pressure;
InputGas.Temperature = K * InputGas.Temperature + (1 - K) * 
  InputGas.TempTemperature;
InputGas.TempTemperature = InputGas.Temperature;
InputGas.Charge = K * InputGas.Charge + (1 - K) * 
  InputGas.TempCharge;
InputGas.TempCharge = InputGas.Charge;
 
  // Выделяем переменную AK (обратите внимание на регистр) и присваиваем ей
  // отношение значения изобарной теплоемкости газа на входе к значению
  // индивидуальной газовой постоянной газа на входе: 
  
double AK = InputGas.IsobarHeat/InputGas.GasConst;
//--------------------------------------------------

  // При изменении параметров выходов элемента используем функции :
  // 1)double pow(double x, double y); - возвращает число x возведенное в степень y. 
  // 2) простейшие операции: +,-,/,*,()
  // 3) величину количества последовательных турбин DNT
  // 4) давление газа в стоке = Drain1.InputGas.Pressure
  // 5) давление газа в истоке = Source1.OutputGas.Pressure

//double DNT = 1; // - количество турбин
OutputGas.Pressure = InputGas.Pressure * 
  pow((Drain1.InputGas.Pressure / InputGas.Pressure),
  (1 / DNT));
OutputGas.Temperature = InputGas.Temperature * 
  pow((OutputGas.Pressure / InputGas.Pressure), 
  (1/AK));
OutputCapacity.Capacity_FlowExergs = 
  InputCapacity.Capacity_FlowExergs * InputCapacity.ShareExit3 + 
  InputGas.Charge   * InputGas.IsobarHeat * (InputGas.Temperature - 
  OutputGas.Temperature);
OutputGas.Charge = InputGas.Charge;
OutputGas.IsobarHeat = InputGas.IsobarHeat;
OutputGas.GasConst = InputGas.GasConst;
OutputGas.Capacity_FlowExergs3 = OutputGas.Charge * 
(OutputGas.IsobarHeat * (OutputGas.Temperature -
Source1.OutputGas.TempTemperature / Source1.OutputGas.TempShareExit6) - 
Source1.OutputGas.TempTemperature / Source1.OutputGas.TempShareExit6 * 
(OutputGas.IsobarHeat * log(OutputGas.Temperature *
Source1.OutputGas.TempShareExit6 / Source1.OutputGas.TempTemperature) - 
OutputGas.GasConst * log(OutputGas.Pressure *
Drain1.InputGas.TempShareExit7 / Drain1.InputGas.Pressure)));
InputGas.Capacity_FlowExergs3 = InputGas.Charge * 
(InputGas.IsobarHeat * (InputGas.Temperature -
Source1.OutputGas.TempTemperature / Source1.OutputGas.TempShareExit6) - 
Source1.OutputGas.TempTemperature / Source1.OutputGas.TempShareExit6 * 
(InputGas.IsobarHeat * log(InputGas.Temperature *
Source1.OutputGas.TempShareExit6 / Source1.OutputGas.TempTemperature) - 
InputGas.GasConst * log(InputGas.Pressure *
Drain1.InputGas.TempShareExit7 / Drain1.InputGas.Pressure)));
//--------------------------------------------------
/*
  Объект 1-го уровня (наборы параметров для…):
    OutputGas //- выход газа
    InputGas //- вход газа
    InputCapacity //- вход мощности
    OutputCapacity //- выход мощности
  Объект 2-го уровня (значения параметров):
    Pressure: Double; //давление
    Temperature: Double; //температура
    Charge: Double; //расход
    IsobarHeat: Double; //изобарная теплоемкость
    GasConst: Double; //газовая постоянная
    Capacity_FlowExergs3: Double; //поток эксергии
    Capacity_FlowExergs: Double; //мощность на валу
    ShareExit3: Double; //доля выхода
/
//--------------------------------------------------

См. также:
"Source" (исток для газа) , "Drain" (сток для газа) , "Drossel" (изотермический дроссель) , "Amalgamator" (смеситель/разделитель потока газа) , "HeatExchange" (прямоточный идеальный газовый теплообменник) , "Kompressor" (адиабатный компрессор) , "Turbine" (адиабатная турбина) .
Документация по системе CAAM. © Все права защищены БайтериКС 2005-2015. BYTERIX.COM byterix