src/EditProductTab8.cpp

changeset 395
7212b980a527
parent 365
4bc746c65650
child 435
6f84ab6125ad
equal deleted inserted replaced
394:f41d02c129e5 395:7212b980a527
185 ui->w1_spButton->setChecked(true); 185 ui->w1_spButton->setChecked(true);
186 } 186 }
187 } 187 }
188 188
189 189
190 void EditProduct::calcBU()
191 {
192 if (product->stage < PROD_STAGE_WAIT)
193 return;
194
195 double BUGU = GetBUGU();
196 ui->buguEdit->setValue(BUGU);
197 ui->est_buguEdit->setValue(BUGU);
198 ui->est_buguShow->setValue(BUGU);
199 if (BUGU < 0.32)
200 ui->buguResult->setText(tr("Very malty and sweet"));
201 else if (BUGU < 0.43)
202 ui->buguResult->setText(tr("Malty, sweet"));
203 else if (BUGU < 0.52)
204 ui->buguResult->setText(tr("Balanced"));
205 else if (BUGU < 0.63)
206 ui->buguResult->setText(tr("Hoppy, bitter"));
207 else
208 ui->buguResult->setText(tr("Very hoppy, very bitter"));
209
210 double og = product->est_og;
211 double fg = product->est_fg;
212 double ibu = product->est_ibu;
213
214 if (product->stage > PROD_STAGE_BREW) {
215 og = product->brew_fermenter_sg;
216 ibu = product->brew_fermenter_ibu;
217 }
218 if (product->stage > PROD_STAGE_TERTIARY) {
219 fg = product->fg;
220 }
221
222 if (fg < 1.002) /* Can't be too low for this */
223 fg = 1.002;
224
225 double bure = ibu / ((0.1808 * Utils::sg_to_plato(og)) + (0.8192 * Utils::sg_to_plato(fg)));
226 qDebug() << "BU:RE" << bure << product->est_fg << product->fg << product->est_ibu << product->brew_fermenter_ibu;
227 ui->est_bufguEdit->setValue(bure);
228 ui->est_bufguShow->setValue(bure);
229
230 }
231
232
190 void EditProduct::calcWater() 233 void EditProduct::calcWater()
191 { 234 {
192 double liters = 0; 235 double liters = 0;
193 double calcium = 0; 236 double calcium = 0;
194 double magnesium = 0; 237 double magnesium = 0;
381 RA = ui->bs_cacl2Edit->value() * MMCl / MMCaCl2 + ui->bs_naclEdit->value() * MMCl / MMNaCl + Acidmg / 1000 * MMCl / (MMCl + 1); 424 RA = ui->bs_cacl2Edit->value() * MMCl / MMCaCl2 + ui->bs_naclEdit->value() * MMCl / MMNaCl + Acidmg / 1000 * MMCl / (MMCl + 1);
382 RA = 1000 * RA / liters; 425 RA = 1000 * RA / liters;
383 chloride = wg_chloride + RA; 426 chloride = wg_chloride + RA;
384 } 427 }
385 428
386 double BUGU = GetBUGU(); 429 calcBU();
387 ui->buguEdit->setValue(BUGU);
388 if (BUGU < 0.32)
389 ui->buguResult->setText(tr("Very malty and sweet"));
390 else if (BUGU < 0.43)
391 ui->buguResult->setText(tr("Malty, sweet"));
392 else if (BUGU < 0.52)
393 ui->buguResult->setText(tr("Balanced"));
394 else if (BUGU < 0.63)
395 ui->buguResult->setText(tr("Hoppy, bitter"));
396 else
397 ui->buguResult->setText(tr("Very hoppy, very bitter"));
398 430
399 double OptSO4Clratio = GetOptSO4Clratio(); 431 double OptSO4Clratio = GetOptSO4Clratio();
400 ui->so4clEdit->setValue(OptSO4Clratio); 432 ui->so4clEdit->setValue(OptSO4Clratio);
401 ui->cur_so4clResult->setRange(0.7 * OptSO4Clratio, 1.3 * OptSO4Clratio); 433 ui->cur_so4clResult->setRange(0.7 * OptSO4Clratio, 1.3 * OptSO4Clratio);
402 if (OptSO4Clratio < 0.4) 434 if (OptSO4Clratio < 0.4)
772 } 804 }
773 805
774 806
775 double EditProduct::GetBUGU() 807 double EditProduct::GetBUGU()
776 { 808 {
777 double gu = (product->est_og - 1) * 1000; 809 double og = product->est_og;
810 double ibu = product->est_ibu;
811
812 if (product->stage > PROD_STAGE_BREW) {
813 og = product->brew_fermenter_sg;
814 ibu = product->brew_fermenter_ibu;
815 }
816
817 double gu = (og - 1) * 1000;
778 if (gu > 0) 818 if (gu > 0)
779 return product->est_ibu / gu; 819 return ibu / gu;
780 return 0.5; 820 return 0.5;
781 } 821 }
782 822
783 823
784 double EditProduct::GetOptSO4Clratio() 824 double EditProduct::GetOptSO4Clratio()

mercurial