Wed, 14 Nov 2018 15:54:15 +0100
Morey color method more precise.
11 | 1 | <?php |
2 | ||
83
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
3 | define('EURO', chr(128)); |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
4 | |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
5 | define('MMCa', '40.048'); |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
6 | define('MMMg', '24.305'); |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
7 | define('MMNa', '22.98976928'); |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
8 | define('MMCl', '35.453'); |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
9 | define('MMSO4', '96.0626'); |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
10 | define('MMCO3', '60.01684'); |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
11 | define('MMHCO3', '61.01684'); |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
12 | define('MMCaSO4', '172.171'); |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
13 | define('MMCaCl2', '147.015'); |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
14 | define('MMCaCO3', '100.087'); |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
15 | define('MMMgSO4', '246.475'); |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
16 | define('MMNaHCO3', '84.007'); |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
17 | define('MMNa2CO3', '105.996'); |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
18 | define('MMNaCl', '58.443'); |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
19 | define('MMCaOH2', '74.06268'); |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
20 | |
11 | 21 | |
22 | function ebc_to_srm($ebc) | |
23 | { | |
24 | // Srm = -1.32303E-12*Ebc4-0.00000000291515*Ebc3+0.00000818515*Ebc2+0.372038*Ebc+0.596351 | |
25 | return -1.32303E-12 * pow($ebc, 4) - 0.00000000291515 * pow($ebc, 3) + 0.00000818515 * pow($ebc, 2) + 0.372038 * $ebc + 0.596351; | |
26 | // return $ebc * 0.508; | |
27 | } | |
28 | ||
29 | ||
83
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
30 | |
11 | 31 | function srm_to_ebc($srm) |
32 | { | |
33 | // EBC = 0.000000000176506*Srm4+ 0.000000154529*Srm3-0.000159428*Srm2+2.68837*Srm-1.6004 | |
34 | // | |
35 | // Formule van Adrie Otten. brouwhulp. | |
36 | $ebc = 0.000000000176506 * pow($srm, 4) + 0.000000154529 * pow($srm, 3) - 0.000159428 * pow($srm, 2) + 2.68837 * $srm - 1.6004; | |
37 | return round($ebc); | |
38 | } | |
39 | ||
40 | ||
83
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
41 | |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
42 | function ebc_to_color($ebc) |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
43 | { |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
44 | return srm_to_color(ebc_to_srm($ebc)); |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
45 | } |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
46 | |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
47 | |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
48 | |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
49 | function srm_to_color($srm) |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
50 | { |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
51 | $i = abs($srm * 10); |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
52 | if ($i < 0) { |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
53 | $i = 0; |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
54 | } |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
55 | if ($i > 299) { |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
56 | $i = 299; |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
57 | } |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
58 | |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
59 | /* Table copied from Brouwhulp/BrewBuddy */ |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
60 | $R = array( 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, // 0 |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
61 | 250, 250, 250, 250, 250, 249, 248, 247, 246, 245, 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, // 2 |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
62 | 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, 218, 217, 216, 215, // 4 |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
63 | 214, 213, 212, 211, 210, 209, 208, 207, 206, 205, 204, 203, 202, 201, 200, 200, 199, 199, 198, 198, // 6 |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
64 | 197, 197, 196, 196, 195, 195, 194, 194, 193, 193, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, // 8 |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
65 | 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, // 10 |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
66 | 192, 192, 192, 192, 192, 192, 192, 192, 191, 190, 189, 188, 187, 186, 185, 184, 183, 182, 181, 180, // 12 |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
67 | 179, 178, 177, 175, 174, 172, 171, 169, 168, 167, 195, 164, 162, 161, 159, 158, 157, 155, 154, 152, // 14 |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
68 | 151, 149, 148, 147, 145, 144, 142, 141, 139, 138, 137, 135, 134, 132, 131, 129, 128, 127, 125, 124, // 16 |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
69 | 122, 121, 119, 118, 117, 115, 114, 112, 111, 109, 108, 107, 105, 104, 102, 101, 99, 98, 97, 95, // 18 |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
70 | 94, 92, 91, 89, 88, 87, 85, 84, 82, 81, 79, 78, 77, 75, 74, 72, 71, 69, 68, 67, // 20 |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
71 | 65, 64, 62, 61, 59, 58, 57, 55, 54, 52, 51, 49, 48, 47, 45, 44, 43, 41, 39, 38, // 22 |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
72 | 37, 37, 36, 36, 35, 35, 34, 34, 33, 33, 32, 32, 31, 31, 30, 30, 29, 29, 28, 28, // 24 |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
73 | 27, 27, 26, 26, 25, 25, 24, 24, 23, 23, 22, 22, 21, 21, 20, 20, 19, 19, 18, 18, // 26 |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
74 | 17, 17, 16, 16, 15, 15, 14, 14, 13, 13, 12, 12, 11, 11, 10, 10, 9, 9, 8, 8 ); |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
75 | |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
76 | $G = array( 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
77 | 250, 250, 250, 250, 250, 250, 249, 248, 247, 246, 245, 244, 242, 240, 238, 236, 234, 232, 230, 228, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
78 | 226, 224, 222, 220, 218, 216, 214, 212, 210, 208, 206, 204, 202, 200, 198, 196, 194, 192, 190, 188, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
79 | 186, 184, 182, 180, 178, 176, 174, 172, 170, 168, 166, 164, 162, 160, 158, 156, 154, 152, 150, 148, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
80 | 146, 144, 142, 141, 140, 139, 139, 138, 137, 136, 136, 135, 134, 133, 133, 132, 131, 130, 130, 129, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
81 | 128, 127, 127, 126, 125, 124, 124, 123, 122, 121, 121, 120, 119, 118, 118, 117, 116, 115, 115, 114, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
82 | 113, 112, 112, 111, 110, 109, 109, 108, 107, 106, 106, 105, 104, 103, 103, 102, 101, 100, 100, 99, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
83 | 98, 97, 97, 96, 95, 94, 94, 93, 92, 91, 91, 90, 89, 88, 88, 87, 86, 85, 85, 84, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
84 | 83, 82, 82, 81, 80, 79, 78, 77, 76, 75, 75, 74, 73, 72, 72, 71, 70, 69, 69, 68, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
85 | 67, 66, 66, 65, 64, 63, 63, 62, 61, 60, 60, 59, 58, 57, 57, 56, 55, 54, 54, 53, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
86 | 52, 51, 51, 50, 49, 48, 48, 47, 46, 45, 45, 44, 43, 42, 42, 41, 40, 39, 39, 38, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
87 | 37, 36, 36, 35, 34, 33, 33, 32, 31, 30, 30, 29, 28, 27, 27, 26, 25, 24, 24, 23, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
88 | 22, 22, 22, 21, 21, 21, 20, 20, 20, 19, 19, 19, 18, 18, 18, 17, 17, 17, 16, 16, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
89 | 16, 15, 15, 15, 14, 14, 14, 13, 13, 13, 12, 12, 12, 11, 11, 11, 10, 10, 10, 9, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
90 | 9, 9, 8, 8, 8, 7, 7, 7, 6, 6, 6, 5, 5, 5, 4, 4, 4, 3, 3, 3 ); |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
91 | |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
92 | $B = array( 210, 204, 199, 193, 188, 182, 177, 171, 166, 160, 155, 149, 144, 138, 133, 127, 122, 116, 111, 105, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
93 | 100, 94, 89, 83, 78, 72, 67, 61, 56, 50, 45, 45, 45, 46, 46, 46, 46, 47, 47, 47, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
94 | 47, 48, 48, 48, 48, 49, 49, 49, 49, 50, 50, 50, 50, 51, 51, 51, 51, 52, 52, 52, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
95 | 52, 53, 53, 53, 53, 54, 54, 54, 54, 55, 55, 55, 55, 56, 56, 56, 56, 56, 56, 56, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
96 | 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
97 | 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
98 | 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
99 | 56, 56, 56, 55, 55, 55, 55, 54, 54, 54, 54, 53, 53, 53, 53, 52, 52, 52, 52, 51, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
100 | 51, 51, 51, 50, 50, 50, 50, 49, 49, 48, 47, 47, 46, 45, 45, 44, 43, 43, 42, 41, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
101 | 41, 40, 39, 39, 38, 37, 37, 36, 35, 34, 33, 32, 31, 29, 28, 27, 26, 25, 24, 23, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
102 | 21, 20, 19, 18, 17, 16, 15, 13, 12, 11, 10, 9, 8, 9, 9, 10, 10, 11, 11, 12, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
103 | 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
104 | 21, 21, 21, 20, 20, 20, 19, 19, 19, 18, 18, 18, 17, 17, 17, 17, 16, 16, 15, 15, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
105 | 15, 14, 14, 14, 13, 13, 13, 12, 12, 12, 11, 11, 11, 10, 10, 10, 9, 9, 9, 8, |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
106 | 8, 8, 7, 7, 7, 6, 6, 6, 5, 5, 5, 4, 4, 4, 3, 3, 3, 2, 2, 2 ); |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
107 | |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
108 | return array($R[$i],$G[$i],$B[$i]); |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
109 | } |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
110 | |
85521c6e0022
Added recipe print yeasts section.
Michiel Broek <mbroek@mbse.eu>
parents:
11
diff
changeset
|
111 | |
85
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
112 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
113 | function sg_to_plato($sg) { |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
114 | if ($sg > 0.5) |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
115 | return 259 - 259 / $sg; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
116 | return 0; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
117 | } |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
118 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
119 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
120 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
121 | function plato_to_sg($plato) { |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
122 | if ($plato < 259) |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
123 | return 259 / (259 - $plato); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
124 | return 1.000; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
125 | } |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
126 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
127 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
128 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
129 | /* |
87
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
130 | * sugars is the total extract weight of sugars. |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
131 | */ |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
132 | function estimate_og($sugars, $batch_size) { |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
133 | $plato = 100 * $sugars / $batch_size; |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
134 | $sg = plato_to_sg($plato); |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
135 | |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
136 | /* Average loops, HansH 5x. Brouwhulp 20x, about 10x is enough so keep 20. */ |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
137 | for ($i = 0; $i < 20; $i++) { |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
138 | if ($sg > 0) |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
139 | $plato = 100 * $sugars / ($batch_size * $sg); |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
140 | $sg = plato_to_sg($plato); |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
141 | } |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
142 | return $sg; |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
143 | } |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
144 | |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
145 | |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
146 | |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
147 | function estimate_fg($percSugar, $percCara, $WGratio, $TotTme, $Temp, $attenuation, $og) { |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
148 | if ($percSugar > 40) |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
149 | $percSugar = 0; |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
150 | if ($percCara > 50) |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
151 | $percCara = 0; |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
152 | if (($WGratio > 0) && ($TotTme > 0)) { |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
153 | $BD = $WGratio; |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
154 | $BD = max(2, min(5.5, $BD)); |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
155 | $Temp = max(60, min(72, $Temp)); |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
156 | } else { |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
157 | $BD = 3.5; |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
158 | $Temp = 67; |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
159 | $TotTme = 75; |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
160 | } |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
161 | if ($attenuation < 30) |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
162 | $attenuation = 77; |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
163 | |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
164 | $AttBeer = 0.00825 * $attenuation + 0.00817 * $BD - 0.00684 * $Temp + 0.00026 * $TotTme - 0.00356 * $percCara + 0.00553 * $percSugar + 0.547; |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
165 | $fg = 1 + (1 - $AttBeer) * ($og - 1); |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
166 | return $fg; |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
167 | } |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
168 | |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
169 | |
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
170 | |
88 | 171 | function abvol($og, $fg) { |
172 | if ((4.749804 - $fg) <> 0) | |
173 | return 486.8693 * ($og - $fg) / (4.749804 - $fg); | |
174 | return 0; | |
175 | } | |
176 | ||
177 | ||
89
082c23b26055
Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents:
88
diff
changeset
|
178 | /* |
082c23b26055
Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents:
88
diff
changeset
|
179 | * Kleurwerking naar SRM |
082c23b26055
Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents:
88
diff
changeset
|
180 | */ |
082c23b26055
Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents:
88
diff
changeset
|
181 | function kw_to_srm($colormethod, $c) { |
082c23b26055
Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents:
88
diff
changeset
|
182 | |
082c23b26055
Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents:
88
diff
changeset
|
183 | if ($colormethod == "Morey") |
91
44981507b781
Morey color method more precise.
Michiel Broek <mbroek@mbse.eu>
parents:
90
diff
changeset
|
184 | return 1.4922 * pow($c, 0.6859); |
89
082c23b26055
Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents:
88
diff
changeset
|
185 | if ($colormethod == "Mosher") |
082c23b26055
Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents:
88
diff
changeset
|
186 | return 0.3 * $c + 4.7; |
082c23b26055
Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents:
88
diff
changeset
|
187 | if ($colormethod == "Daniels") |
082c23b26055
Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents:
88
diff
changeset
|
188 | return 0.2 * $c + 8.4; |
082c23b26055
Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents:
88
diff
changeset
|
189 | } |
082c23b26055
Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents:
88
diff
changeset
|
190 | |
082c23b26055
Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents:
88
diff
changeset
|
191 | |
082c23b26055
Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents:
88
diff
changeset
|
192 | |
082c23b26055
Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents:
88
diff
changeset
|
193 | function kw_to_ebc($colormethod, $c) { |
082c23b26055
Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents:
88
diff
changeset
|
194 | return srm_to_ebc(kw_to_srm($colormethod, $c)); |
082c23b26055
Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents:
88
diff
changeset
|
195 | } |
082c23b26055
Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents:
88
diff
changeset
|
196 | |
082c23b26055
Missing Water agent costs from Brouwhulp import are now added from the imported miscs database. The printed recipe report now calculates the beer color from the ingredients. Also set during recipes import. This will later allow to set the color method for each recipe individually.
Michiel Broek <mbroek@mbse.eu>
parents:
88
diff
changeset
|
197 | |
88 | 198 | |
90
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
199 | function calc_IBU($useat, $form, $sg, $volume, $mass, $boiltime, $alpha, $method) { |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
200 | |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
201 | $fmoment = 1.0; |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
202 | if (($useat == "Dry Hop") || ($useat == "Dry hop") || ($useat == "Whirlpool") || ($useat == "Aroma")) { |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
203 | $fmoment = 0.0; |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
204 | } else if ($useat == "Mash") { |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
205 | $fmoment += /* Settings.MashHopFactor.Value = -30% */ -30 / 100; // Brouwhulp |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
206 | } else if (($useat == "First Wort") || ($useat == "First wort")) { |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
207 | $fmoment += /* Settings.FWHFactor.Value = 10% */ 10 / 100; // Brouwhulp, Louis, Ozzie |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
208 | } |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
209 | |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
210 | $pfactor = 1.0; |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
211 | if ($form == "Pellet") { |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
212 | $pfactor += /* Settings.PelletFactor.Value = 10% */ 10 / 100; |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
213 | } |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
214 | if ($form == "Plug") { |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
215 | $pfactor += /* Settings.PlugFactor.Value = 2% */ 2 / 100; |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
216 | } |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
217 | |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
218 | $ibu = 0; |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
219 | if (($method == "Tinseth") || ($method == "Garetz")) { // For Garetz, we need the $ibu |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
220 | $AddedAlphaAcids = (($alpha / 100) * $mass * 1000) / $volume; |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
221 | $Bigness_factor = 1.65 * pow( 0.000125, $sg - 1); |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
222 | $BoilTime_factor = ((1 - exp(-0.04 * $boiltime)) / 4.15); |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
223 | $utiisation = $Bigness_factor * $BoilTime_factor; |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
224 | $ibu = (round($utiisation * $AddedAlphaAcids * $fmoment * $pfactor * 10) / 10.0); |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
225 | } |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
226 | if ($method == "Daniels") { |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
227 | |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
228 | if ($form == "Leaf") |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
229 | $boilfactor = -(0.0041*$boiltime*$boiltime)+(0.6162*$boiltime)+1.5779; |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
230 | else |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
231 | $boilfactor = -(0.0051*$boiltime*$boiltime)+(0.7835*$boiltime)+1.9348; |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
232 | if ($sg < 1.050) |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
233 | $sgfactor = 0; |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
234 | else |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
235 | $sgfactor = (($sg * 1000) - 1050) / 200; |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
236 | $ibu = $fmoment * (($mass * $alpha * $boilfactor * 0.1) / ($volume * (1 + $sgfactor))); |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
237 | } |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
238 | if ($method == "Rager") { |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
239 | $boilfactor = $fmoment * 18.11 + 13.86 * tanh(($boiltime * 31.32) / 18.27); |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
240 | if ($sg < 1.050) |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
241 | $sgfactor = 0; |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
242 | else |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
243 | $sgfactor = (($sg * 1000) - 1050) / 200; |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
244 | $ibu = ($mass * $alpha * $boilfactor * 0.1) / ($volume * (1 + $sgfactor)); |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
245 | } |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
246 | if ($method == "Garetz") { |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
247 | /* Something is wrong, late hops and dryhops give negative results. */ |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
248 | $boilfactor = $fmoment * 6.03253 + 16.5289 * tanh(($boiltime - 19.17323) / 26.8013); |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
249 | $cfactor = $volume / (1.1 * $volume); // ConcentratieFactor = (Volume na koelen) / (Volume bij Koken) |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
250 | $kookdichtheid = ($cfactor * (($sg * 1000) - 1000) / 1000) + 1; |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
251 | $sgfactor = ($kookdichtheid - 1.05) / 0.2 + 1; |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
252 | $hopratefactor = (($cfactor * $ibu) / 260) + 1; // $ibu is Tinseth bitterness. Weird. |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
253 | $tempfactor = (32.8/550)*0.02+1; |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
254 | $ibu = ($boilfactor * $alpha * $mass * 0.1) / ($volume * $sgfactor * $hopratefactor * $tempfactor); |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
255 | } |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
256 | /* TODO: Noonan and Mosher */ |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
257 | |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
258 | return $ibu; |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
259 | } |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
260 | |
d4246abee34e
IBU calculation moved to formulas.php and added Daniels and Rager methods.
Michiel Broek <mbroek@mbse.eu>
parents:
89
diff
changeset
|
261 | |
87
7f1d0abe5571
OG and FG are now calculated from the grist. The printed report has a summary an notes section at the end. The formulas are in the global formulas script.
Michiel Broek <mbroek@mbse.eu>
parents:
85
diff
changeset
|
262 | /* |
85
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
263 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
264 | Brouwhulp data.pas |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
265 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
266 | Function THop.FlavourContribution : double; //in % * concentration in g/l |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
267 | var bt, vol : double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
268 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
269 | bt:= FTime.Value; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
270 | vol:= 0; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
271 | if FRecipe <> NIL then vol:= FRecipe.BatchSize.Value; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
272 | if FUse = huFirstWort then Result:= 0.15 * FAmount.Value * 1000 //assume 15% flavourcontribution for fwh |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
273 | else if bt > 50 then Result:= 0.10 * FAmount.Value * 1000 //assume 10% flavourcontribution as a minimum |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
274 | else |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
275 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
276 | Result:= 15.25 / (6 * sqrt(2 * PI)) * Exp(-0.5*Power((bt-21)/6, 2)) |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
277 | * FAmount.Value * 1000; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
278 | if result < 0.10 * FAmount.Value * 1000 then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
279 | Result:= 0.10 * FAmount.Value * 1000 //assume 10% flavourcontribution as a minimum |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
280 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
281 | if vol > 0 then Result:= Result / vol; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
282 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
283 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
284 | Function THop.AromaContribution : double; //in % * concentration in g/l |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
285 | var bt, vol : double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
286 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
287 | bt:= FTime.Value; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
288 | vol:= 0; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
289 | if FRecipe <> NIL then vol:= FRecipe.BatchSize.Value; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
290 | if bt > 20 then Result:= 0 |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
291 | else if bt > 7.5 then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
292 | Result:= 10.03 / (4 * sqrt(2 * PI)) * Exp(-0.5*Power((bt-7.5)/4, 2)) |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
293 | * FAmount.Value * 1000 |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
294 | else if FUse = huBoil then Result:= FAmount.Value * 1000 |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
295 | else if FUse = huAroma then Result:= 1.2 * FAmount.Value * 1000 |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
296 | else if FUse = huWhirlpool then Result:= 1.2 * FAmount.Value * 1000 |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
297 | else if FUse = huDryHop then Result:= 1.33 * FAmount.Value * 1000; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
298 | if vol > 0 then Result:= Result / vol; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
299 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
300 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
301 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
302 | Procedure TFermentable.SetpHParameters(force : boolean); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
303 | var x, ebc : double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
304 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
305 | if Between(FDIpH.Value, -0.01, 0.01) or Between(FAcidTo57.Value, -0.1, 0.1) or force then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
306 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
307 | ebc:= SRMtoEBC(FColor.Value); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
308 | case FGrainType of |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
309 | gtBase, gtKilned: |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
310 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
311 | FDIpH.Value:= -0.0132 * ebc + 5.7605; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
312 | x:= 0.4278 * ebc - 1.8106; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
313 | FAcidTo57.Value:= x; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
314 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
315 | gtRoast: |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
316 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
317 | FDIpH.Value:= 0.00018 * ebc + 4.558; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
318 | FAcidTo57.Value:= -0.0176 * ebc + 60.04; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
319 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
320 | gtCrystal: |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
321 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
322 | FDIpH.Value:= -0.0019 * ebc + 5.2175; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
323 | FAcidTo57.Value:= 0.132 * ebc + 14.277; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
324 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
325 | gtSour: |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
326 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
327 | FDIpH.Value:= 3.44; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
328 | FAcidTo57.Value:= 337; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
329 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
330 | gtSpecial: //this could be anything. Assume for now it is a non-acidulated base or kilned malt |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
331 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
332 | FDIpH.Value:= -0.0132 * ebc + 5.7605; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
333 | FAcidTo57.Value:= 0.4278 * ebc - 1.8106; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
334 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
335 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
336 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
337 | //known parameters should be filled in here |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
338 | if FSupplier.Value = 'Weyermann' then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
339 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
340 | if FName.Value = 'Vienna mout' then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
341 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
342 | FDIpH.Value:= 5.65; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
343 | FAcidTo57.Value:= 1.6; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
344 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
345 | if FName.Value = 'Münchner I' then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
346 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
347 | FDIpH.Value:= 5.44; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
348 | FAcidTo57.Value:= 8.4; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
349 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
350 | if FName.Value = 'Münchner II' then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
351 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
352 | FDIpH.Value:= 5.54; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
353 | FAcidTo57.Value:= 5.6; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
354 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
355 | if FName.Value = 'Caramunich I' then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
356 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
357 | FDIpH.Value:= 5.1; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
358 | FAcidTo57.Value:= 22.4; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
359 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
360 | if FName.Value = 'Caramunich II' then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
361 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
362 | FDIpH.Value:= 4.71; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
363 | FAcidTo57.Value:= 49; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
364 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
365 | if FName.Value = 'Caramunich III' then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
366 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
367 | FDIpH.Value:= 4.92; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
368 | FAcidTo57.Value:= 31.2; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
369 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
370 | if FName.Value = 'Cara-aroma' then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
371 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
372 | FDIpH.Value:= 4.48; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
373 | FAcidTo57.Value:= 74.4; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
374 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
375 | if FName.Value = 'Carafa I' then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
376 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
377 | FDIpH.Value:= 4.71; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
378 | FAcidTo57.Value:= 42; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
379 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
380 | if FName.Value = 'Carafa III' then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
381 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
382 | FDIpH.Value:= 4.81; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
383 | FAcidTo57.Value:= 35.4; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
384 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
385 | if FName.Value = 'Carafa II' then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
386 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
387 | FDIpH.Value:= 4.76; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
388 | FAcidTo57.Value:= 38.7; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
389 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
390 | if FName.Value = 'Carafa Special I' then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
391 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
392 | FDIpH.Value:= 4.73; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
393 | FAcidTo57.Value:= 46.4; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
394 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
395 | if FName.Value = 'Carafa Special II' then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
396 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
397 | FDIpH.Value:= 4.78; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
398 | FAcidTo57.Value:= 42.9; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
399 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
400 | if FName.Value = 'Carafa Special III' then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
401 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
402 | FDIpH.Value:= 4.83; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
403 | FAcidTo57.Value:= 38.9; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
404 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
405 | if IsInString(FName.Value, 'Zuurmout') then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
406 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
407 | FDIpH.Value:= 3.44; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
408 | FAcidTo57.Value:= 358.2; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
409 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
410 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
411 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
412 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
413 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
414 | function TFermentable.GetExtract: double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
415 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
416 | Result := 0; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
417 | if FRecipe <> nil then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
418 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
419 | Result := FAmount.Value * FYield.Value / 100 * (1 - FMoisture.Value / 100); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
420 | if FAdded = atMash then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
421 | Result := Result * FRecipe.Efficiency / 100; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
422 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
423 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
424 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
425 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
426 | function TFermentable.GetKolbachIndex: double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
427 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
428 | if FProtein.Value > 0 then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
429 | Result := FDissolvedProtein.Value / FProtein.Value |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
430 | else |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
431 | Result := 0; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
432 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
433 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
434 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
435 | Procedure TWater.AddMinerals(Ca, Mg, Na, HCO3, Cl, SO4 : double); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
436 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
437 | FCalcium.Add(Ca); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
438 | FMagnesium.Add(Mg); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
439 | FSodium.Add(Na); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
440 | FBicarbonate.Add(HCO3); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
441 | FChloride.Add(Cl); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
442 | FSulfate.Add(SO4); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
443 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
444 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
445 | function TWater.GetResidualAlkalinity: double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
446 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
447 | //Result in mg/l as CaCO3 |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
448 | Result:= FTotalAlkalinity.Value - (FCalcium.Value / 1.4 + FMagnesium.Value / 1.7); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
449 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
450 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
451 | const |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
452 | Ka1 = 0.0000004445; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
453 | Ka2 = 0.0000000000468; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
454 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
455 | Function PartCO3(pH : double) : double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
456 | var H : double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
457 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
458 | H:= Power(10, -pH); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
459 | Result:= 100 * Ka1 * Ka2 / (H*H + H * Ka1 + Ka1 * Ka2); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
460 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
461 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
462 | Function PartHCO3(pH : double) : double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
463 | var H : double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
464 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
465 | H:= Power(10, -pH); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
466 | Result:= 100 * Ka1 * H / (H*H + H * Ka1 + Ka1 * Ka2); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
467 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
468 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
469 | Function PartH2CO3(pH : double) : double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
470 | var H : double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
471 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
472 | H:= Power(10, -pH); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
473 | Result:= 100 * H * H / (H*H + H * Ka1 + Ka1 * Ka2); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
474 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
475 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
476 | Function Charge(pH : double) : double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
477 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
478 | Result:= (-2 * PartCO3(pH) - PartHCO3(pH)); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
479 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
480 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
481 | //Z alkalinity is the amount of acid (in mEq/l) needed to bring water to the target pH (Z pH) |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
482 | Function TWater.ZAlkalinity(pHZ : double) : double; //in mEq/l |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
483 | var CT, DeltaCNaught, DeltaCZ, C43, Cw, Cz : double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
484 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
485 | C43:= Charge(4.3); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
486 | Cw:= Charge(FpH.Value); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
487 | Cz:= Charge(pHz); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
488 | DeltaCNaught:= -C43+Cw; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
489 | CT:= GetAlkalinity / 50 / DeltaCNaught; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
490 | DeltaCZ:= -Cz+Cw; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
491 | Result:= CT * DeltaCZ; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
492 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
493 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
494 | //Z Residual alkalinity is the amount of acid (in mEq/l) needed to bring the water in the mash to the target pH (Z pH) |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
495 | Function TWater.ZRA(pHZ : double) : double; //in mEq/l |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
496 | var Calc, Magn, Z : double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
497 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
498 | Calc:= FCalcium.Value / (MMCa / 2); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
499 | Magn:= FMagnesium.Value / (MMMg / 2); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
500 | Z:= ZAlkalinity(pHZ); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
501 | Result:= Z - (Calc / 3.5 + Magn / 7); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
502 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
503 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
504 | Function TWater.ProtonDeficit(pHZ : double) : double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
505 | var i : integer; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
506 | F : TFermentable; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
507 | x : double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
508 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
509 | Result:= ZRA(pHZ) * FAmount.Value; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
510 | //proton deficit for the added malts |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
511 | for i:= 0 to FRecipe.NumFermentables - 1 do |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
512 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
513 | F:= FRecipe.Fermentable[i]; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
514 | if (F.AddedType = atMash) and (F.GrainType <> gtNone) then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
515 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
516 | x:= F.AcidRequired(pHZ) * F.Amount.Value; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
517 | Result:= Result + x; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
518 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
519 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
520 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
521 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
522 | Function TWater.MashpH : double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
523 | var n : integer; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
524 | pd : double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
525 | pH, deltapH, deltapd : double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
526 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
527 | Result:= 0; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
528 | n:= 0; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
529 | pH:= 5.4; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
530 | deltapH:= 0.001; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
531 | deltapd:= 0.1; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
532 | pd:= ProtonDeficit(pH); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
533 | while ((pd < -deltapd) or (pd > deltapd)) and (n < 1000) do |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
534 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
535 | inc(n); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
536 | if pd < -deltapd then ph:= ph - deltapH |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
537 | else if pd > deltapd then pH:= pH + deltapH; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
538 | pd:= ProtonDeficit(pH); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
539 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
540 | Result:= pH; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
541 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
542 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
543 | Function TWater.MashpH2(PrDef : double) : double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
544 | var n : integer; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
545 | pd : double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
546 | pH, deltapH, deltapd : double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
547 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
548 | Result:= 0; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
549 | n:= 0; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
550 | pH:= 5.4; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
551 | deltapH:= 0.001; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
552 | deltapd:= 0.1; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
553 | pd:= ProtonDeficit(pH); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
554 | while ((pd < PrDef-deltapd) or (pd > PrDef + deltapd)) and (n < 1000) do |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
555 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
556 | inc(n); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
557 | if pd < PrDef-deltapd then ph:= ph - deltapH |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
558 | else if pd > PrDef+deltapd then pH:= pH + deltapH; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
559 | pd:= ProtonDeficit(pH); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
560 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
561 | Result:= pH; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
562 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
563 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
564 | function TWater.GetAlkalinity: double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
565 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
566 | Result := FBicarbonate.Value / 1.22; //mEq/l |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
567 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
568 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
569 | function TWater.GetHardness: double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
570 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
571 | Result := 0.14 * FCalcium.Value - 0.23 * FMagnesium.Value; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
572 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
573 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
574 | function TWater.GetEstPhMash: double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
575 | {var |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
576 | pHdemi, S: double;} |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
577 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
578 | Result:= MashpH; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
579 | { Result := 0; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
580 | if FRecipe <> nil then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
581 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
582 | pHDemi := FRecipe.pHdemi; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
583 | S := 0.013 * FRecipe.MashThickness + 0.013; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
584 | Result := pHDemi + ResidualAlkalinity / 50 * S; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
585 | end;} |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
586 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
587 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
588 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
589 | function TBeerStyle.GetBUGUMin: double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
590 | var |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
591 | B, G: double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
592 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
593 | Result:= 0; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
594 | if ((FOGMax.Value + FOGMin.Value) > 0) and ((FIBUMax.Value + FIBUMin.Value) > 0) then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
595 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
596 | G := (FOGMax.Value - FOGMin.Value) / ((FOGMax.Value + FOGMin.Value) / 2); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
597 | B := (FIBUMax.Value - FIBUMin.Value) / ((FIBUMax.Value + FIBUMin.Value) / 2); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
598 | if G > B then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
599 | Result := ((FIBUMin.Value + FIBUMax.Value) / 2) / (1000 * (FOGMax.Value - 1)) |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
600 | else |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
601 | Result := FIBUMin.Value / (1000 * (((FOGMax.Value + FOGMin.Value) / 2) - 1)); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
602 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
603 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
604 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
605 | function TBeerStyle.GetBUGUMax: double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
606 | var |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
607 | B, G: double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
608 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
609 | Result:= 0; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
610 | if ((FOGMax.Value + FOGMin.Value) > 0) and ((FIBUMax.Value + FIBUMin.Value) > 0) |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
611 | and (FOGMin.Value > 1) then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
612 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
613 | G := (FOGMax.Value - FOGMin.Value) / ((FOGMax.Value + FOGMin.Value) / 2); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
614 | B := (FIBUMax.Value - FIBUMin.Value) / ((FIBUMax.Value + FIBUMin.Value) / 2); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
615 | if G > B then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
616 | Result := ((FIBUMin.Value + FIBUMax.Value) / 2) / (1000 * (FOGMin.Value - 1)) |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
617 | else |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
618 | Result := FIBUMax.Value / (1000 * (((FOGMax.Value + FOGMin.Value) / 2) - 1)); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
619 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
620 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
621 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
622 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
623 | CalcBitterness; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
624 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
625 | // Get concentration of ions in diluted brewwater (1) and target water (2) in mmol/l |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
626 | Ca1 := W.Calcium.Value / MMCa; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
627 | Ca2 := W2.Calcium.Value / MMCa; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
628 | Mg1 := W.Magnesium.Value / MMMg; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
629 | Mg2 := W2.Magnesium.Value / MMMg; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
630 | Na1 := W.Sodium.Value / MMNa; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
631 | Na2 := W2.Sodium.Value / MMNa; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
632 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
633 | CO31 := W.Bicarbonate.Value / MMHCO3; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
634 | CO32 := W2.Bicarbonate.Value / MMHCO3; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
635 | SO41 := W.Sulfate.Value / MMSO4; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
636 | SO42 := W2.Sulfate.Value / MMSO4; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
637 | Cl1 := W.Sulfate.Value / MMSO4; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
638 | Cl2 := W2.Sulfate.Value / MMSO4; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
639 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
640 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
641 | procedure MixWater(W1, W2, Wr: TWater); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
642 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
643 | function Mix(V1, V2, C1, C2: double): double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
644 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
645 | if (V1 + V2) > 0 then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
646 | Result := (V1 * C1 + V2 * C2) / (V1 + V2) |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
647 | else |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
648 | Result := 0; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
649 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
650 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
651 | var |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
652 | vol1, vol2: double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
653 | phnew: double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
654 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
655 | vol1 := W1.Amount.Value; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
656 | vol2 := W2.Amount.Value; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
657 | if (vol1 + vol2) > 0 then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
658 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
659 | Wr.Amount.Value := vol1 + vol2; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
660 | Wr.Calcium.Value := Mix(vol1, vol2, W1.Calcium.Value, W2.Calcium.Value); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
661 | Wr.Magnesium.Value := Mix(vol1, vol2, W1.Magnesium.Value, W2.Magnesium.Value); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
662 | Wr.Sodium.Value := Mix(vol1, vol2, W1.Sodium.Value, W2.Sodium.Value); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
663 | Wr.Bicarbonate.Value := Mix(vol1, vol2, W1.Bicarbonate.Value, W2.Bicarbonate.Value); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
664 | Wr.Sulfate.Value := Mix(vol1, vol2, W1.Sulfate.Value, W2.Sulfate.Value); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
665 | Wr.Chloride.Value := Mix(vol1, vol2, W1.Chloride.Value, W2.Chloride.Value); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
666 | pHnew := -log10((power(10, -W1.pHWater.Value) * vol1 + |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
667 | power(10, -W2.pHWater.Value) * vol2) / (vol1 + vol2)); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
668 | Wr.pHwater.Value := pHnew; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
669 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
670 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
671 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
672 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
673 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
674 | function TRecipe.CalcColorWort : double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
675 | var |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
676 | i: integer; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
677 | F: TFermentable; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
678 | c, v: double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
679 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
680 | c := 0; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
681 | v := FBatchSize.Value; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
682 | if (v > 0) and (High(FFermentables) >= 0) then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
683 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
684 | for i := Low(FFermentables) to High(FFermentables) do |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
685 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
686 | F := TFermentable(FFermentables[i]); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
687 | c := c + F.Amount.Value * F.Color.Value / v; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
688 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
689 | c := c * 8.34436; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
690 | case FColorMethod of |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
691 | cmMorey: c := 1.49 * Power(c, 0.69); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
692 | cmMosher: c := 0.3 * c + 4.7; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
693 | cmDaniels: c := 0.2 * c + 8.4; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
694 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
695 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
696 | Result:= c; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
697 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
698 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
699 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
700 | procedure TRecipe.CalcWaterBalance; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
701 | var |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
702 | i: integer; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
703 | F: TFermentable; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
704 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
705 | FAbsorbedByGrain := 0; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
706 | for i := Low(FFermentables) to High(FFermentables) do |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
707 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
708 | F := TFermentable(FFermentables[i]); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
709 | if (F.FermentableType = ftGrain) or (F.FermentableType = ftAdjunct) then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
710 | FAbsorbedByGrain := FAbsorbedByGrain + F.Amount.Value; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
711 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
712 | FAbsorbedByGrain := FAbsorbedByGrain * Settings.GrainAbsorption.Value; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
713 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
714 | if FEquipment.CalcBoilVolume.Value then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
715 | {FBoilSize.Value := FBatchSize.Value / (1 - (FEquipment.EvapRate.Value / 100) * |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
716 | (FBoilTime.Value / 60));} |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
717 | FBoilSize.Value:= FBatchSize.Value + FEquipment.BoilSize.Value |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
718 | * FEquipment.EvapRate.Value / 100 * |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
719 | (FBoilTime.Value / 60); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
720 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
721 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
722 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
723 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
724 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
725 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
726 | Procedure TRecipe.CalcCalories; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
727 | var sug, alc, org, fig : double; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
728 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
729 | if FOGFermenter.Value > 1.001 then org:= FOGFermenter.Value |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
730 | else if FOG.Value > 1.001 then org:= FOG.Value |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
731 | else org:= 0; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
732 | if FFG.Value > 0.999 then fig:= FFG.Value |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
733 | else if FEstFG.Value > 1.000 then fig:= FEstFG.Value |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
734 | else if FEstFG2.Value > 1.000 then fig:= FEstFG2.Value |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
735 | else fig:= 0; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
736 | if (org > 0) and (fig > 0) then |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
737 | begin |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
738 | alc:= 1881.22 * fig * (org - fig) / (1.775 - org); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
739 | sug:= 3550 * fig * (0.1808 * org + 0.8192 * fig - 1.0004); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
740 | FCalories.Value:= (alc + sug) / (12 * 0.0295735296); |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
741 | end |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
742 | else FCalories.Value:= 0; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
743 | end; |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
744 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
745 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
746 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
747 | |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
748 | */ |
ca7a37586551
Added SG/Plato formulas for PHP. Added OG calculation in the recipe print.
Michiel Broek <mbroek@mbse.eu>
parents:
83
diff
changeset
|
749 | |
11 | 750 | ?> |