Beispiel #1
0
        public ICalculateStrikeInfusion GetCalculator(IStrikeInfusionStrategy strikeInfusionStrategy)
        {
            ICalculateStrikeInfusion myCalculator = new StrikeInfusionCalculation();

            myCalculator.StrikeInfusionCalculationType = strikeInfusionStrategy;
            return(myCalculator);
        }
Beispiel #2
0
        public double CalculateStrikeInfusion(StrikeInfusionCalculation strikeInfusionDetails)
        {
            throw new Exception("Not yet implmenented.  Looking for new formula.");
            if (strikeInfusionDetails.WeightOfGrainInPounds <= 0)
            {
                throw new ArgumentOutOfRangeException("WeightOfGrainInPounds", "Weight of grain must be greater than zero.");
            }
            if (strikeInfusionDetails.WaterToAddInQuarts <= 0)
            {
                throw new ArgumentOutOfRangeException("WaterToAddInQuarts", "Water to add must be greater than zero.");
            }
            double waterToAdd           = strikeInfusionDetails.WaterToAddInQuarts / strikeInfusionDetails.WeightOfGrainInPounds;
            double strikeTempFahrenheit = (((double).2 / (strikeInfusionDetails.WaterToAddInQuarts / strikeInfusionDetails.WeightOfGrainInPounds)) * (strikeInfusionDetails.TargetStepTemperature - strikeInfusionDetails.InitialMashTemperatureFahrenheit)) + strikeInfusionDetails.TargetStepTemperature;

            //1.918 is the Thermal mass of a converted keg.  ThM = ((Ts-Td)*2.08635*Vw)/(Td-Tm)
            //strikeTempFahrenheit = (((strikeInfusionDetails.TargetStepTemperature * (.3 + (2.08635 * strikeInfusionDetails.WaterToAddInQuarts) + (0.4 * strikeInfusionDetails.WeightOfGrainInPounds))) - (strikeInfusionDetails.InitialMashTemperatureFahrenheit * 0.4 * strikeInfusionDetails.WeightOfGrainInPounds)) - (strikeInfusionDetails.InitialMashTemperatureFahrenheit * .3)) / (2.08635 * strikeInfusionDetails.WeightOfGrainInPounds);

            return(strikeTempFahrenheit);
        }
Beispiel #3
0
        public double CalculateStrikeInfusion(StrikeInfusionCalculation strikeInfusionDetails)
        {
            var targetTemp = (((strikeInfusionDetails.TargetStepTemperature - strikeInfusionDetails.InitialMashTemperatureFahrenheit) * ((double)0.2 * strikeInfusionDetails.WeightOfGrainInPounds + strikeInfusionDetails.StartingWaterVolumeInQuarts)) + strikeInfusionDetails.WaterToAddInQuarts * strikeInfusionDetails.TargetStepTemperature) / strikeInfusionDetails.WaterToAddInQuarts;

            return(targetTemp);
        }