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.

_images/fa_2.png

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 a formic_acid.arc fá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.out valamint a formic_acid_dimer_opt.arc fá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 ACHIEVED szö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.: és HEAT: 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.out fá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 a formic_acid_cosmo.arc fájl,

  • az output elején megjelenik-e az EPS=78.4 - USE ANDREAS KLAMT'S COSMO IMPLICIT SOLVATION MODEL sor, 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 a PM7 á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 a PM7 tö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 a CHARGE=0 semleges rendszert, a CHARGE=1 egyszeresen 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ául EPS=78.4 ví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.