src/Utils.cpp

changeset 134
5099df8ba6c6
parent 131
0115b97e8c39
child 135
e68b27ad8a40
equal deleted inserted replaced
133:08635b028dcf 134:5099df8ba6c6
462 } 462 }
463 return (result * amount * 1000.0) / vol; 463 return (result * amount * 1000.0) / vol;
464 } 464 }
465 465
466 466
467 double Utils::mix(double v1, double v2, double c1, double c2)
468 {
469 if ((v1 + v2) > 0) {
470 return ((v1 * c1) + (v2 * c2)) / (v1 + v2);
471 }
472 return 0;
473 }
474
475
476 double Utils::ResidualAlkalinity(double total_alkalinity, double calcium, double magnesium)
477 {
478 return total_alkalinity - (calcium / 1.4 + magnesium / 1.7);
479 }
480
481
482 double Utils::PartCO3(double pH)
483 {
484 double H = pow(10, -pH);
485 return 100 * Ka1 * Ka2 / (H * H + H * Ka1 + Ka1 * Ka2);
486 }
487
488
489 double Utils::PartHCO3(double pH)
490 {
491 double H = pow(10, -pH);
492 return 100 * Ka1 * H / (H * H + H * Ka1 + Ka1 * Ka2);
493 }
494
495
496 double Utils::Charge(double pH)
497 {
498 return (-2 * PartCO3(pH) - PartHCO3(pH));
499 }
500

mercurial