2973 } |
2973 } |
2974 return 0; |
2974 return 0; |
2975 } |
2975 } |
2976 |
2976 |
2977 // mg/l as CaCO3 |
2977 // mg/l as CaCO3 |
2978 function ResidualAlkalinity(total_alkalinity, calcium, magnesium) { |
2978 // function ResidualAlkalinity(total_alkalinity, calcium, magnesium) { |
2979 return total_alkalinity - (calcium / 1.4 + magnesium / 1.7); |
2979 // return total_alkalinity - (calcium / 1.4 + magnesium / 1.7); |
2980 } |
2980 // } |
2981 |
2981 |
2982 function PartCO3(pH) { |
2982 function PartCO3(pH) { |
2983 var H = Math.pow(10, -pH); |
2983 var H = Math.pow(10, -pH); |
2984 return 100 * Ka1 * Ka2 / (H * H + H * Ka1 + Ka1 * Ka2); |
2984 return 100 * Ka1 * Ka2 / (H * H + H * Ka1 + Ka1 * Ka2); |
2985 } |
2985 } |
3227 sodium = wg_sodium + RA; |
3227 sodium = wg_sodium + RA; |
3228 // HCO3 |
3228 // HCO3 |
3229 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNaHCO3 * 1000) / liters; |
3229 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNaHCO3 * 1000) / liters; |
3230 bicarbonate = wg_bicarbonate + RA; |
3230 bicarbonate = wg_bicarbonate + RA; |
3231 total_alkalinity = bicarbonate * 50 / 61; |
3231 total_alkalinity = bicarbonate * 50 / 61; |
3232 RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium); |
3232 // RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium); |
3233 } |
3233 } |
3234 break; |
3234 break; |
3235 case 1: |
3235 case 1: |
3236 RA = -protonDeficit / (2 * f1d + f2d); // Sodiumcarbonate, mmol totaal |
3236 RA = -protonDeficit / (2 * f1d + f2d); // Sodiumcarbonate, mmol totaal |
3237 RA = RA * MMNa2CO3 / 1000; //gram |
3237 RA = RA * MMNa2CO3 / 1000; //gram |
3243 sodium = wg_sodium + RA; |
3243 sodium = wg_sodium + RA; |
3244 // HCO3 |
3244 // HCO3 |
3245 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNa2CO3 * 1000) / liters; |
3245 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNa2CO3 * 1000) / liters; |
3246 bicarbonate = wg_bicarbonate + RA; |
3246 bicarbonate = wg_bicarbonate + RA; |
3247 total_alkalinity = bicarbonate * 50 / 61; |
3247 total_alkalinity = bicarbonate * 50 / 61; |
3248 RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium); |
3248 // RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium); |
3249 } |
3249 } |
3250 break; |
3250 break; |
3251 case 2: |
3251 case 2: |
3252 RA = -protonDeficit * (f1d - f3d); // Calciumcarbonate, mmol totaal |
3252 RA = -protonDeficit * (f1d - f3d); // Calciumcarbonate, mmol totaal |
3253 RA = RA * MMCaCO3 / 1000; //gram |
3253 RA = RA * MMCaCO3 / 1000; //gram |
3263 //Ca precipitates out as Ca10(PO4)6(OH)2 |
3263 //Ca precipitates out as Ca10(PO4)6(OH)2 |
3264 RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 * 1000 + |
3264 RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 * 1000 + |
3265 parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 * 1000 + |
3265 parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 * 1000 + |
3266 parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa / MMCaCO3 * 1000) / liters; |
3266 parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa / MMCaCO3 * 1000) / liters; |
3267 calcium = wg_calcium + RA; |
3267 calcium = wg_calcium + RA; |
3268 RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium); |
3268 // RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium); |
3269 } |
3269 } |
3270 break; |
3270 break; |
3271 case 3: |
3271 case 3: |
3272 RA = -protonDeficit / 19.3; // Calciumhydroxide |
3272 RA = -protonDeficit / 19.3; // Calciumhydroxide |
3273 $('#wa_base').val(Round(RA, 2)); |
3273 $('#wa_base').val(Round(RA, 2)); |
3280 // Calcium |
3280 // Calcium |
3281 RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 * 1000 + |
3281 RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 * 1000 + |
3282 parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 * 1000 + |
3282 parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 * 1000 + |
3283 parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa / MMCaOH2 * 1000) / liters; |
3283 parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa / MMCaOH2 * 1000) / liters; |
3284 calcium = wg_calcium + RA; |
3284 calcium = wg_calcium + RA; |
3285 RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium); |
3285 // RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium); |
3286 } |
3286 } |
3287 break; |
3287 break; |
3288 } |
3288 } |
3289 } |
3289 } |
3290 ph = TpH; |
3290 ph = TpH; |
3303 sodium = wg_sodium + RA; |
3303 sodium = wg_sodium + RA; |
3304 // HCO3 |
3304 // HCO3 |
3305 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNaHCO3 * 1000) / liters; |
3305 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNaHCO3 * 1000) / liters; |
3306 bicarbonate = wg_bicarbonate + RA; |
3306 bicarbonate = wg_bicarbonate + RA; |
3307 total_alkalinity = bicarbonate * 50 / 61; |
3307 total_alkalinity = bicarbonate * 50 / 61; |
3308 RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium); |
3308 // RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium); |
3309 break; |
3309 break; |
3310 case 1: // Sodiumcarbonate |
3310 case 1: // Sodiumcarbonate |
3311 RA = (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000 + |
3311 RA = (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000 + |
3312 parseFloat($('#wa_base').jqxNumberInput('decimal')) * 2 * MMNa / MMNa2CO3 * 1000) / liters; |
3312 parseFloat($('#wa_base').jqxNumberInput('decimal')) * 2 * MMNa / MMNa2CO3 * 1000) / liters; |
3313 sodium = wg_sodium + RA; |
3313 sodium = wg_sodium + RA; |
3314 // HCO3 |
3314 // HCO3 |
3315 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNa2CO3 * 1000) / liters; |
3315 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNa2CO3 * 1000) / liters; |
3316 bicarbonate = wg_bicarbonate + RA; |
3316 bicarbonate = wg_bicarbonate + RA; |
3317 total_alkalinity = bicarbonate * 50 / 61; |
3317 total_alkalinity = bicarbonate * 50 / 61; |
3318 RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium); |
3318 // RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium); |
3319 break; |
3319 break; |
3320 case 2: // Calciumcarbonate: Bicarbonate |
3320 case 2: // Calciumcarbonate: Bicarbonate |
3321 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) / 3 * MMHCO3 * 1000 / MMCaCO3) / liters; |
3321 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) / 3 * MMHCO3 * 1000 / MMCaCO3) / liters; |
3322 bicarbonate = wg_bicarbonate + RA; |
3322 bicarbonate = wg_bicarbonate + RA; |
3323 total_alkalinity = bicarbonate * 50 / 61; |
3323 total_alkalinity = bicarbonate * 50 / 61; |
3324 RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium); |
3324 // RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium); |
3325 // Ca |
3325 // Ca |
3326 RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa * 1000 / MMCaCl2 + |
3326 RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa * 1000 / MMCaCl2 + |
3327 parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa * 1000 / MMCaSO4 + |
3327 parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa * 1000 / MMCaSO4 + |
3328 parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa * 1000/ MMCaCO3) / liters; |
3328 parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa * 1000/ MMCaCO3) / liters; |
3329 calcium = wg_calcium + RA; |
3329 calcium = wg_calcium + RA; |