MOPAC
A MOPAC egy szemi-empirikus kvantummechanikai programcsomag, amelyet molekulák és anyagok elektronikai szerkezetének, geometriájának és különböző tulajdonságainak vizsgálatára használnak. A program bemeneti fájl alapján fut, és a számítás eredményét többféle kimeneti fájlban menti el.
A MOPAC leggyakoribb felhasználási területei közé tartozik az egypontos energia számítása, a geometriaoptimalizálás, a rezgésspektrum számítása, valamint az oldószerhatás figyelembevétele implicit oldószermodellek segítségével.
A MOPAC futtatásához egy szöveges bemeneti fájlt kell létrehozni, amely kulcsszavakat, leíró sorokat és a vizsgált rendszer geometriáját tartalmazza. A futtatás általános alakja:
mopac pelda.mop
Sikeres futás esetén a program tipikusan egy .out és egy .arc fájlt hoz létre. A .out fájl a számítás fő eredményeit és naplóját tartalmazza, míg a .arc fájl archiváló jellegű kimenetként szolgál.
A következő fejezetekben bemutatjuk a MOPAC inputfájl felépítését, a leggyakoribb számítástípusokat, valamint a legfontosabb kulcsszavakat.
A MOPAC inputfájl felépítése
A MOPAC bemeneti fájlának felépítése egyszerű, de érzékeny a sorhatárokra. Az inputfájl első sora a kulcsszavakat tartalmazza, ezt két leíró vagy kommentáló sor követi, majd ezután következik a molekula geometriája.
Egy egyszerű MOPAC inputfájl általános szerkezete az alábbi:
kulcsszavak
első komment- vagy címsor
második komment- vagy leíró sor
atom1 koordinátái
atom2 koordinátái
...
utolsó atom koordinátái
A geometria megadható kartéziánus koordinátákkal, például az elemjel és az x, y és z koordináták megadásával. A MOPAC a bemeneti fájl nevét használja a keletkező kimeneti fájlok alapneveként.
Konkrét bemeneti fájl példa:
AM1 OPT
Geometry optimialization for a formic acid molecule
C -3.17600 0.34760 2.01330
O -2.05280 0.75420 2.08610
H -4.00190 0.55050 2.69320
O -3.48090 -0.47220 0.96340
H -3.69880 -1.05810 0.21310
Tesztrendszer
A MOPAC használatának bemutatásához a példák többségében a hangyasavat (formic acid, HCOOH) használjuk tesztrendszerként. A hangyasav dokumentációs célra azért előnyös, mert viszonylag kis méretű molekula, ugyanakkor már többféle kémiailag jól értelmezhető szerkezeti elemet tartalmaz.
A számítások első részében egyetlen hangyasavmolekulán mutatjuk be az egypontos energia számítását, a rezgésszámítás alapjait, valamint szükség esetén az oldószerhatás kezelését. A geometriaoptimalizálási példa bemutatásához a hangyasav dimerét használjuk. Ez a rendszer két hangyasavmolekulából álló, ciklikus, kettős hidrogénkötéssel stabilizált komplex, ezért jól alkalmas hidrogénkötéses kölcsönhatásokkal összetartott molekulapárok optimalizálásának szemléltetésére.
Hangyasav-dimer két hidrogénkötéssel stabilizált szerkezete.
Single-point energiaszámolás
A legegyszerűbb MOPAC-feladat egy egypontos energia- és elektronikai szerkezetszámítás. Ebben az esetben a program a megadott geometrián végez SCF-számítást, de nem optimalizálja a szerkezetet. Egypontos számításhoz a 1SCF kulcsszó használható. A szemi-empirikus modell megadására a modern MOPAC-verziókban a PM7 jó kiindulópont.
A hangyasav monomerre az formic_acid.mop alábbi bemeneti fájl használható:
PM7 1SCF CHARGE=0
Formic acid monomer - Single-point SCF calculation
C -3.183783941 0.327089138 2.000018081
O -2.049843997 0.720089598 1.990180326
H -3.984737083 0.526117507 2.708398596
O -3.656651065 -0.494419598 1.035591555
H -3.000638884 -0.738481355 0.338289658
A kulcssorban a PM7 adja meg a használt szemi-empirikus Hamiltoniant, a 1SCF azt jelzi, hogy csak egy egypontos SCF-számítás történjen, a CHARGE=0 pedig a rendszer semleges töltését rögzíti.
A számítás a következő paranccsal indítható:
mopac formic_acid.mop
A futás után érdemes ellenőrizni, hogy
a számítás hiba nélkül befejeződött-e,
létrejött-e a
formic_acid.outés aformic_acid.arcfájl,az output tartalmazza-e a végső energiára és az elektronikai szerkezetre vonatkozó eredményeket.
Geometriaoptimalizálás
A geometriaoptimalizálás célja az, hogy a kezdeti szerkezetből a rendszer egy lokális energiaminimumhoz közeli geometriáját határozzuk meg. A MOPAC alapértelmezésben geometriát optimalizál a megadott szerkezeten, ezért ehhez nem szükséges külön optimalizálási kulcsszót megadni. A gyakorlatban azonban gyakran használják a PRECISE kulcsszót a szigorúbb konvergenciakritériumokhoz. A fél-empirikus modell megadására kiindulópontként a PM7 használható.
A hangyasav-dimer jó választás geometriaoptimalizálási példának, mert kisméretű, számítási szempontból gyorsan kezelhető rendszer, ugyanakkor már valódi intermolekuláris kölcsönhatásokat is tartalmaz. A két hangyasavmolekula ciklikus komplexet alkot, amelyet két hidrogénkötés stabilizál, ezért az optimalizálás során nemcsak egyetlen molekula belső geometriájának relaxációja, hanem egy hidrogénkötéses molekulapár szerkezetének rendeződése is bemutatható. A rendszer előnye továbbá, hogy az optimalizált szerkezet könnyen értelmezhető geometriai paraméterekkel jellemezhető, mint például az intermolekuláris O···H távolsággal.
Az alábbi formic_acid_dimer_opt.mop bemeneti fájl egy lehetséges kiinduló geometriát ad meg a hangyasav-dimerre kartéziánus koordinátákkal:
PM7 PRECISE
Geometry optimalization for a formic acid dimer molecule
C -0.18920 -0.20380 -0.31100
O -1.30550 -0.63340 -0.41060
H 0.66700 -0.32750 -0.97010
O 0.18250 0.56500 0.73750
H -0.52950 0.73710 1.40050
C -3.18380 0.32710 2.00000
O -2.04980 0.72010 1.99020
H -3.98470 0.52610 2.70840
O -3.65670 -0.49440 1.03560
H -3.00060 -0.73850 0.33830
A fenti koordináták egy hangyasav-dimer példageometriájának felelnek meg és alkalmasak kiinduló szerkezetként egy MOPAC-optimalizáláshoz.
A számítás a következő paranccsal indítható:
mopac formic_acid_dimer_opt.mop
A sikeres optimalizálás legfontosabb jelei a következők:
a futás hiba nélkül befejeződött, és létrejött a
formic_acid_dimer_opt.outvalamint aformic_acid_dimer_opt.arcfájl,az outputban megjelenik a
GEOMETRY OPTIMISED USING EIGENVECTOR FOLLOWING (EF).sor, amely azt jelzi, hogy a geometriaoptimalizálás konvergált,az outputban szerepel az
SCF FIELD WAS ACHIEVEDszöveg, ami arra utal, hogy az elektronikai szerkezet számításának önkonzisztens tere is konvergált,az optimalizálási ciklusok során a
CYCLE:,GRAD.:ésHEAT:sorok alapján követhető, hogy a rendszer fokozatosan közelít-e egy minimumhoz.
Az optimalizálás menetének megítéléséhez különösen érdemes figyelni a ciklusonként kiírt HEAT: és GRAD.: értékeket. Egy jól viselkedő optimalizálásnál a gradiens nagysága fokozatosan csökken, és a HEAT: értéke a ciklusok előrehaladtával egyre kisebb változást mutat, vagyis a szerkezet közelít a minimumhoz és az energia konvergál. A ``HEAT:``értéknek nem feltétlenül kell minden egyes lépésben szigorúan monoton csökkennie, de a teljes folyamatnak egy stabil minimum felé kell tartania.
Ha az outputban nem jelenik meg a geometria optimalizálását és az SCF sikerét jelző szöveg, vagy a gradiens nem csökken a küszöbérték alá, akkor az optimalizálás nem tekinthető teljesen sikeresnek, még akkor sem, ha a program létrehozta a kimeneti fájlokat. Ilyenkor érdemes a kezdeti geometriát, a választott kulcsszavakat, illetve az SCF-konvergenciát külön is ellenőrizni.
A dimeres optimalizálási példa jól szemlélteti, hogy a MOPAC nemcsak egyetlen molekula, hanem gyenge, hidrogénkötéssel stabilizált molekulakomplex optimalizálására is használható.
Frekvenciaszámítás
A geometriaoptimalizálást követően célszerű rezgésszámítást végezni az optimalizált hangyasavmolekulán. Ennek két fő célja van: egyrészt megkaphatók a molekula normálmódjai és rezgési frekvenciái, másrészt ellenőrizhető, hogy az optimalizált szerkezet valóban minimumhelyzetnek felel-e meg. A MOPAC hivatalos példái között külön szerepel rezgésszámítás optimalizált geometrián, ezért ez természetes következő lépés az optimalizálási rész után.
A rezgésszámításhoz a FORCE kulcsszó használható. A MOPAC-hoz kapcsolódó útmutatók szerint ez a kulcsszó a rezgési frekvenciák és normálmódok számítására szolgál. Egy minimumhelyzetű szerkezet esetén a frekvenciaspektrumban nem várunk imaginárius frekvenciát.
Note
A frekvenciaszámításhoz korábban már optimalizált szerkezetet kell választani.
Egy lehetséges bemeneti fájl a következő (formic_acid_freq.mop):
PM7 FORCE
Formic acid monomer - Frequency calculation
C -3.183979984 0.327336994 2.000311638
O -2.049824916 0.719660125 1.989685079
H -3.985548873 0.526173487 2.708389320
O -3.656497428 -0.494553996 1.035761306
H -2.999838484 -0.737146372 0.338582397
A számítás a következő paranccsal indítható:
mopac formic_acid_freq.mop
A futás után érdemes ellenőrizni, hogy
a számítás hiba nélkül befejeződött-e,
létrejött-e a
formic_acid_freq.outfájl,az output tartalmazza-e a rezgési frekvenciákra vonatkozó eredményeket,
a frekvenciák között nem jelenik-e meg imaginárius érték, mert ez arra utalna, hogy a szerkezet nem minimumhelyzet, hanem magasabb rendű nyeregponthoz tartozik.
A rezgésszámítás tehát nemcsak a molekula rezgési tulajdonságainak becslésére alkalmas, hanem fontos ellenőrző lépés is az optimalizálás után, mert segítségével megítélhető, hogy az optimalizált geometria valódi lokális minimumot képvisel-e.
Oldószerhatás - COSMO-modell
A gázfázisú számítások mellett gyakran hasznos az oldószerhatás figyelembevétele is, mivel a molekulák szerkezete és energiája oldatban jelentősen eltérhet a vákuumbeli állapottól. A MOPAC-ban az oldószerhatás egyik legegyszerűbb kezelési módja a COSMO (Conductor-like Screening Model) kontinuumoldószer-modell használata. Ebben a megközelítésben a molekula egy dielektromos közegbe ágyazott üregben helyezkedik el, és az oldószert nem diszkrét molekulákkal, hanem effektív közegként vesszük figyelembe.
A COSMO-modell aktiválásának legegyszerűbb módja az EPS=n.n kulcsszó megadása, ahol EPS az oldószer dielektromos állandóját jelöli. A MOPAC kézikönyve szerint az EPS kulcsszó maga indítja el a COSMO-számítást. Víz esetén gyakori választás az EPS=78.4 érték, amely a víz dielektromos állandójának tipikus közelítése. A hivatalos MOPAC-példák is ezt az értéket használják egy egyszerű COSMO-s SCF-feladathoz.
A hangyasav monomer oldószerhatásának bemutatásához az alábbi egyszerű single-point számítás használható (formic_acid_cosmo.mop):
PM7 1SCF EPS=78.4
Formic acid monomer - COSMO solvention model calculation
C -3.183979984 0.327336994 2.000311638
O -2.049824916 0.719660125 1.989685079
H -3.985548873 0.526173487 2.708389320
O -3.656497428 -0.494553996 1.035761306
H -2.999838484 -0.737146372 0.338582397
A számítás a következő paranccsal indítható:
mopac formic_acid_cosmo.mop
A futás után érdemes ellenőrizni, hogy
a számítás hiba nélkül befejeződött-e,
létrejött-e a
formic_acid_cosmo.outés aformic_acid_cosmo.arcfájl,az output elején megjelenik-e az
EPS=78.4 - USE ANDREAS KLAMT'S COSMO IMPLICIT SOLVATION MODELsor, amely jelzi, hogy a COSMO-modell valóban aktiválódott,az eredmények összevethetők-e a megfelelő gázfázisú egypontos számítással, hogy látható legyen az implicit oldószer hatása az energiára és az elektronikai szerkezetre.
A COSMO-modellhez a MOPAC további finomhangoló kulcsszavakat is kínál, például NSPA, DISEX és RSOLV formában. Ezek rendre a felület szegmentálásának részletességét, a szegmens-szegmens kölcsönhatások értékelési sugarát és az oldószermolekula effektív sugarát szabályozzák. Alapvető bemutató példákhoz azonban rendszerint elegendő az EPS kulcsszó megadása.
Gyakran használt MOPAC kulcsszavak
A MOPAC számítások viselkedését alapvetően a bemeneti fájl első sorában megadott kulcsszavak határozzák meg. Az alábbiakban röviden összefoglaljuk leggyakrabban használt kulcsszavakat:
PM7→ a használt szemi-empirikus Hamiltoniant adja meg. A modern MOPAC-verziókban aPM7általános célú számításokhoz jó kiindulópont, és a dokumentációban is ezt használtuk alapértelmezett módszerként.AM1,PM3,PM6→ a MOPAC további fél-empirikus Hamiltonianjai. Ezek szintén választhatók a számításhoz, de általános célú példákhoz aPM7többnyire korszerűbb választás.1SCF→ egypontos SCF-számítást kér. Ilyenkor a program a megadott geometrián végez elektronikai szerkezetszámítást, de nem optimalizálja a szerkezetet. Ez a kulcsszó hasznos egyszerű energia- és elektronszerkezet-számításokhoz.EF→ az eigenvector-following optimalizálót kéri. Geometriaoptimalizálás esetén ez az egyik leggyakrabban használt eljárás, és a MOPAC-os példákban is tipikusan ezzel találkozunk.PRECISE→ szigorúbb konvergenciakritériumokat kér a számításhoz. Ez geometriaoptimalizálásnál és más, nagyobb pontosságot igénylő feladatoknál gyakran hasznos.FORCE→ rezgésszámítást kér. A kulcsszó hatására a program kiszámítja a normálmódokat és a rezgési frekvenciákat, ami különösen fontos az optimalizált szerkezet minimumjellegének ellenőrzéséhez.CHARGE=n→ a rendszer teljes töltését adja meg. Például aCHARGE=0semleges rendszert, aCHARGE=1egyszeresen pozitív töltésű rendszert jelent.EPS=n.n→ a COSMO implicit oldószermodell dielektromos állandóját adja meg, és ezzel aktiválja az oldószerhatás kezelését. PéldáulEPS=78.4vízhez tartozó közelítő érték.NSPA=nn→ a COSMO felület szegmentálásának részletességét szabályozza. Finomhangoló kulcsszó, amelyet inkább akkor érdemes használni, ha a kontinuumoldószeres számítást pontosabban szeretnénk kontrollálni.DISEX=n.n→ a COSMO szegmens-szegmens kölcsönhatások számításánál használt hatótávolságot szabályozza. Nagyobb érték pontosabb, de költségesebb számítást eredményezhet.RSOLV=n.n→ az oldószermolekula effektív sugarát adja meg a COSMO modellben. Ez szintén haladóbb, finomhangoló kulcsszó.
A további MOPAC-os kulcsszavakat a https://openmopac.net/Manual/ oldalon lehet megteninteni.