public ThermoData generateSolvThermoData(ChemGraph p_chemGraph) { double r_solute = p_chemGraph.getRadius(); double r_solvent; r_solvent = 3.498 * Math.pow( 10, -10); // 3.311; // Manually assigned solvent radius [=] meter // Calculated using Connolly solvent excluded volume from Chem3dPro double r_cavity = r_solute + r_solvent; // Cavity radius [=] Angstrom double rho; rho = 0.00309 * Math.pow( 10, 30); // 0.00381; // number density of solvent [=] // molecules/Angstrom^3 Value here is for decane using density =0.73 g/cm3 double parameter_y = (88 / 21) * rho * Math.pow(r_solvent, 3); // Parameter y from Ashcraft Thesis Refer pg no. 60 double parameter_ymod = parameter_y / (1 - parameter_y); // parameter_ymod= y/(1-y) Defined for convenience double R = 8.314; // Gas constant units J/mol K double T = 298; // Standard state temperature // Definitions of K0, K1 and K2 correspond to those for K0', K1' and K2' respectively from // Ashcraft's Thesis double K0 = -R * (-Math.log(1 - parameter_y) + (4.5 * Math.pow(parameter_ymod, 2))); double K1 = (R * 0.5 / r_solvent) * ((6 * parameter_ymod) + (18 * Math.pow(parameter_ymod, 2))); double K2 = -(R * 0.25 / Math.pow(r_solvent, 2)) * ((12 * parameter_ymod) + (18 * Math.pow(parameter_ymod, 2))); // Basic definition of entropy change of solvation from Ashcfrat's Thesis double deltaS0; deltaS0 = K0 + (K1 * r_cavity) + (K2 * Math.pow(r_cavity, 2)); // Generation of Abraham Solute Parameters AbramData result_Abraham = new AbramData(); result_Abraham = p_chemGraph.getAbramData(); // Solute descriptors from the Abraham Model double S = result_Abraham.S; double B = result_Abraham.B; double E = result_Abraham.E; double L = result_Abraham.L; double A = result_Abraham.A; // Manually specified solvent descriptors (constants here are for decane) double c = 0.156; // -0.12; double s = 0; // 0.56; double b = 0; // 0.7; double e = -0.143; // -0.2; double l = 0.989; // 0.94; double a = 0; // 3.56; double logK = c + s * S + b * B + e * E + l * L + a * A; // Implementation of Abraham Model double deltaG0_octanol = -8.314 * 298 * logK; // System.out.println("The free energy of solvation in octanol at 298K w/o reference state // corrections = " + deltaG0_octanol +" J/mol for " ); // Calculation of enthalpy change of solvation using the data obtained above double deltaH0 = deltaG0_octanol + (T * deltaS0); deltaS0 = deltaS0 / 4.18; // unit conversion from J/mol to cal/mol deltaH0 = deltaH0 / 4180; // unit conversion from J/mol to kcal/mol // Generation of Gas Phase data to add to the solution phase quantities ThermoData solvationCorrection = new ThermoData( deltaH0, deltaS0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, "Solvation correction"); // Now, solvationCorrection contains solution phase estimates of CORRECTION TO H298, S298 and // all the gas phase heat capacities. // Assuming the solution phase heat capcities to be the same as that in the gas phase we wouls // now want to pass on this // modified version of result to the kinetics codes. This might require reading in a keyword // from the condition.txt file. // Exactly how this will be done is yet to be figured out. return solvationCorrection; // #] }