Skip to content

Commit

Permalink
fix typescript.
Browse files Browse the repository at this point in the history
  • Loading branch information
mstiller7 committed Mar 20, 2019
1 parent e7438ee commit 8654767
Showing 1 changed file with 160 additions and 16 deletions.
176 changes: 160 additions & 16 deletions MolarityRev.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,161 @@
console.log("write the conjugate base or acid associated using quotation marks");

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>503 Maximum threads for service reached</title>
</head>
<body>
<h1>Error 503 Maximum threads for service reached</h1>
<p>Maximum threads for service reached</p>
<h3>Guru Mediation:</h3>
<p>Details: cache-atl6242-ATL 1553105868 526817195</p>
<hr>
<p>Varnish cache server</p>
</body>
</html>
var ConjugateBase = "So4"; //temprary hard code untill input is created
var ConjugateAcid = "Na" // same
var volR1 = 100;
var volR2 = 100;
var MofR1 = 2.0;
var MofR2 = 1.5;

//discover Acid
var acid, base;

switch (ConjugateBase) {
case "HCl" : acid = "Cl"; break;
case "HBr" : acid ="Br"; break;
case "HF" : acid ="F"; break;
case "HI": acid ="I"; break;
case "HNO3":acid ="NO3"; break;
case "HClO" : acid ="ClO"; break;
case "H2SO4" :acid ="SO4"; break;
case "H3PO4":acid = "PO4"; break;
}
//discover Base
switch (ConjugateAcid) {
case 'Na': base = 'NaOH'; break;
case 'K': base ='KOH'; break;
case 'Rb': base ='RbOH'; break;
case 'Li': base ='LiOH'; break;
case 'Mg': base ='Mg(OH)2'; break;
case 'Ca': base ='Ca(OH)2'; break;
case 'Al': base ='Al(OH)3'; break;
}

var water = [];

switch (acid) {
case "HCl" : water.push(1); break;
case "HBr" : water.push(1); break;
case "HF" : water.push(1); break;
case "HI": water.push(1); break;
case "HNO3":water.push(1); break;
case "HClO" : water.push(1); break;
case "H2SO4" :water.push(2); break;
case "H3PO4":water.push(3); break;
}

switch (base) {
case "NaOH" : water.push(1); break;
case "KOH" :water.push(1); break;
case "RbOH": water.push(1); break;
case "LiOH": water.push(1);break;
case "Mg(OH)2" :water.push(2); break;
case "Ca(OH)2":water.push(2); break;
case "Al(OH)3" : water.push(3); break;
}
var cation;
if (base.indexOf("(OH)3") != -1) {
cation = base.substring(0, base.indexOf("(OH)3"))
}
if (base.indexOf("(OH)2") != -1) {
cation = base.substring(0, base.indexOf("(OH)2"))
}
if (base.indexOf("OH") != -1) {
cation = base.substring(0, base.indexOf("OH"))
}
if (base.indexOf("OH") != -1) {
cation = base.substring(0, base.indexOf("OH)"))
}
switch (acid) {
case "HCl": water.push("Cl"); break;
case "HBr": water.push("Br"); break;
case "HF": water.push("F"); break;
case "HI": water.push("I");break;
case "HNO3":water.push("NO3"); break;
case "HClO": water.push("ClO"); break;
case "H2SO4" :water.push("SO4"); break;
case "H3PO4":water.push("PO4"); break;
}
if (water[0] > water[1]) {
var acidCoeff = 1;
var baseCoeff = water[0]/water[1];
var saltCoeff = acidCoeff;
var waterCoeff = baseCoeff;
water.push(acidCoeff);
water.push(baseCoeff);
water.push(saltCoeff);
water.push(waterCoeff);
}else if (water[0] < water[1]) {
var acidCoeff = water[1]/water[0];
var baseCoeff = 1;
var saltCoeff = baseCoeff;
var waterCoeff = acidCoeff;
water.push(acidCoeff);
water.push(baseCoeff);
water.push(saltCoeff);
water.push(waterCoeff);
}else{
water.push(water[0]/water[1]);
water.push(1);
water.push(1);
water.push(1);
water.push(1);
}

if (water[6] == 1.5) {
water[6] = 4*water[6];
water[5] = water[5];
water[4] = 2*water[4];
water[3] = 2*water[3];
}

//output this properly later with proper formating
//console.log("The balanced reactions is: \n\n {0}{1} + {2}{3} --> {6}{4}{2}{5}{0} + {7}H2O" .format(water[3], Acid, water[4], Base, cation, water[2],water[5], water[6] )) # --> {}{}{}{} + H2O"

var molofR1 = MofR1*volR1/1000;
var molofR2 = MofR2*volR2/1000;

var molSaltGivenR1 = molofR1*water[5]/water[3];
var molWaterGivenR1 = molofR1*water[6]/water[3];
var molSaltGivenR2 = molofR1*water[5]/water[4];
var molWaterGivenR2 = molofR1*water[6]/water[4];

var atomic_weights = { "He": 4.002, "Li" : 6.94, "Be" : 9.012,
"B" : 10.81, "C" : 12.011, "N" : 14.007, "O" : 15.999, "F" : 19.00,
"Ne" : 20.1797, "Na" : 22.989, "Mg" : 24.305, "Al" : 26.981, "Si": 28.085,
"P": 30.973, "S" : 32.06, "Cl" : 35.45, "Ar" : 39.948, "K": 39.0983, "Ca": 40.078,
"Sc": 44.955, "Ti" : 47.867, "V" : 50.941, "Cr" : 51.996, "Mn": 54.938, "Fe": 55.845,
"Co": 58.933, "Ni": 58.693, "Cu" : 63.546, "Zn" : 65.38, "Ga": 69.723, "Ge": 72.630,
"As" : 74.921, "Se": 78.971, "Br": 79.904, "Kr": 83.798, "Rb": 85.4678, "Sr": 87.62,
"Y": 88.905, "Zr" : 91.224, "Nb": 92.906, "Mo": 95.95, "Tc": 97, "Ru": 101.07, "Rh": 102.905,
"Pd": 106.42, "Ag": 107.868, "Cd": 112.414, "In": 114.818, "Sn": 118.710, "Sb": 121.760, "Te": 127.760,
"I": 126.904, "Xe" : 131.293, "Cs": 132.905, "Ba": 137.327, "La": 138.905, "Ce": 140.116, "Pr": 140.907,
"Nd": 144.242, "Pm": 145, "Sm": 150.36, "Eu": 151.964, "Gd": 157.25, "Tb": 158.925, "Dy": 162.500, "Ho":164.930,
"Er" : 167.259, "Tm":168.934, "Yb": 173.045, "Lu": 174.9668, "Hf": 178.49, "Ta":180.947, "W": 183.84, "Re": 186.207,
"Os": 190.23, "Ir": 192.21, "Pt": 195.084, "Au": 196.966, "Hg": 200.592, "Tl": 204.38, "Pb": 207.2, "Bi": 208.980,
"Po" : 209, "At": 210, "Rn": 222, "Fr": 223, "Ra": 222, "Ac": 227, "Th": 232.0377, "Pa": 231.035, "U": 238.028, "(NO3)": 62.00,
"O2": 32.00, "(CO3)": 60.01, "(ClO3)": 83.447, "OH": 17.01, "(PO4)": 94.9714, "SO4": 96.06, "(Cr2O7)":215.985, "(NH4)" : 18.00};

var formula_weight_acid = water[0]* 1.008 + atomic_weights[ConjugateBase]
var formula_weight_base = water[1]*atomic_weights["OH"] + atomic_weights[ConjugateAcid]
var formula_weight_water = 2*1.008 + 15.999
var formula_weight_salt = water[1]*atomic_weights[ConjugateBase] + water[0]*atomic_weights[ConjugateAcid]
console.log(formula_weight_acid)
console.log(formula_weight_base)
console.log(formula_weight_water)
console.log(formula_weight_salt)

if (molSaltGivenR1 < molSaltGivenR2) {
var grams_of_salt = molSaltGivenR2 * formula_weight_salt
//print("{} is the limiting reactant giving {} moles and {} grams of salt". format(Acid,mol_salt_given_R1, grams_of_salt))
}else {
var grams_of_salt = molSaltGivenR2 * formula_weight_salt
//print("{} is the limiting reactant giving {} moles and {} grams of salt". format(Base,mol_salt_given_R2, grams_of_salt))
}
if (molWaterGivenR1 < molWaterGivenR1) {
var grams_of_water = molWaterGivenR1 * formula_weight_water
//print("{} is the limiting reactant giving {} moles and {} grams of water". format(Acid,mol_water_given_R1, grams_of_water))
}else {
grams_of_water = molWaterGivenR2 * formula_weight_water
//print("{} is the limiting reactant giving {} moles and {} grams of water". format(Base,mol_water_given_R2, grams_of_water))
}

0 comments on commit 8654767

Please sign in to comment.