예제 #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;
        }