From owner-chemistry@ccl.net Sat Nov 26 11:54:01 2011 From: "John McClatchy osvgut##ucla.edu" To: CCL Subject: CCL:G: MR-MP2 with GAMESS with Gaussian input Message-Id: <-45925-111125204336-24875-mDNFcwQC/VKkPqH+CA4kDQ~~server.ccl.net> X-Original-From: "John McClatchy" Date: Fri, 25 Nov 2011 20:43:34 -0500 Sent to CCL by: "John McClatchy" [osvgut_+_ucla.edu] I'm trying to run MR-CASPT2 single points using GAMESS on Gaussian output file (i.e., CASSCF(6,6)/6- 31G(d) geometry. Does anybody know how to do this? I have seen this type of calculation MR- MPT2/6-31G(d)[GAMESS]//CASSCF(6,6)/6-31G(d){GAUSSIAN03} but can't seem to figure out how to do this myself. Any help/suggestions will be greatly appreciated. From owner-chemistry@ccl.net Sat Nov 26 14:06:00 2011 From: "Nuno A. G. Bandeira nuno.bandeira..ist.utl.pt" To: CCL Subject: CCL:G: MR-MP2 with GAMESS with Gaussian input Message-Id: <-45926-111126132511-8649-+Py7MxAF1EMDx/g+3f8dnQ{}server.ccl.net> X-Original-From: "Nuno A. G. Bandeira" Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=ISO-8859-1; format=flowed Date: Sat, 26 Nov 2011 18:25:01 +0000 MIME-Version: 1.0 Sent to CCL by: "Nuno A. G. Bandeira" [nuno.bandeira a ist.utl.pt] On 26-11-2011 01:43, John McClatchy osvgut##ucla.edu wrote: > Sent to CCL by: "John McClatchy" [osvgut_+_ucla.edu] > I'm trying to run MR-CASPT2 single points using GAMESS on Gaussian output file (i.e., CASSCF(6,6)/6- > 31G(d) geometry. Does anybody know how to do this? I have seen this type of calculation MR- > MPT2/6-31G(d)[GAMESS]//CASSCF(6,6)/6-31G(d){GAUSSIAN03} but can't seem to figure out how to > do this myself. Any help/suggestions will be greatly appreciated. > Please bear in mind that although they all sound the same these methods aren't exactly identical. They were developed by different people and the difference is how you define the zeroth order hamiltonian. Thus Gaussian09 has CASMP2 GAMESS has MR-MP2 MOLCAS has CASPT2 ORCA has NEVPT2 these are all conceptually different methods and should be treated as such. You should have no difficulty extracting the coordinates from the Gaussian output via a graphical interface or some such and put it in a GAMESS input format with the help of their online manual http://www.msg.ameslab.gov/gamess/GAMESS_Manual/input.pdf -- Nuno A. G. Bandeira, AMRSC -- From owner-chemistry@ccl.net Sat Nov 26 16:29:00 2011 From: "Edward Holland hollandej::Cardiff.ac.uk" To: CCL Subject: CCL:G: MR-MP2 with GAMESS with Gaussian input Message-Id: <-45927-111126161618-12608-Ag0v1c3Y2KCcWcE8G2LIyw(-)server.ccl.net> X-Original-From: Edward Holland Content-Type: multipart/signed; boundary="Apple-Mail=_3A6445D7-8594-4F0F-96E0-130595C62D60"; protocol="application/pgp-signature"; micalg=pgp-sha1 Date: Sat, 26 Nov 2011 21:16:02 +0000 Mime-Version: 1.0 (Apple Message framework v1251.1) Sent to CCL by: Edward Holland [hollandej/./Cardiff.ac.uk] --Apple-Mail=_3A6445D7-8594-4F0F-96E0-130595C62D60 Content-Type: multipart/alternative; boundary="Apple-Mail=_B7B90CCC-0712-4695-A6EC-20F326EF4775" --Apple-Mail=_B7B90CCC-0712-4695-A6EC-20F326EF4775 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=windows-1252 Hi, It is possible to script this sort of functionality fairly easily, which = can save a lot of time in the long run. Using cclib you can extract lots of data from output files, including = optimised geometries . I've attached a copy of a python script that extracts optimised = geometries from gaussian output files and writes and submits GAMESS = jobs. I must stress this is a specific example for the cluster, and the = job submission scripts i use so will have to be modified for your = system. You will also need to install cclib (/ cclib.sf.net) Yours Ed Holland --------------- SPEgamfromgau.py =85=85=85=85=85=85=85=85=85=85=85=85=85..= #!/software/languages/python/2.5.2/gnu-4.2.4/bin/python #expects 2 arguemnts, filename and wall time: - jobname HH:MM:SS import sys, os, time, sqlite3, shutil, numpy, cclib, subprocess, re > from functions import * job =3D {} job['name'] =3D sys.argv[1] job['wall_time'] =3D sys.argv[2] job['dir'] =3D os.path.join('jobs', job['name']) job['new_dir'] =3D os.path.join('jobs-gamess', job['name']) time =3D str(time.time()) #check we can find the stuff we need if os.path.exists(job['dir']) =3D=3D 1: print("Direcotory found") if os.path.exists(job['dir'] + '/' + job['name'] + ".out") =3D=3D 1: = print("output file found") try: outfile =3D cclib.parser.ccopen(job['dir'] + '/' + job['name'] + = ".out") outfile.logger.setLevel(logging.ERROR) except: exit("Cant open output file") try: data=3Doutfile.parse() except: exit("cant parse file") ################################## # Try to get get charge and mult from cclib, but if the output file = doesn'r contain this data then get it from the input file ################################### if hasattr(data, "mult") and hasattr(data,"charge"): mult=3Ddata.mult charge=3Ddata.charge else: try: INFILE =3D open(job['dir'] + '/' + job['name'] + '.in') except: exit('Cant open output file') for line in INFILE: if re.match("(\d),(\d)",line): m =3D re.match("(\d),(\d)",line) charge =3D m.group(1) mult =3D m.group(2) #make new gamess inp file GAMFILE =3D open(job['name']+".inp",'w') GAMFILE.write(" $BASIS GBASIS=3DN31 NGAUSS=3D6 NDFUNC=3D1 NPFUNC=3D1 = $END\n") GAMFILE.write(" $CONTRL RUNTYP=3DENERGY DFTTYP=3DwB97X-D = COORD=3DUNIQUE\n") GAMFILE.write("ICHARG=3D"+str(charge)+" MULT=3D"+str(mult)+" ") if mult>1: GAMFILE.write("SCFTYP=3DROHF $END\n") else: GAMFILE.write("SCFTYP=3DRHF $END\n") GAMFILE.write(" $SYSTEM MWORDS=3D2000 $END\n") GAMFILE.write(" $DATA\n") GAMFILE.write(job['name'] +"\n") GAMFILE.write("C1\n") geom =3D getcoords(data) for line in geom: GAMFILE.write(line +"\n") GAMFILE.write(" $END\n") GAMFILE.close() job['dir'] =3D os.path.join('jobs-gamess', job['name']) #CHECK THAT JOB NAME HASN"T BEEN USED BEFRE if os.path.exists(job['dir']) =3D=3D 1: sys.exit("Job name in use") if os.path.exists(job['name'] + ".inp") =3D=3D 0: sys.exit("not found: = "+ job['name'] + ".inp") # WRITE GAMESS PBS = FILE########################################################### #open .job file JOBFILE =3D open(job['name'] + ".pbs", "w") #write PBS headers JOBFILE.write("#!/bin/bash \n#PBS -l select=3D1:ncpus=3D8:mpiprocs=3D8 = \n#PBS -l place=3Dscatter:excl \n#PBS -o /home/sac5ejh/jobs-gamess/" + = job['name'] + "/"+ job['name'] + ".log \n#PBS -e = /home/sac5ejh/jobs-gamess/" + job['name'] + "/"+ job['name'] + ".err = \n#PBS -N " +job['name'][:14]+ " \n#PBS -l walltime=3D" + = job['wall_time'] + " \n#PBS -q workq \n#PROJECT=3DPR11 \ncat = $PBS_NODEFILE \nmodule unload bull/mpi/2-1.7-2.t \n# latest intel = compilers and mkl \nmodule load intel/compilers/11 \nmodule load = intel/MKL/10.2.5.035 \nmodule load intel/mpi/4.0.0.025 \nmodule load = apps/gamess/20100809 \nexport OMP_NUM_THREADS=3D1 \ncd $PBS_O_WORKDIR = \nenv \n./rungmss " + job['name'] + "\n") #close job file JOBFILE.close() = ##########################################################################= ###### =20 #make folder for job os.makedirs(job['dir']) #move job and input file to job directory shutil.copy (job['name'] + ".pbs", job['dir'] + '/' + job['name'] + = ".pbs") shutil.copy (job['name'] + ".inp", job['dir'] + '/' + job['name'] + = ".inp") os.rename (job['name'] + ".pbs", 'gamess/' + job['name'] + ".pbs") os.rename (job['name'] + ".inp", 'gamess/' + job['name'] + ".inp") PROCESS =3D subprocess.call(['qsub', job['name'] + '.pbs'], = cwd=3D"gamess") print "job submitted" #database logging CON =3D sqlite3.connect('log.db') CURS =3D CON.cursor() CURS.execute("CREATE TABLE IF NOT EXISTS gamessJobs (id INTEGER PRIMARY = KEY, name text, wall_time text, dir text, time timedate, submitted = boolean, inq boolean, finished boolean, processed boolean)") CURS.execute('INSERT INTO gamessJobs VALUES (NULL, ?, ?, ?, ?, 1, 0, 0, = 0)' ,(str(job['name']), str(job['wall_time']), str(job['dir']), time)) CON.commit() CON.close() print "job logged at " + time -------------------------------------- function.py = ----------------------------------------- def getcoords(data): t =3D cclib.parser.utils.PeriodicTable() count=3D0 geom =3D [] try: for line in data.atomcoords[-1]: atoms =3D str(t.element[data.atomnos[count]]) + " " + = str(data.atomnos[count]) + ".0 " coords =3D "%+.5f \t %+.5f \t %+.5f" % (line[0], line[1], = line[2]) geom.append(atoms + coords) count +=3D 1 return geom except: return 0 =20 On 26 Nov 2011, at 18:25, Nuno A. G. Bandeira nuno.bandeira..ist.utl.pt = wrote: >=20 > Sent to CCL by: "Nuno A. G. Bandeira" [nuno.bandeira a ist.utl.pt] > On 26-11-2011 01:43, John McClatchy osvgut##ucla.edu wrote: >> Sent to CCL by: "John McClatchy" [osvgut_+_ucla.edu] >> I'm trying to run MR-CASPT2 single points using GAMESS on Gaussian = output file (i.e., CASSCF(6,6)/6- >> 31G(d) geometry. Does anybody know how to do this? I have seen this = type of calculation MR- >> MPT2/6-31G(d)[GAMESS]//CASSCF(6,6)/6-31G(d){GAUSSIAN03} but can't = seem to figure out how to >> do this myself. Any help/suggestions will be greatly appreciated. >>=20 >=20 > Please bear in mind that although they all sound the same these = methods aren't exactly identical. They were developed by different = people and the difference is how you define the zeroth order = hamiltonian. >=20 > Thus >=20 > Gaussian09 has CASMP2 > GAMESS has MR-MP2 > MOLCAS has CASPT2 > ORCA has NEVPT2 >=20 > these are all conceptually different methods and should be treated as = such. >=20 > You should have no difficulty extracting the coordinates from the = Gaussian output via a graphical interface or some such and put it in a = GAMESS input format with the help of their online manual = http://www.msg.ameslab.gov/gamess/GAMESS_Manual/input.pdf >=20 >=20 >=20 > --=20 > Nuno A. G. Bandeira, AMRSC > -- >=20 >=20 >=20 > -=3D This is automatically added to each message by the mailing script = =3D- > To recover the email address of the author of the message, please = change>=20>=20>=20=>=20>=20Conferences: = http://server.ccl.net/chemistry/announcements/conferences/ >=20>=20>=20>=20 >=20 --Apple-Mail=_B7B90CCC-0712-4695-A6EC-20F326EF4775 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=windows-1252 cclib.sf.net)
Yours
Ed Holland
if os.path.exists(job['dir'] + '/' + = job['name'] + ".out") =3D=3D 1: print("output file = found")


try:
  =   outfile =3D cclib.parser.ccopen(job['dir'] + '/' + job['name'] + = ".out")
    = outfile.logger.setLevel(logging.ERROR)
except:
  =   exit("Cant open output file")
try:
  =   data=3Doutfile.parse()
except:
    = exit("cant parse = file")

##################################
# Try to get get charge and mult from cclib, but if the output file = doesn'r contain this data then get it from the input = file
###################################
if = hasattr(data, "mult") and hasattr(data,"charge"):
  =   mult=3Ddata.mult
    = charge=3Ddata.charge
else:
    = try:
        INFILE =3D open(job['dir'] + = '/' + job['name'] + '.in')
    = except:
        exit('Cant open output = file')
    for line in INFILE:
  =       if re.match("(\d),(\d)",line):
  =           m =3D = re.match("(\d),(\d)",line)
          =   charge =3D m.group(1)
        =     mult =3D m.group(2)

#make new = gamess inp file
GAMFILE =3D = open(job['name']+".inp",'w')
GAMFILE.write(" $BASIS GBASIS=3DN31= NGAUSS=3D6 NDFUNC=3D1 NPFUNC=3D1 $END\n")
GAMFILE.write(" = $CONTRL RUNTYP=3DENERGY DFTTYP=3DwB97X-D = COORD=3DUNIQUE\n")
GAMFILE.write("ICHARG=3D"+str(charge)+" = MULT=3D"+str(mult)+" ")
if mult>1:
    = GAMFILE.write("SCFTYP=3DROHF $END\n")
else:
  =   GAMFILE.write("SCFTYP=3DRHF $END\n")
GAMFILE.write(" = $SYSTEM MWORDS=3D2000 $END\n")
GAMFILE.write(" = $DATA\n")
GAMFILE.write(job['name'] = +"\n")
GAMFILE.write("C1\n")
geom =3D = getcoords(data)
for line in geom:
    = GAMFILE.write(line +"\n")
GAMFILE.write(" = $END\n")
GAMFILE.close()

job['dir'] =3D= os.path.join('jobs-gamess', = job['name'])

#CHECK THAT JOB NAME HASN"T BEEN = USED BEFRE
if os.path.exists(job['dir']) =3D=3D 1: = sys.exit("Job name in use")
if os.path.exists(job['name'] + = ".inp") =3D=3D 0: sys.exit("not found: "+ job['name'] + = ".inp")

# WRITE GAMESS PBS = FILE###########################################################
= #open .job file
JOBFILE =3D open(job['name'] + ".pbs", = "w")

#write PBS = headers
JOBFILE.write("#!/bin/bash \n#PBS -l = select=3D1:ncpus=3D8:mpiprocs=3D8 \n#PBS -l place=3Dscatter:excl \n#PBS = -o /home/sac5ejh/jobs-gamess/" + job['name'] + "/"+ job['name'] + ".log = \n#PBS -e /home/sac5ejh/jobs-gamess/" + job['name'] + "/"+ job['name'] + = ".err \n#PBS -N " +job['name'][:14]+ " \n#PBS -l walltime=3D" + = job['wall_time'] + " \n#PBS -q workq \n#PROJECT=3DPR11 \ncat = $PBS_NODEFILE \nmodule unload bull/mpi/2-1.7-2.t \n# latest intel = compilers and mkl \nmodule load intel/compilers/11 \nmodule load = intel/MKL/10.2.5.035 \nmodule load intel/mpi/4.0.0.025 \nmodule load = apps/gamess/20100809 \nexport OMP_NUM_THREADS=3D1 \ncd $PBS_O_WORKDIR = \nenv \n./rungmss " + job['name'] + = "\n")

#close job = file
JOBFILE.close()

##################= ############################################################## =   


#make folder for = job
os.makedirs(job['dir'])
#move job and input file = to job directory
shutil.copy (job['name'] + ".pbs", job['dir'] = + '/' + job['name'] + ".pbs")
shutil.copy (job['name'] + = ".inp", job['dir'] +  '/' + job['name'] + = ".inp")
os.rename (job['name'] + ".pbs", 'gamess/' + = job['name'] + ".pbs")
os.rename (job['name'] + ".inp", = 'gamess/' + job['name'] + ".inp")

PROCESS =3D = subprocess.call(['qsub', job['name'] + '.pbs'], = cwd=3D"gamess")
print "job = submitted"

#database logging
CON =3D = sqlite3.connect('log.db')
CURS =3D = CON.cursor()
CURS.execute("CREATE TABLE IF NOT EXISTS = gamessJobs (id INTEGER PRIMARY KEY, name text, wall_time text, dir text, = time timedate, submitted boolean, inq boolean, finished boolean, = processed boolean)")
CURS.execute('INSERT INTO gamessJobs = VALUES (NULL, ?, ?, ?, ?, 1, 0, 0, 0)' ,(str(job['name']), = str(job['wall_time']), str(job['dir']), = time))
CON.commit()
CON.close()


print "job logged at " + = time



--------------= ------------------------ function.py = -----------------------------------------

def = getcoords(data):
    t =3D = cclib.parser.utils.PeriodicTable()
    = count=3D0
    geom =3D []
    = try:
        for line in = data.atomcoords[-1]:
            = atoms =3D  str(t.element[data.atomnos[count]]) + "   " + = str(data.atomnos[count]) + ".0   "
      =       coords =3D  "%+.5f \t %+.5f \t %+.5f" % = (line[0], line[1], line[2])
          =   geom.append(atoms + coords)
        =     count +=3D 1
        return = geom
    except:
      =   return 0
 
On 26 Nov 2011, at 18:25, = Nuno A. G. Bandeira nuno.bandeira..ist.utl.pt wrote:


Sent to CCL by: "Nuno A. G. Bandeira" = [nuno.bandeira a ist.utl.pt]
On = 26-11-2011 01:43, John McClatchy osvgut##ucla.edu wrote:
Sent to CCL by: "John  McClatchy" = [osvgut_+_ucla.edu]
I'm trying = to run MR-CASPT2 single points using GAMESS on Gaussian output file = (i.e., CASSCF(6,6)/6-
31G(d) = geometry. Does anybody know how to do this? I have seen this type of = calculation MR-
MPT2/6-31G(d)[GAMESS]//CASSCF(6,6)/6-31G(d){GAUSSIAN03} = but can't seem to figure out how to
do this myself. Any help/suggestions will be greatly = appreciated.


Please bear in mind that although = they all sound the same these methods aren't exactly identical. They = were developed by different people and the difference is how you define = the zeroth order hamiltonian.

Thus

Gaussian09 has = CASMP2
GAMESS has MR-MP2
MOLCAS has CASPT2
ORCA has = NEVPT2

these are all conceptually different methods and should be = treated as such.

You should have no difficulty extracting the = coordinates from the Gaussian output via a graphical interface or some = such and put it in a GAMESS input format with the help of their online = manual http://= www.msg.ameslab.gov/gamess/GAMESS_Manual/input.pdf



-- =
Nuno A. G. Bandeira, AMRSC
--



-=3D This is = automatically added to each message by the mailing script =3D-
To = recover the email address of the author of the message, please = change
the strange characters on the top line to the ,, sign. You can = also
look up the X-Original-From: line in the mail = header.

E-mail to subscribers: CHEMISTRY,,ccl.net or use:
=     http://www.ccl.ne= t/cgi-bin/ccl/send_ccl_message

E-mail to administrators: CHEMISTRY-REQUEST,,ccl.net = or use
    http://www.ccl.ne= t/cgi-bin/ccl/send_ccl_message
http://www.ccl.net/c= hemistry/sub_unsub.shtml

Before posting, check wait time at: = http://www.ccl.net

Job: http://www.ccl.net/jobs = Conferences: http:/= /server.ccl.net/chemistry/announcements/conferences/

Search = Messages: http://www.ccl= .net/chemistry/searchccl/index.shtml

If your mail bounces = > from CCL with 5.7.1 error, check:
    http://www.ccl.net/spammers.txt

RTFI:
http://www.cc= l.net/chemistry/aboutccl/instructions/


<= /div>
= --Apple-Mail=_B7B90CCC-0712-4695-A6EC-20F326EF4775-- --Apple-Mail=_3A6445D7-8594-4F0F-96E0-130595C62D60 Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP using GPGMail -----BEGIN PGP SIGNATURE----- iQEcBAEBAgAGBQJO0VcSAAoJEEJc9s8gBQlyudwIAIHemmwYpFhoXp3At1JQBL9M MghMxh2Ux2su5rRKt9zVY0wLiwyWGQCfU8B2Zhqgrycg5d/BYyqlSIEGSu67Qun7 2jMxeStDEG+CpjsZKZtWGgFULJ+9n3cpGdrmc0NHroLSsobfyNHUVEyQQvK8MZrz g6sGt1zq+keAhL1CKa6LFxYv5lwrbHQYC+DYghYwdFMMQ3JVoYNUS25/s8RLhkPD ZR+UZVlgGSNJXu10JsNtiXqrB38tyyJs8paov0z3xHfFIQpKiLpLOpS/UPJaX8uk sPlboblTvT7JwZzSE/7fxvMDCVZF7WVIX4DWYJf5IgZ9zGhgsxZs69ugkktgw7M= =5laq -----END PGP SIGNATURE----- --Apple-Mail=_3A6445D7-8594-4F0F-96E0-130595C62D60-- From owner-chemistry@ccl.net Sat Nov 26 17:15:01 2011 From: "Pezhman Zarabadi-Poor pzarabadip]~[gmail.com" To: CCL Subject: CCL: Suitable Basis set for Hg(II) Calculation Message-Id: <-45928-111126171355-10394-0gM3Dsa5f7bY7s/Q1yRB7A{}server.ccl.net> X-Original-From: "Pezhman Zarabadi-Poor" Date: Sat, 26 Nov 2011 17:13:51 -0500 Sent to CCL by: "Pezhman Zarabadi-Poor" [pzarabadip/a\gmail.com] Dear CCL users, I am planning to do some DFT and TDDFT calculations on a complex of Hg(II) and a naphthalene sulfonic acid derivative. I searched through the literature and found that some of previous computational works have employed ECP-LANL2DZ for Hg(II). Is it a good suggestion for doing such calculations? I checked the larger basis sets such as aug-cc-pVDZ to QZ but I obtained a little bit different results than the published ones? According to the consultant with an expert person, there is guess that maybe employing larger basis sets makes Hg ions too soft and makes the results wrong! Your suggestions about the appropriate method/basis sets are highly appreciated. Best regards, Pezhman Zarabadi-Poor