From: Rene K. <rka...@us...> - 2004-10-24 22:33:53
|
Update of /cvsroot/jmol/Jmol/src/org/jmol/adapter/smarter In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12323 Modified Files: GaussianReader.java Log Message: fixed g98 end of frequencies problem (has a space in the line, while g03 did not). Index: GaussianReader.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/jmol/adapter/smarter/GaussianReader.java,v retrieving revision 1.18 retrieving revision 1.19 diff -u -r1.18 -r1.19 --- GaussianReader.java 24 Oct 2004 19:31:55 -0000 1.18 +++ GaussianReader.java 24 Oct 2004 22:33:45 -0000 1.19 @@ -87,12 +87,14 @@ int nOrientations = 0; while ((line = reader.readLine()) != null) { - if (line.indexOf("Input orientation:") >= 0 || + if (line.startsWith(" Step number")) { + nOrientations = 0; + } else if (line.indexOf("Input orientation:") >= 0 || line.indexOf("Z-Matrix orientation:") >= 0) { - nOrientations = 1; // is always the first orientation + ++nOrientations; // is always the first orientation readAtoms(reader, line); } else if (line.indexOf("Standard orientation:") >= 0) { - nOrientations = 2; // is always the second orientation + ++nOrientations; // is always the second orientation readAtoms(reader, line); } else if (line.startsWith(" SCF Done:")) { readSCFDone(line,nOrientations); @@ -224,15 +226,10 @@ ------------------- */ - // If I were to put the frequency on the last model read I need to be - // smarter about when I need to duplicate the last model (now I really do it always) - // Maybe also should read the symmetry, frequencies and intensities of each.... - /** * Interprets the Harmonic frequencies section. * - * The vectors are added to a clones of the last read AtomSet. - * The AtomSetName for each clone is the frequency and the SCF energy. + * The vectors are added to a clone of the last read AtomSet. * * @param reader BufferedReader associated with the Gaussian output text. **/ @@ -246,8 +243,10 @@ if (line == null) throw (new Exception("No frequencies encountered")); + // G98 ends the frequencies with a line with a space (03 an empty line) + // so I decided to read till the line is too short while ((line= reader.readLine()) != null && - line.length() > 0) + line.length() > 15) { // we now have the line with the vibration numbers in them, but don't need it symmetries = getTokens(reader.readLine()); // read symmetry labels |