www/js/global.js

changeset 59
ad28e09e3abd
parent 34
a720353fada9
child 67
883e897aad40
--- a/www/js/global.js	Thu Sep 20 17:50:30 2018 +0200
+++ b/www/js/global.js	Fri Sep 21 17:10:41 2018 +0200
@@ -90,3 +90,74 @@
 	$("#jqxWidget").css('visibility', 'visible');
 });
 
+
+
+/*
+ * Berekeningen uit https://www.hobbybrouwen.nl/forum/index.php/topic,6079.msg69464.html#msg69464
+ */
+function toIBU_Tinseth(Use, Form, SG, Volume, Amount, Boiltime, Alpha) {
+	var gravity = parseFloat(SG);
+	var liters  = parseFloat(Volume);
+	var alpha   = parseFloat(Alpha)/100;
+	var mass    = parseFloat(Amount) * 1000;
+	var time    = parseFloat(Boiltime);
+	var fmoment = 1.0;
+	var pfactor = 1.0;
+
+	if ((Use == "Dry Hop") || (Use == "Dry hop")) {
+		fmoment = 0.0;
+	} else if (Use == "Whirlpool") {
+		fmoment = 0.0;
+	} else if (Use == "Mash") {
+		fmoment = 0.7;		// Brouwhulp
+	} else if ((Use == "First Wort") || (Use == "First wort"))  {
+		fmoment = 1.1;		// Brouwhulp, Louis, Ozzie
+	} else if (Use == "Aroma") {
+		fmoment = 0.0;
+	}
+
+	if (Form == "Pellet") {
+		pfactor = 1.1;
+	}
+
+	// TODO:  sg = (postBoilGravity - 1.0) * batchSize / boilSize;
+
+	/*
+	 * http://realbeer.com/hops/research.html
+	 *
+	 *                             decimal AA rating * grams hops * 1000
+	 * mg/l of added alpha acids = -------------------------------------
+	 *			         volume of finished beer in liters
+	 *
+	 * Bigness factor = 1.65 * 0.000125^(wort gravity - 1)
+	 *
+	 *                    1 - e^(-0.04 * time in mins)
+	 * Boil Time factor = ----------------------------
+	 *                               4.15
+	 *
+	 * decimal alpha acid utilization = Bigness factor * Boil Time factor
+	 *
+	 * IBUs = decimal alpha acid utilization * mg/l of added alpha acids
+	 */
+	var AddedAlphaAcids = (alpha * mass * 1000) / liters;
+	var Bigness_factor = 1.65 * Math.pow( 0.000125, gravity - 1);
+	var BoilTime_factor = ((1 - Math.exp(-0.04 * time)) / 4.15);		// Glen Tinseth
+	var utiisation = Bigness_factor * BoilTime_factor;
+
+	console.log(" AddedAlphaAcids:"+AddedAlphaAcids+"  Bigness_factor:"+Bigness_factor+"  BoilTime_factor:"+BoilTime_factor+"  utilisation:"+utiisation);
+	console.log(" fmoment:"+fmoment+"  pfactor:"+pfactor);
+
+	var ibu = (Math.round(utiisation * AddedAlphaAcids * fmoment * pfactor * 10) / 10.0);
+	return ibu;
+}
+
+
+
+function toIBU(Use, Form, SG, Volume, Amount, Boiltime, Alpha, Method) {
+
+	console.log("toIBU_Tinseth("+Use+"," + Form + "," + SG + "," + Volume + "," + Amount + "," + Boiltime + "," + Alpha + "," + Method + ")");
+	return toIBU_Tinseth(Use, Form, SG, Volume, Amount, Boiltime, Alpha);
+}
+
+
+

mercurial