public TurbopumpCalculator(BiPropellantConfig config, EngineCalculatorBase engineCalc)
 {
     this.engineCalc   = engineCalc;
     this.biPropConfig = config;
     fuelAux           = PropellantMixtureLibrary.AuxPropellantProperties[config.Fuel];
     oxAux             = PropellantMixtureLibrary.AuxPropellantProperties[config.Oxidizer];
     if ((object)pumpEffFromSpecificSpeed == null)
     {
         LoadEfficiencyCurves();
     }
     if (turbopumpArrangementSelector == null)
     {
         string[] turbopumpString = new string[] {
             "Direct Drive",
             "Gear Reduction",
             "Two Turbine"
         };
         TurbopumpArrangementEnum[] turbopumpEnums = new TurbopumpArrangementEnum[] {
             TurbopumpArrangementEnum.DIRECT_DRIVE,
             TurbopumpArrangementEnum.GEAR_REDUCTION,
             TurbopumpArrangementEnum.TWO_TURBINE
         };
         turbopumpArrangementSelector = new GUIDropDown <TurbopumpArrangementEnum>(turbopumpString, turbopumpEnums);
     }
 }
        double CalculateNetPositiveSuctionHead(PropellantProperties properties, double dens, double tankPresMPa)
        {
            double NPSH = tankPresMPa - properties.vaporPresMPaAtStorageTemp;

            NPSH /= G0 * dens;

            return(NPSH);
        }