The abvol calculation uses the formule by Hans Halberstadt.

Mon, 11 Mar 2019 16:22:01 +0100

author
Michiel Broek <mbroek@mbse.eu>
date
Mon, 11 Mar 2019 16:22:01 +0100
changeset 328
019736440468
parent 327
6ae03de0de9e
child 329
63f9e4a23bfc

The abvol calculation uses the formule by Hans Halberstadt.

www/includes/formulas.php file | annotate | diff | comparison | revisions
www/js/global.js file | annotate | diff | comparison | revisions
--- a/www/includes/formulas.php	Sun Mar 10 21:07:11 2019 +0100
+++ b/www/includes/formulas.php	Mon Mar 11 16:22:01 2019 +0100
@@ -173,9 +173,11 @@
 
 
 function abvol($og, $fg) {
-	if ((4.749804 - $fg) <> 0)
-		return 486.8693 * ($og - $fg) / (4.749804 - $fg);
-	return 0;
+	$factor = $og * 3157 * pow(10, -5) + 9.716 * pow(10, -2);
+	return ($og * 1000 - $fg * 1000) * $factor;
+	//if ((4.749804 - $fg) <> 0)
+	//	return 486.8693 * ($og - $fg) / (4.749804 - $fg);
+	//return 0;
 }
 
 
--- a/www/js/global.js	Sun Mar 10 21:07:11 2019 +0100
+++ b/www/js/global.js	Mon Mar 11 16:22:01 2019 +0100
@@ -742,14 +742,26 @@
 		return 0;
 
 	/*
+	 * Formule van Hans Halberstadt. De constante factor is afhankelijk van de
+	 * zwaarte van het wort.
+	 */
+	var factor = og * 3157 * Math.pow(10, -5) + 9.716 * Math.pow(10, -2);
+	var result = (og * 1000 - fg * 1000) * factor;
+
+	console.log("HH abvol("+ og * 1000 + ", "+ fg * 1000 + ") factor:" + factor + " abv:" + result);
+	return result;
+
+	/*
 	 * Dit lijkt goed en wordt in veel moderne software gebruikt, maar...
-	 * dit klopt niet. Busted door Hans Halbertstad. 
+	 * dit klopt niet. Busted door Hans Halberstadt. 
 	 * return (76.08 * (og-fg) / (1.775-og)) * (fg / 0.794); // Daniels
 	 */
-	// brouwhulp, is ook niet helemaal goed.
-	if ((4.749804 - fg) != 0)
-		return 486.8693 * (og - fg) / (4.749804 - fg);
-	return 0;
+
+	/*
+	 * Brouwhulp, houdt geen rekening met zwaardere bieren.
+	 * if ((4.749804 - fg) != 0)
+	 *	return 486.8693 * (og - fg) / (4.749804 - fg);
+	 */
 }
 
 

mercurial