From: Adam T. <ate...@gm...> - 2012-04-01 17:53:01
|
Hi Pavlo, Can you supply cclib with a public domain file that has this problem? We should have similar file in our regression tests. Thanks, Adam On Apr 1, 2012, at 9:02 AM, Pavel Solntsev wrote: > Dear Adam. > > I found another bug in cclib. > If you have ECP job cclib doesn't extract correct number for HOMO orbitals. > Firefly removes all core electrons and corresponding orbitals. All > another orbitals are renumbered. After that number of the HOMO orbital > will be lower by number of the core orbitals. I solved program by > commenting couple lines in the gamessparser.py file. Now cclib works > correctly with FF output files with and without ECP. I didn't check > cclib with GAMESS US, but it looks like it should not be any problem. > > # line 857 > if line[1:28] == "NUMBER OF OCCUPIED ORBITALS" and not > hasattr(self,'homos'): > homos = [int(line.split()[-1])-1] > line = inputfile.next() > homos.append(int(line.split()[-1])-1) > self.homos = numpy.array(homos, "i") > > > All the best. > > Pavlo. > > > > On 03/28/2012 11:19 AM, Adam Tenderholt wrote: >> Oops, one minor mistake in my email. You need to keep the following >> line (since it does all the parsing magic): >> >> 150 data = parser.parse() >> >> Adam >> >> >> On Wed, Mar 28, 2012 at 9:18 AM, Adam Tenderholt <ate...@gm...> wrote: >>> Hi Pavel, >>> >>> Your error now looks like a problem with QMForge. For the windows and >>> Mac version, I wanted the cclib info/warning/errors to be displayed in >>> a nice window after parsing the file. This, however, appears to be >>> broken due to Qt 4.8 (I think I wrote QMForge with Qt 4.4 or 4.5 in >>> mind...it's been too long). >>> >>> The easiest fix that will get you up and running involves changing the >>> source code of QMForge a bit. Edit qmforge.py, go to the open function >>> (near line 126), and comment out (or remove) the following lines: >>> >>> 129 viewer = LogViewer(self) >>> >>> and >>> >>> 149 parser.logger.addHandler(viewer) >>> 150 data = parser.parse() >>> 151 warnings = viewer.ui.textEdit.toPlainText() >>> 152 if len(warnings) > 0: >>> 153 viewer.show() >>> >>> Let me know if this works for you. The info/warnings/errors from cclib >>> should be printed in the console. >>> >>> Take care, >>> >>> Adam >>> >>> >>> On Wed, Mar 28, 2012 at 7:34 AM, Pavel Solntsev >>> <pav...@gm...> wrote: >>>> Hi Adam. >>>> >>>> I checked another output file from Firefly with last version of the >>>> cclib and also found some problems . >>>> In terminal i can see: >>>> $ qmforge >>>> [GAMESS >>>> /home/pavel/Documents/people/Lysenko/IC/ag2trz2/sp/ag2trz2_ci_sp_b3lyp.out >>>> WARNING] Number of occupied orbitals not consistent. This is normal for >>>> ECP and FMO jobs. >>>> Traceback (most recent call last): >>>> File "/usr/local/lib/python2.7/dist-packages/qmforge/qmforge.py", line >>>> 250, in fileOpen >>>> File "/usr/local/lib/python2.7/dist-packages/qmforge/qmforge.py", line >>>> 150, in open >>>> File >>>> "/usr/local/lib/python2.7/dist-packages/cclib/parser/logfileparser.py", >>>> line 221, in parse >>>> self.extract(inputfile, line) >>>> File >>>> "/usr/local/lib/python2.7/dist-packages/cclib/parser/gamessparser.py", >>>> line 877, in extract >>>> self.logger.warning("Number of occupied orbitals not consistent. >>>> This is normal for ECP and FMO jobs.") >>>> File "/usr/lib/python2.7/logging/__init__.py", line 1144, in warning >>>> self._log(WARNING, msg, args, **kwargs) >>>> File "/usr/lib/python2.7/logging/__init__.py", line 1250, in _log >>>> self.handle(record) >>>> File "/usr/lib/python2.7/logging/__init__.py", line 1260, in handle >>>> self.callHandlers(record) >>>> File "/usr/lib/python2.7/logging/__init__.py", line 1300, in callHandlers >>>> hdlr.handle(record) >>>> TypeError: QWidget.handle(): too many arguments >>>> $ >>>> >>>> My input file is normal single point run with ECP. >>>> $CONTRL SCFTYP=RHF RUNTYP=energy >>>> DFTTYP=B3LYP >>>> MAXIT=100 inttyp=hondo icut=10 itol=30 >>>> ICHARG=2 MULT=1 >>>> ecp=read exetyp=run $END >>>> $SYSTEM TIMLIM=9999999 mwords=40 $END >>>> $BASIS extfil=.t. $END >>>> $SCF DIRSCF=.TRUE. fdiff=.t. $END >>>> $smp call64=.t. $end >>>> $DATA >>>> Ci >>>> >>>> coordinates >>>> >>>> $ecp >>>> ...... >>>> $end >>>> >>>> Unfortunately i can't provide this file in the public domain, but i can >>>> send it to you. >>>> >>>> Thank you very much for you help. >>>> >>>> PS. >>>> >>>> >>>> >>>> >>>> On 03/25/2012 01:09 PM, Adam Tenderholt wrote: >>>>> Hi Pavel, >>>>> >>>>> I have fixed this bug in the svn trunk version of cclib. Please let me know if you'd prefer me to send you the updated source code. >>>>> >>>>> Take care, >>>>> >>>>> Adam >>>>> >>>>> >>>>> On Mar 22, 2012, at 9:04 AM, Pavel Solntsev wrote: >>>>> >>>>>> Yes. You can place this log file in the public domain >>>>>> >>>>>> PS. >>>>>> >>>>>> >>>>>> >>>>>> On 03/22/2012 05:44 AM, Noel O'Boyle wrote: >>>>>>> Hello Pavel, >>>>>>> >>>>>>> We have a policy of only fixing bugs for public domain log files. Are >>>>>>> you happy to place this log file in the public domain? >>>>>>> >>>>>>> - Noel >>>>>>> >>>>>>> On 22 March 2012 05:12, Pavel Solntsev <pav...@gm...> wrote: >>>>>>>> Hi i have a file from Firefly ( pcgamess)i can't parse with cclib. I use >>>>>>>> version form svn and QMforge program. In console i got >>>>>>>> [GAMESS <path to my file>/triazole_tddft_c1_b3lyp_631Gdp_sp.out WARNING] >>>>>>>> MO section found but could not be parsed! >>>>>>>> Traceback (most recent call last): >>>>>>>> File "/usr/local/lib/python2.7/dist-packages/qmforge/qmforge.py", line >>>>>>>> 250, in fileOpen >>>>>>>> File "/usr/local/lib/python2.7/dist-packages/qmforge/qmforge.py", line >>>>>>>> 150, in open >>>>>>>> File >>>>>>>> "/usr/local/lib/python2.7/dist-packages/cclib/parser/logfileparser.py", >>>>>>>> line 221, in parse >>>>>>>> File >>>>>>>> "/usr/local/lib/python2.7/dist-packages/cclib/parser/gamessparser.py", >>>>>>>> line 720, in extract >>>>>>>> self.logger.warning('MO section found but could not be parsed!') >>>>>>>> File "/usr/lib/python2.7/logging/__init__.py", line 1144, in warning >>>>>>>> self._log(WARNING, msg, args, **kwargs) >>>>>>>> File "/usr/lib/python2.7/logging/__init__.py", line 1250, in _log >>>>>>>> self.handle(record) >>>>>>>> File "/usr/lib/python2.7/logging/__init__.py", line 1260, in handle >>>>>>>> self.callHandlers(record) >>>>>>>> File "/usr/lib/python2.7/logging/__init__.py", line 1300, in callHandlers >>>>>>>> hdlr.handle(record) >>>>>>>> TypeError: QWidget.handle(): too many arguments >>>>>>>> >>>>>>>> If i run this file with gamess us it goes withput problems. The problem >>>>>>>> file for Firefly is attached. >>>>>>>> >>>>>>>> Thank you. >>>>>>>> >>>>>>>> Pavlo. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Pavlo V. Solntsev >>>>>>>> pavlo.solntsev at gmail.com >>>>>>>> >>>>>>>> >>>>>>>> ------------------------------------------------------------------------------ >>>>>>>> This SF email is sponsosred by: >>>>>>>> Try Windows Azure free for 90 days Click Here >>>>>>>> http://p.sf.net/sfu/sfd2d-msazure >>>>>>>> _______________________________________________ >>>>>>>> cclib-devel mailing list >>>>>>>> ccl...@li... >>>>>>>> https://lists.sourceforge.net/lists/listinfo/cclib-devel >>>>>>>> >>>>>> -- >>>>>> Pavlo V. Solntsev >>>>>> pavlo.solntsev at gmail.com >>>>>> >>>>>> >>>>>> ------------------------------------------------------------------------------ >>>>>> This SF email is sponsosred by: >>>>>> Try Windows Azure free for 90 days Click Here >>>>>> http://p.sf.net/sfu/sfd2d-msazure >>>>>> _______________________________________________ >>>>>> cclib-devel mailing list >>>>>> ccl...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/cclib-devel >>>> >>>> -- >>>> Pavlo V. Solntsev >>>> pavlo.solntsev at gmail.com >>>> > > > -- > Pavlo V. Solntsev > pavlo.solntsev at gmail.com > |