Esempio n. 1
0
        protected void CalculateTTR()
        {
            //calculate TTR at design point first

            // Don't overwrite th0 and th1
            EngineThermodynamics ambientTherm = EngineThermodynamics.StandardConditions(false);

            ambientTherm.T = T_d;
            EngineThermodynamics inletTherm = ambientTherm.ChangeReferenceFrameMach(M_d);
            // Note that this work is negative
            // Different mass flows between compressor, turbine, and bypass automatically taken care of by MassRatio
            double compressorWork;

            th3 = inletTherm.AdiabaticProcessWithPressureRatio(CPR, out compressorWork, efficiency: eta_c);
            double fanWork = 0d;

            if (BPR > 0d)
            {
                th2             = inletTherm.AdiabaticProcessWithPressureRatio(FPR, out fanWork, efficiency: eta_c);
                fanWork        *= BPR;
                fanWorkConstant = fanWork / compressorWork;
            }
            double turbineWork = compressorWork + fanWork;

            th4 = th3.AddFuelToTemperature(Tt4, h_f);
            th5 = th4.AdiabaticProcessWithWork(turbineWork, efficiency: eta_t);
            TTR = th5.T / th4.T;
        }
Esempio n. 2
0
        protected void InitializeEngine()
        {
            //calculate TTR at design point first

            // Don't overwrite th0 and th1
            EngineThermodynamics ambientTherm = EngineThermodynamics.StandardConditions(false);

            ambientTherm.T = T_d;
            EngineThermodynamics inletTherm = ambientTherm.ChangeReferenceFrameMach(M_d);

            th7    = inletTherm.AddFuelToTemperature(9999d, h_f, throttle: throttle, maxFar: maxFar);
            th7.P *= 0.95;

            double massFlow = inletTherm.CalculateMassFlow(Aref, 0.5d);

            Athroat = th7.CalculateFlowArea(massFlow * th7.MassRatio, 1d);

            if (!adjustableNozzle)
            {
                p8 = ambientTherm.P;
                CalculateANozzle();
            }
        }