| ||
//-------------------------------------------------- //Подпрограмма элемента "Турбина" //-------------------------------------------------- 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; //доля выхода / //--------------------------------------------------