public void setCalculationValues() { atom tempa; int temp; int atom1 = myAtoms[0].getMM3TypeNum(); int atom2 = myAtoms[1].getMM3TypeNum(); int atom3 = myAtoms[2].getMM3TypeNum(); int atom4 = myAtoms[3].getMM3TypeNum(); if (atom1 > atom2) { temp = atom1; atom1 = atom2; atom2 = temp; tempa = myAtoms[0]; myAtoms[0] = myAtoms[1]; myAtoms[1] = tempa; } if (atom3 > atom4) { temp = atom3; atom3 = atom4; atom4 = temp; tempa = myAtoms[2]; myAtoms[2] = myAtoms[3]; myAtoms[3] = tempa; } try { AtomDataFile dataFile = new AtomDataFile(newNanocad.txtDir + newNanocad.fileSeparator + "mm3estaticdata.txt"); // AtomDataFile dataFile= new AtomDataFile("mm3estaticdata.txt"); if (dataFile.findData(atom1, atom2, 0, 1)) { firstCharge = dataFile.parseDouble(2); firstDistribution = dataFile.parseDouble(3); } else { // System.out.println("No data for " + atom1 + " " + atom2 + " dipole."); firstCharge = 0.0; firstDistribution = 0.0; } if (dataFile.findData(atom3, atom4, 0, 1)) { secondCharge = dataFile.parseDouble(2); secondDistribution = dataFile.parseDouble(3); } else { // System.out.println("No data for " + atom3 + " " + atom4 + " dipole."); secondCharge = 0.0; secondDistribution = 0.0; } } catch (java.io.IOException e) { System.err.println("Dipole data lookup error"); e.printStackTrace(); } }
public void setCalculationValues() { int atom1 = myAtoms[0].getMM3TypeNum(); int atom2 = myAtoms[1].getMM3TypeNum(); int atom3 = myAtoms[2].getMM3TypeNum(); if (atom1 < atom3 || atom1 < 1 || atom2 < 1 || atom3 < 1) { kBondAngle = 0.0; return; } try { AtomDataFile dataFile = new AtomDataFile(newNanocad.txtDir + newNanocad.fileSeparator + "mm3strbenddata.txt"); // AtomDataFile dataFile = new AtomDataFile("mm3strbenddata.txt"); if (dataFile.findData(atom1, 0)) kBondAngle = dataFile.parseDouble(1); else { kBondAngle = 0.0; return; } dataFile = new AtomDataFile(newNanocad.txtDir + newNanocad.fileSeparator + "mm3adata.txt"); // dataFile = new AtomDataFile("mm3adata.txt"); if (dataFile.findData(atom2, atom1, atom3, 1, 0, 2)) idealAngle = convert * dataFile.parseDouble(4); else { idealAngle = 0.0; return; } dataFile = new AtomDataFile(newNanocad.txtDir + newNanocad.fileSeparator + "mm3ldata.txt"); // dataFile = new AtomDataFile("mm3ldata.txt"); if (dataFile.findData(Math.min(atom1, atom2), Math.max(atom1, atom2), 0, 1)) idealLength1 = dataFile.parseDouble(3); else { idealLength1 = 0.0; return; } if (dataFile.findData(Math.min(atom2, atom3), Math.max(atom2, atom3), 0, 1)) idealLength2 = dataFile.parseDouble(3); else { idealLength2 = 0.0; return; } } catch (java.io.IOException e) { System.err.println("Stretch-bend data lookup error"); e.printStackTrace(); } }