From 4fb3a00ab62a85d607faad3bbdb9127c19ad2cd3 Mon Sep 17 00:00:00 2001 From: Aditya Wibawa Sakti Date: Fri, 1 Jul 2022 10:34:10 +0700 Subject: [PATCH] add IRC --- bin/cmmde.py | 13 +++++++++- lib/__pycache__/cmmde_orca.cpython-39.pyc | Bin 1834 -> 2233 bytes lib/cmmde_orca.py | 28 +++++++++++++++++++--- 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/bin/cmmde.py b/bin/cmmde.py index 58e1a43..35850ae 100755 --- a/bin/cmmde.py +++ b/bin/cmmde.py @@ -111,6 +111,17 @@ parser.add_argument('-nlig','--nligands',type=int,help='Jumlah ligan yang akan d parser.add_argument('-solvent','--solvent',type=str,default='none',help='Pelarut yang digunakan dalam perhitungan.') # Input untuk simulasi MD sistem protein parser.add_argument('-protein','--protein',type=str,help='Struktur protein dalam format pdb') +# Input untuk perhitungan NEB +parser.add_argument('-produk','--produk',type=str,help='Struktur produk yang digunakan dalam interpolasi NEB dalam format koordinat Cartesian.') +parser.add_argument('-trans','--transitionstate',type=str,help='Struktur perkiraan keadaan transisi yang digunakan dalam format koordinat Cartesian.') +# Input untuk IRC +parser.add_argument('-irciter','--irciter',type=int,default=20,help='Iterasi maksimum IRC Orca.') +parser.add_argument('-printlevel','--printlevel',type=str,default='1',help='Print level dalam IRC Orca. Default=1') +parser.add_argument('-inithess','--inithess',type=str,default='Read',help='Cara menginisiasi Hessian. Default: Read.') +parser.add_argument('-grid','--grid',type=int,default=2,help='Ukuran grid dalam integrasi Orca.') +parser.add_argument('-finalgrid','--finalgrid',type=int,default=4,help='Ukuran final grid dalam integrasi Orca.') + + # Input untuk perhitungan bergantung waktu parser.add_argument('-nr','--nroots',type=int,default=5,help='Jumlah orbital aktif yang diperhitungkan dalam perhitungan bergantung waktu.') parser.add_argument('-tda','--tda',type=str,default='false',help='Apakah akan digunakan pendekatan Tamm-Dancoff. Default = false.') @@ -184,7 +195,7 @@ obabel geom.smi -O geom.xyz --gen3d""".format(opt.nproc),file=fout) geom = 'geom.xyz' ### ORCA if opt.software == 'orca': - orca(opt.job,opt.method,opt.nproc,geom,opt.charge,opt.mult,opt.scalefreq,opt.temp,opt.pressure,opt.nroots,opt.tda,opt.solvent,opt.constraints,opt.qmatoms,opt.totalcharge,opt.totalmult,opt.qm2method,opt.qm2basis,opt.activeatoms,opt.hessfile,opt.dispersion,opt.aim) + orca(opt.job,opt.method,opt.nproc,geom,opt.charge,opt.mult,opt.scalefreq,opt.temp,opt.pressure,opt.nroots,opt.tda,opt.solvent,opt.constraints,opt.qmatoms,opt.totalcharge,opt.totalmult,opt.qm2method,opt.qm2basis,opt.activeatoms,opt.hessfile,opt.dispersion,opt.aim,opt.produk,opt.transitionstate,opt.irciter,opt.printlevel, opt.inithess,opt.grid, opt.finalgrid) ### NWChem if opt.software == 'nwchem': diff --git a/lib/__pycache__/cmmde_orca.cpython-39.pyc b/lib/__pycache__/cmmde_orca.cpython-39.pyc index 526b1a0b5dcc2fb18344f11fe921aafdd40fa262..ffa2e7c5dab63ac9998643a8c734684d395dcc1c 100644 GIT binary patch delta 1272 zcmYjRO-~b16n!6MTBaWY1;r0wKtK@jW9336MnxgfYJ^0<5Q4lxCX^OmM`P-%T@aUQ zP5(d}R~nbbL>KPdxNzaZ#Vq^{CWeg(iRZnxv@?0{-h0lu=iQe~=6&LGXJR!Tw+Wub z<*yH(N8cpQ6#H~pe+CdWeHAO$%?S}yktZbQ2v(0=M>!@!h*XX#D%#GI0u`3QXGB<0 z=r4K2`w zTz*2`RUxXoN)6g0lAA2|L-mO6dhFR`@)uMG4IdSUHhGE4h$z-3{#Tng_s<+aGzD=l zETeVHM$1%fBq*k8Lz&Esr89ILZg%-p91%x%Sc$&=Sm^VaIHvkU-%Cab@_y)Ou}WK@ z0YI#YsJOlzY=1-UfQzeyI#A_}4%JcTzknYE-=R9IY@h9_vp>NOf$gf&9cqp~zOO09 zjEKpL5DhnAGF=r0BQ2k@uBw=27OXE9l4zk@vu_Mke{!kW(z zy??--0o$u?9acwFQXN&ts#fF1_lO`NygQtdOxHP5;yLRqq2^u0F321iKbs18cH3X# zx6O8EK45;X+`)$ixhL21A!qjP)x70^ouA8Fsp%_|h+#)3Z!d6GT;fRclOxz|td;51 zwUvd%rR%ddr=4d71I^F1A`s-WBk;Bz=ho`eS>Kgf=s0(zm+^19Puz5^p3QjvjGN2V zDxIyYducbby5%}U&k94fn-TV?J+kHc8(9H^8`2Xs@pUh=nr@U@R=&_SKnKeA+rHfh zZ_BKByyi=Wze5nlARa~t>}`E~S|1-oJRH4&1B1{*cn0n3+RvnPJ)qt@A}7k@)}`bJ zSP<&a2<^o(Z~2jxq{HPGRyJjYY-;h)9^-7!AXtI delta 884 zcmYk4O=}ZD7{}+CNt4anHt$(qv(_{k5Y&r$P$}rS78KNi2g_K{R8wc86qyhq9&3#R z#FJ!E3VQJ1%?}{n`T;`mOL+C*ekL-deIlt7M%-$Jpd=roYQ%q z&(uPw?n6BZwct~q%%^KJCSw?`a$wwP74fNQtTQ7amwdX(9`u}U71C*psz$pU(DOg2 z&PLA1x)_c>hiV;t#i$RJWmIB%L5t`}lUp+2Y6E%$dR!;8HPP<{KTe(rt_gtG0L}tP z>Qr>*yG*he-o7CAtZ)&W_u&E~^WMiQ*=^Qru8u`}yR$BCnPu(H@QqkX@{ac^?xOVh zx8TFAc#WLlZv0o0Hple%D^vC1$HcYTF0MNxhb&_jybH6)Hn}_emuO#V#8d;+YLkpt YbtH4kGSabi^=Vta*m`uGko|?R|7L*FC;$Ke diff --git a/lib/cmmde_orca.py b/lib/cmmde_orca.py index c522d2c..b517b26 100644 --- a/lib/cmmde_orca.py +++ b/lib/cmmde_orca.py @@ -1,10 +1,14 @@ -def orca(job,method,nproc,geom,charge,mult,scalfreq,temperature,pressure,nroots,tda,solvent,constraints,qmatoms,totalcharge,totalmult,qm2method,qm2basis,activeatoms,hessfile,disp,aim): - if 'opt' in job or 'Opt' in job or 'OPT' in job: +def orca(job,method,nproc,geom,charge,mult,scalfreq,temperature,pressure,nroots,tda,solvent,constraints,qmatoms,totalcharge,totalmult,qm2method,qm2basis,activeatoms,hessfile,disp,aim,product,ts,irciter, printlevel, inithess,grid, finalgrid): + if 'opt' in job or 'Opt' in job or 'OPT' in job and not 'ts' in job: method += ' opt' if 'freq' in job and ('XTB2' in method or 'XTB' in method): method += ' Numfreq' + if 'irc' in job: + method += ' IRC' if 'ts' in job: method += ' OptTS' + if 'NEB-TS' in job: + method += ' NEB-TS' if 'freq' in job and ('XTB2' not in method and 'XTB' not in method and 'XTBFF' not in method): method += ' freq' if disp != 'None': @@ -61,6 +65,24 @@ end""".format(scalfreq,temperature,pressure),file=f) print("""%tddft nroots {} tda {} -end""".format(nroots,tda),file=f) +end""".format(nroots,tda),file=f) + if 'NEB' in job: + print("""%NEB +NEB_END_XYZFILE {} +NEB_TS_XYZFILE {} +END""".format(product,ts),file=f) + if 'irc' in job: + print("""%irc + MaxIter {} + PrintLevel {} + InitHess {} + Hess_filename "{}" +end + +%method + Grid {} + FinalGrid {} +end +""".format(irciter, printlevel, inithess, hessfile, grid, finalgrid),file=f) return