159 int AT; |
159 int AT; |
160 |
160 |
161 qDebug() << "calcWater()"; |
161 qDebug() << "calcWater()"; |
162 |
162 |
163 ui->w1_hardnessEdit->setValue(Utils::Hardness(recipe->w1_calcium, recipe->w1_magnesium)); |
163 ui->w1_hardnessEdit->setValue(Utils::Hardness(recipe->w1_calcium, recipe->w1_magnesium)); |
164 ui->w1_raEdit->setValue(Utils::RA_ppm(recipe->w1_total_alkalinity, recipe->w1_calcium, recipe->w1_magnesium)); |
164 ui->w1_raEdit->setValue(Utils::ResidualAlkalinity(recipe->w1_total_alkalinity, recipe->w1_calcium, recipe->w1_magnesium)); |
165 |
165 |
166 /* |
166 /* |
167 * If there is a dilute water source, mix the waters. |
167 * If there is a dilute water source, mix the waters. |
168 */ |
168 */ |
169 if (recipe->w2_name != "") { |
169 if (recipe->w2_name != "") { |
174 chloride = Utils::mix(recipe->w1_amount, recipe->w2_amount, recipe->w1_chloride, recipe->w2_chloride); |
174 chloride = Utils::mix(recipe->w1_amount, recipe->w2_amount, recipe->w1_chloride, recipe->w2_chloride); |
175 sulfate = Utils::mix(recipe->w1_amount, recipe->w2_amount, recipe->w1_sulfate, recipe->w2_sulfate); |
175 sulfate = Utils::mix(recipe->w1_amount, recipe->w2_amount, recipe->w1_sulfate, recipe->w2_sulfate); |
176 total_alkalinity = Utils::mix(recipe->w1_amount, recipe->w2_amount, recipe->w1_total_alkalinity, recipe->w2_total_alkalinity); |
176 total_alkalinity = Utils::mix(recipe->w1_amount, recipe->w2_amount, recipe->w1_total_alkalinity, recipe->w2_total_alkalinity); |
177 ph = -log10(((pow(10, -recipe->w1_ph) * recipe->w1_amount) + (pow(10, -recipe->w2_ph) * recipe->w2_amount)) / liters); |
177 ph = -log10(((pow(10, -recipe->w1_ph) * recipe->w1_amount) + (pow(10, -recipe->w2_ph) * recipe->w2_amount)) / liters); |
178 ui->w2_hardnessEdit->setValue(Utils::Hardness(recipe->w2_calcium, recipe->w2_magnesium)); |
178 ui->w2_hardnessEdit->setValue(Utils::Hardness(recipe->w2_calcium, recipe->w2_magnesium)); |
179 ui->w2_raEdit->setValue(Utils::RA_ppm(recipe->w2_total_alkalinity, recipe->w2_calcium, recipe->w2_magnesium)); |
179 ui->w2_raEdit->setValue(Utils::ResidualAlkalinity(recipe->w2_total_alkalinity, recipe->w2_calcium, recipe->w2_magnesium)); |
180 } else { |
180 } else { |
181 liters = recipe->w1_amount; |
181 liters = recipe->w1_amount; |
182 calcium = recipe->w1_calcium; |
182 calcium = recipe->w1_calcium; |
183 magnesium = recipe->w1_magnesium; |
183 magnesium = recipe->w1_magnesium; |
184 sodium = recipe->w1_sodium; |
184 sodium = recipe->w1_sodium; |
195 recipe->wg_chloride = round(chloride * 10.0) / 10.0; |
195 recipe->wg_chloride = round(chloride * 10.0) / 10.0; |
196 recipe->wg_sulfate = round(sulfate * 10.0) / 10.0; |
196 recipe->wg_sulfate = round(sulfate * 10.0) / 10.0; |
197 recipe->wg_total_alkalinity = round(total_alkalinity * 10.0) / 10.0; |
197 recipe->wg_total_alkalinity = round(total_alkalinity * 10.0) / 10.0; |
198 recipe->wg_ph = ph; |
198 recipe->wg_ph = ph; |
199 |
199 |
|
200 bicarbonate = Utils::Bicarbonate(total_alkalinity, ph); |
200 ui->wg_volEdit->setValue(liters); |
201 ui->wg_volEdit->setValue(liters); |
201 ui->wg_caEdit->setValue(calcium); |
202 ui->wg_caEdit->setValue(calcium); |
202 ui->wg_mgEdit->setValue(magnesium); |
203 ui->wg_mgEdit->setValue(magnesium); |
203 ui->wg_hco3Edit->setValue(total_alkalinity * 1.22); |
204 ui->wg_hco3Edit->setValue(bicarbonate); |
204 ui->wg_caco3Edit->setValue(total_alkalinity); |
205 ui->wg_caco3Edit->setValue(total_alkalinity); |
205 ui->wg_naEdit->setValue(sodium); |
206 ui->wg_naEdit->setValue(sodium); |
206 ui->wg_clEdit->setValue(chloride); |
207 ui->wg_clEdit->setValue(chloride); |
207 ui->wg_so4Edit->setValue(sulfate); |
208 ui->wg_so4Edit->setValue(sulfate); |
208 ui->wg_phEdit->setValue(ph); |
209 ui->wg_phEdit->setValue(ph); |
209 ui->wg_hardnessEdit->setValue(Utils::Hardness(calcium, magnesium)); |
210 ui->wg_hardnessEdit->setValue(Utils::Hardness(calcium, magnesium)); |
210 ui->wg_raEdit->setValue(Utils::RA_ppm(total_alkalinity, calcium, magnesium)); |
211 ui->wg_raEdit->setValue(Utils::ResidualAlkalinity(total_alkalinity, calcium, magnesium)); |
211 bicarbonate = total_alkalinity * 1.22; |
|
212 |
212 |
213 /* Save mixed water ions for later */ |
213 /* Save mixed water ions for later */ |
214 double wg_calcium = calcium; |
214 double wg_calcium = calcium; |
215 double wg_sodium = sodium; |
215 double wg_sodium = sodium; |
216 double wg_total_alkalinity = total_alkalinity; |
216 double wg_total_alkalinity = total_alkalinity; |
381 ui->wb_caco3Edit->setValue(total_alkalinity); |
381 ui->wb_caco3Edit->setValue(total_alkalinity); |
382 ui->wb_naEdit->setValue(sodium); |
382 ui->wb_naEdit->setValue(sodium); |
383 ui->wb_clEdit->setValue(chloride); |
383 ui->wb_clEdit->setValue(chloride); |
384 ui->wb_so4Edit->setValue(sulfate); |
384 ui->wb_so4Edit->setValue(sulfate); |
385 ui->wb_hardnessEdit->setValue(Utils::Hardness(calcium, magnesium)); |
385 ui->wb_hardnessEdit->setValue(Utils::Hardness(calcium, magnesium)); |
386 ui->wb_raEdit->setValue(Utils::RA_ppm(total_alkalinity, calcium, magnesium)); |
386 ui->wb_raEdit->setValue(Utils::ResidualAlkalinity(total_alkalinity, calcium, magnesium)); |
387 |
387 |
388 ui->wb_caEdit->setStyleSheet((calcium < 40 || calcium > 150) ? "background-color: red":"background-color: green"); |
388 ui->wb_caEdit->setStyleSheet((calcium < 40 || calcium > 150) ? "background-color: red":"background-color: green"); |
389 ui->wb_mgEdit->setStyleSheet((magnesium < 5 || magnesium > 40) ? "background-color: red":"background-color: green"); |
389 ui->wb_mgEdit->setStyleSheet((magnesium < 5 || magnesium > 40) ? "background-color: red":"background-color: green"); |
390 ui->wb_naEdit->setStyleSheet((sodium > 150) ? "background-color: red":"background-color: green"); |
390 ui->wb_naEdit->setStyleSheet((sodium > 150) ? "background-color: red":"background-color: green"); |
391 /* |
391 /* |
655 for (int i = 0; i < (val - 1); i++) { |
655 for (int i = 0; i < (val - 1); i++) { |
656 query.next(); |
656 query.next(); |
657 } |
657 } |
658 qDebug() << "set water" << query.value(1).toString(); |
658 qDebug() << "set water" << query.value(1).toString(); |
659 |
659 |
660 recipe->w1_name = query.value(1).toString(); |
660 recipe->w1_name = query.value("name").toString(); |
661 recipe->w1_calcium = query.value(3).toDouble(); |
661 recipe->w1_calcium = query.value("calcium").toDouble(); |
662 recipe->w1_magnesium = query.value(8).toDouble(); |
662 recipe->w1_magnesium = query.value("magnesium").toDouble(); |
663 recipe->w1_total_alkalinity = query.value(11).toDouble(); |
663 recipe->w1_total_alkalinity = query.value("total_alkalinity").toDouble(); |
664 recipe->w1_sodium = query.value(7).toDouble(); |
664 recipe->w1_sodium = query.value("sodium").toDouble(); |
665 recipe->w1_chloride = query.value(6).toDouble(); |
665 recipe->w1_chloride = query.value("chloride").toDouble(); |
666 recipe->w1_sulfate = query.value(5).toDouble(); |
666 recipe->w1_sulfate = query.value("sulfate").toDouble(); |
667 recipe->w1_ph = query.value(9).toDouble(); |
667 recipe->w1_ph = query.value("ph").toDouble(); |
668 |
668 |
669 ui->w1_caEdit->setValue(recipe->w1_calcium); |
669 ui->w1_caEdit->setValue(recipe->w1_calcium); |
670 ui->w1_mgEdit->setValue(recipe->w1_magnesium); |
670 ui->w1_mgEdit->setValue(recipe->w1_magnesium); |
671 ui->w1_hco3Edit->setValue(recipe->w1_total_alkalinity * 1.22); |
671 ui->w1_hco3Edit->setValue(Utils::Bicarbonate(recipe->w1_total_alkalinity, recipe->w1_ph)); |
672 ui->w1_caco3Edit->setValue(recipe->w1_total_alkalinity); |
672 ui->w1_caco3Edit->setValue(recipe->w1_total_alkalinity); |
673 ui->w1_naEdit->setValue(recipe->w1_sodium); |
673 ui->w1_naEdit->setValue(recipe->w1_sodium); |
674 ui->w1_clEdit->setValue(recipe->w1_chloride); |
674 ui->w1_clEdit->setValue(recipe->w1_chloride); |
675 ui->w1_so4Edit->setValue(recipe->w1_sulfate); |
675 ui->w1_so4Edit->setValue(recipe->w1_sulfate); |
676 ui->w1_phEdit->setValue(recipe->w1_ph); |
676 ui->w1_phEdit->setValue(recipe->w1_ph); |
677 ui->w1_hardnessEdit->setValue(Utils::Hardness(product->w1_calcium, product->w1_magnesium)); |
677 ui->w1_hardnessEdit->setValue(Utils::Hardness(recipe->w1_calcium, recipe->w1_magnesium)); |
678 ui->w1_raEdit->setValue(Utils::RA_ppm(product->w1_total_alkalinity, product->w1_calcium, product->w1_magnesium)); |
678 ui->w1_raEdit->setValue(Utils::ResidualAlkalinity(recipe->w1_total_alkalinity, recipe->w1_calcium, recipe->w1_magnesium)); |
679 |
679 |
680 is_changed(); |
680 is_changed(); |
681 calcWater(); |
681 calcWater(); |
682 } |
682 } |
683 |
683 |
708 for (int i = 0; i < (val - 1); i++) { |
708 for (int i = 0; i < (val - 1); i++) { |
709 query.next(); |
709 query.next(); |
710 } |
710 } |
711 qDebug() << "set water" << query.value(1).toString(); |
711 qDebug() << "set water" << query.value(1).toString(); |
712 |
712 |
713 recipe->w2_name = query.value(1).toString(); |
713 recipe->w2_name = query.value("name").toString(); |
714 recipe->w2_calcium = query.value(3).toDouble(); |
714 recipe->w2_calcium = query.value("calcium").toDouble(); |
715 recipe->w2_magnesium = query.value(8).toDouble(); |
715 recipe->w2_magnesium = query.value("magnesium").toDouble(); |
716 recipe->w2_total_alkalinity = query.value(11).toDouble(); |
716 recipe->w2_total_alkalinity = query.value("total_alkalinity").toDouble(); |
717 recipe->w2_sodium = query.value(7).toDouble(); |
717 recipe->w2_sodium = query.value("sodium").toDouble(); |
718 recipe->w2_chloride = query.value(6).toDouble(); |
718 recipe->w2_chloride = query.value("chloride").toDouble(); |
719 recipe->w2_sulfate = query.value(5).toDouble(); |
719 recipe->w2_sulfate = query.value("sulfate").toDouble(); |
720 recipe->w2_ph = query.value(9).toDouble(); |
720 recipe->w2_ph = query.value("ph").toDouble(); |
721 hardness = Utils::Hardness(product->w2_calcium, product->w2_magnesium); |
721 hardness = Utils::Hardness(recipe->w2_calcium, recipe->w2_magnesium); |
722 ra_ppm = Utils::RA_ppm(product->w2_total_alkalinity, product->w2_calcium, product->w2_magnesium); |
722 ra_ppm = Utils::ResidualAlkalinity(recipe->w2_total_alkalinity, recipe->w2_calcium, recipe->w2_magnesium); |
723 } |
723 } |
724 ui->w1_volEdit->setValue(recipe->w1_amount); |
724 ui->w1_volEdit->setValue(recipe->w1_amount); |
725 ui->w2_volEdit->setValue(recipe->w2_amount); |
725 ui->w2_volEdit->setValue(recipe->w2_amount); |
726 ui->w2_caEdit->setValue(recipe->w2_calcium); |
726 ui->w2_caEdit->setValue(recipe->w2_calcium); |
727 ui->w2_mgEdit->setValue(recipe->w2_magnesium); |
727 ui->w2_mgEdit->setValue(recipe->w2_magnesium); |
728 ui->w2_hco3Edit->setValue(recipe->w2_total_alkalinity * 1.22); |
728 ui->w2_hco3Edit->setValue(Utils::Bicarbonate(recipe->w2_total_alkalinity, recipe->w2_ph)); |
729 ui->w2_caco3Edit->setValue(recipe->w2_total_alkalinity); |
729 ui->w2_caco3Edit->setValue(recipe->w2_total_alkalinity); |
730 ui->w2_naEdit->setValue(recipe->w2_sodium); |
730 ui->w2_naEdit->setValue(recipe->w2_sodium); |
731 ui->w2_clEdit->setValue(recipe->w2_chloride); |
731 ui->w2_clEdit->setValue(recipe->w2_chloride); |
732 ui->w2_so4Edit->setValue(recipe->w2_sulfate); |
732 ui->w2_so4Edit->setValue(recipe->w2_sulfate); |
733 ui->w2_phEdit->setValue(recipe->w2_ph); |
733 ui->w2_phEdit->setValue(recipe->w2_ph); |
767 ui->wt_caco3Edit->setValue(query.value("total_alkalinity").toDouble()); |
767 ui->wt_caco3Edit->setValue(query.value("total_alkalinity").toDouble()); |
768 ui->wt_naEdit->setValue(query.value("sodium").toDouble()); |
768 ui->wt_naEdit->setValue(query.value("sodium").toDouble()); |
769 ui->wt_clEdit->setValue(query.value("chloride").toDouble()); |
769 ui->wt_clEdit->setValue(query.value("chloride").toDouble()); |
770 ui->wt_so4Edit->setValue(query.value("sulfate").toDouble()); |
770 ui->wt_so4Edit->setValue(query.value("sulfate").toDouble()); |
771 ui->wt_hardnessEdit->setValue(Utils::Hardness(query.value("calcium").toDouble(), query.value("magnesium").toDouble())); |
771 ui->wt_hardnessEdit->setValue(Utils::Hardness(query.value("calcium").toDouble(), query.value("magnesium").toDouble())); |
772 ui->wt_raEdit->setValue(Utils::RA_ppm(query.value("total_alkalinity").toDouble(), query.value("calcium").toDouble(), query.value("magnesium").toDouble())); |
772 ui->wt_raEdit->setValue(Utils::ResidualAlkalinity(query.value("total_alkalinity").toDouble(), query.value("calcium").toDouble(), query.value("magnesium").toDouble())); |
773 } |
773 } |
774 calcWater(); |
774 calcWater(); |
775 } |
775 } |
776 |
776 |
777 |
777 |