1747 } |
1747 } |
1748 if (loop == 0) |
1748 if (loop == 0) |
1749 checkInput(&painter, &y, QString(tr("Measure and adjust pH (target %1 pH)")).arg(product->mash_ph, 1, 'f', 2), QString(tr("pH"))); |
1749 checkInput(&painter, &y, QString(tr("Measure and adjust pH (target %1 pH)")).arg(product->mash_ph, 1, 'f', 2), QString(tr("pH"))); |
1750 loop++; |
1750 loop++; |
1751 } |
1751 } |
1752 double est_masg_sg = 0, sugardensity = 1.611, grainabsorbtion = 0; |
1752 double sugardensity = 1.611, grainabsorption = 0; |
1753 for (int i = 0; i < product->fermentables.size(); i++) { |
1753 for (int i = 0; i < product->fermentables.size(); i++) { |
1754 if (product->fermentables.at(i).added == FERMENTABLE_ADDED_MASH) { |
1754 if (product->fermentables.at(i).added == FERMENTABLE_ADDED_MASH) { |
1755 double d = product->fermentables.at(i).amount * factor * (product->fermentables.at(i).yield / 100) * |
1755 double d = product->fermentables.at(i).amount * factor * (product->fermentables.at(i).yield / 100) * |
1756 (1 - product->fermentables.at(i).moisture / 100); |
1756 (1 - product->fermentables.at(i).moisture / 100); |
1757 mvol += product->fermentables.at(i).amount * factor * (product->fermentables.at(i).moisture / 100); |
1757 mvol += product->fermentables.at(i).amount * factor * (product->fermentables.at(i).moisture / 100); |
1758 grainabsorbtion += my_grain_absorbtion * product->fermentables.at(i).amount * factor; |
1758 grainabsorption += my_grain_absorption * product->fermentables.at(i).amount * factor; |
1759 msugars += d; |
1759 msugars += d; |
1760 } |
1760 } |
1761 } |
1761 } |
1762 double v = msugars / sugardensity + mvol; |
1762 double v = msugars / sugardensity + mvol; |
1763 double plato = 1000.0 * msugars / (v * 10.0); // deg. Plato |
1763 double plato = 1000.0 * msugars / (v * 10.0); // deg. Plato |
1774 checkHeader(&painter, &y, tr("Lauter and Sparge")); |
1774 checkHeader(&painter, &y, tr("Lauter and Sparge")); |
1775 checkLine(&painter, &y, QString(tr("Heat sparge water to %1°C")).arg(product->sparge_temp, 1, 'f', 1)); |
1775 checkLine(&painter, &y, QString(tr("Heat sparge water to %1°C")).arg(product->sparge_temp, 1, 'f', 1)); |
1776 checkInput(&painter, &y, QString(tr("Bring water to %1 pH with %2 ml. `%3`")).arg(product->sparge_ph, 1, 'f', 2) |
1776 checkInput(&painter, &y, QString(tr("Bring water to %1 pH with %2 ml. `%3`")).arg(product->sparge_ph, 1, 'f', 2) |
1777 .arg(product->sparge_acid_amount * 1000 * factor, 1, 'f', 2).arg(my_acids.at(product->sparge_acid_type).name_en), QString(tr("pH"))); |
1777 .arg(product->sparge_acid_amount * 1000 * factor, 1, 'f', 2).arg(my_acids.at(product->sparge_acid_type).name_en), QString(tr("pH"))); |
1778 checkLine(&painter, &y, QString(tr("Sparge with close to %1 liter water")) |
1778 checkLine(&painter, &y, QString(tr("Sparge with close to %1 liter water")) |
1779 .arg(((product->boil_size * factor) - mashwater + grainabsorbtion + product->eq_lauter_deadspace) * 1.03, 1, 'f', 1)); |
1779 .arg(((product->boil_size * factor) - mashwater + grainabsorption + product->eq_lauter_deadspace) * 1.03, 1, 'f', 1)); |
1780 checkInput(&painter, &y, QString(tr("Target volume in boil kettle: %1 liter (%2 cm below kettle top)")) |
1780 checkInput(&painter, &y, QString(tr("Target volume in boil kettle: %1 liter (%2 cm below kettle top)")) |
1781 .arg(product->boil_size * factor * 1.04, 1, 'f', 1) |
1781 .arg(product->boil_size * factor * 1.04, 1, 'f', 1) |
1782 .arg(Utils::kettle_cm(product->boil_size * factor * 1.04, product->eq_kettle_volume, product->eq_kettle_height), 1, 'f', 1), |
1782 .arg(Utils::kettle_cm(product->boil_size * factor * 1.04, product->eq_kettle_volume, product->eq_kettle_height), 1, 'f', 1), |
1783 QString(tr("cm"))); |
1783 QString(tr("cm"))); |
1784 checkInput(&painter, &y, QString(tr("Target SG in boil kettle: ")) + strDensity(product->preboil_sg), QString(tr("SG"))); |
1784 checkInput(&painter, &y, QString(tr("Target SG in boil kettle: ")) + strDensity(product->preboil_sg), QString(tr("SG"))); |