void UpdateTurbineExhaust(TurbineExhaustEnum turbineExhaustType, double nozzleExhaustArea)
        {
            bool unchanged = true;

            if (nozzleExhaustArea > areaRatio)
            {
                nozzleExhaustArea = areaRatio;
            }
            if (nozzleExhaustArea < enginePrefab.frozenAreaRatio)
            {
                nozzleExhaustArea = enginePrefab.frozenAreaRatio;
            }

            unchanged &= this.nozzleExhaustArea == nozzleExhaustArea;
            unchanged &= this.turbineExhaustType == turbineExhaustType;

            if (!unchanged)
            {
                this.nozzleExhaustArea  = nozzleExhaustArea;
                this.turbineExhaustType = turbineExhaustType;
                CalculateEngineProperties();
            }
        }
        public override void CalculateEngineProperties()
        {
            if (turbopump == null)
            {
                turbopump = new TurbopumpCalculator(biPropConfig, this);

                string[] turbineExhaustString = new string[] {
                    "Direct",
                    "Into Nozzle"
                };
                TurbineExhaustEnum[] turbExhaustEnums = new TurbineExhaustEnum[] {
                    TurbineExhaustEnum.DIRECT,
                    TurbineExhaustEnum.INTO_NOZZLE
                };

                turbineExhaustSelector = new GUIDropDown <TurbineExhaustEnum>(turbineExhaustString, turbExhaustEnums);
            }


            CalculateMainCombustionChamberParameters();
            AssumePumpPressureRise();
            SolveGasGenTurbine(oxRich);
            CalculateEngineAndNozzlePerformanceProperties();
        }