489 /* |
489 /* |
490 * Calculate the apparant attenuation. |
490 * Calculate the apparant attenuation. |
491 */ |
491 */ |
492 double svg = 0; |
492 double svg = 0; |
493 double initcells = 0; |
493 double initcells = 0; |
|
494 bool sta1 = false; |
494 product->yeasts_ok = true; |
495 product->yeasts_ok = true; |
495 if (product->yeasts.size() > 0) { |
496 if (product->yeasts.size() > 0) { |
496 for (i = 0; i < product->yeasts.size(); i++) { |
497 for (i = 0; i < product->yeasts.size(); i++) { |
497 if (product->yeasts.at(i).use == 0) { // Used in primary |
498 if (product->yeasts.at(i).use == 0) { // Used in primary |
498 if (product->yeasts.at(i).attenuation > svg) |
499 if (product->yeasts.at(i).attenuation > svg) |
499 svg = product->yeasts.at(i).attenuation; // Take the highest if multiple yeasts. |
500 svg = product->yeasts.at(i).attenuation; // Take the highest if multiple yeasts. |
|
501 if (product->yeasts.at(i).sta1) |
|
502 sta1 = true; |
500 } |
503 } |
501 if (product->yeasts.at(i).form == 0) |
504 if (product->yeasts.at(i).form == 0) |
502 initcells += (product->yeasts.at(i).cells / 1000000000) * product->yeasts.at(i).amount * (product->starter_viability / 100); |
505 initcells += (product->yeasts.at(i).cells / 1000000000) * product->yeasts.at(i).amount * (product->starter_viability / 100); |
503 else |
506 else |
504 initcells += (product->yeasts.at(i).cells / 1000000) * product->yeasts.at(i).amount * (product->starter_viability / 100); |
507 initcells += (product->yeasts.at(i).cells / 1000000) * product->yeasts.at(i).amount * (product->starter_viability / 100); |
516 if (svg == 0) |
519 if (svg == 0) |
517 svg = 77.0; |
520 svg = 77.0; |
518 ui->est_svgEdit->setValue(svg); |
521 ui->est_svgEdit->setValue(svg); |
519 |
522 |
520 if (product->mashs_kg > 0 && mashinfuse > 0 && mashtime > 0 && mashtemp > 0) |
523 if (product->mashs_kg > 0 && mashinfuse > 0 && mashtime > 0 && mashtemp > 0) |
521 product->est_fg = Utils::estimate_fg(psugar, pcara, mashinfuse / product->mashs_kg, mashtime, mashtemp, svg, product->est_og); |
524 product->est_fg = Utils::estimate_fg(psugar, pcara, mashinfuse / product->mashs_kg, mashtime, mashtemp, svg, product->est_og, sta1); |
522 else |
525 else |
523 product->est_fg = Utils::estimate_fg(psugar, pcara, 0, 0, 0, svg, product->est_og); |
526 product->est_fg = Utils::estimate_fg(psugar, pcara, 0, 0, 0, svg, product->est_og, sta1); |
524 qDebug() << " est FG" << ui->est_fgEdit->value() << product->est_fg; |
527 qDebug() << " est FG" << ui->est_fgEdit->value() << product->est_fg; |
525 product->est_abv = Utils::abvol(product->est_og, product->est_fg); |
528 product->est_abv = Utils::abvol(product->est_og, product->est_fg); |
526 // qDebug() << " est ABV" << ui->est_abvEdit->value() << product->est_abv; |
529 // qDebug() << " est ABV" << ui->est_abvEdit->value() << product->est_abv; |
527 |
530 |
528 if (product->stage > PROD_STAGE_TERTIARY) { |
531 if (product->stage > PROD_STAGE_TERTIARY) { |