Przygotowanie pierwszego pliku z obliczeniami

Po narysowaniu cząsteczki (a także czasami po wstępnej optymalizacji) przychodzi taki moment, w którym musimy już przygotować obliczenia. Program Gaussian, tak samo jak inne programy tego typu wymagają pliku tekstowego ze strukturą cząsteczki oraz z zadanymi parametrami. Najprościej plik ten można przygotować, używając programów graficznych – na przykład Moldena lub polecany przez autorów Gaussiana program GaussView. W naszej Praktycznej Szkole Modelowania Molekularnego nauczymy się programu Gaussian wraz z wyżej wymienionym programem Molden, który umożliwia budowanie inputów (plików wsadowych) nie tylko do programu Gaussian.

Na początku przygotujemy plik, następnie postaramy się go omówić oraz podać przepis na przygotowanie pliku w sposób tekstowy, korzystając zapisanej struktury cząsteczki.

W pierwszym etapie konstruujemy cząsteczkę, weźmy na przykład fenol. Możemy go poddać wstępnej optymalizacji, tak jak to zostało opisane w poprzednim rozdziale. Następnie otwieramy ZMAT Editor,

Molden_screen

Na dole w oknie Zmatrix Editor wybieramy format z Gamess, Gaussian, Mopac, Cartesian. W naszym przypadku będzie to Gaussian. Wpisujemy nazwę pliku w polu File Name np:. test1.inp. Następnie klikamy w buton Submit Job. W tym momencie pojawia się nowe okno w którym definiujemy pewne informacje:

Molden_screen

W opcji Task (czyli zadania) mamy do wyboru:

Geometry Optimisation – optymalizacja struktury cząsteczki
Single Point – obliczenia energii dla zadanej struktury
Transition State – obliczenie stanu przejściowego
Frequency – obliczenie częstości, czyli drgań cząsteczki

W opcji metody (Method) mamy szereg metod zaznaczonych skrótami: HH, UHF, RHF, ROHF, MP2, MP4, QCISD, CASSCF, LSDA, BHandH, BHandLyp, Becke 3 Lyp (popularnie także używany skrót B3LYP), AM1, dreiding, Amber. Gaussian posiada także wiele innych metod obliczeń, które możemy zdefiniować sami w odrazu w pliku tekstowym i które nie są tutaj wymienione.

Następna opcja to ładunek (Charge) układu.

Pod nim znajduje się pole wyboru multipletowości układu (Spin), w którym możemy wybrać opcje singlet, doublet, Triplet, Quartet, Quintet, Sextet, Septet, Octet, czyi kolejno od 1 do 8. (na temat multipletowości wspominaliśmy w innej lekcji).

Po prawej stronie znajdują się dodatkowe opcje (Extra Print keys for molden), z których warto wspomnieć o Molden G94/G98 – jest to opcja która definiuje format pliku wynikowego przystosowanego do czytania przez program Molden ( w linii poleceń # jest definiowana jako IOP(6/7=3)).

Opcja Write XYZ – umozliwia zapisanie pliku w formacie kartezjańskim, standardowy zapis pliku jest w formacie Z-macierzy.

Dodatkowo po prawej stronie znajdują się opcje Job name – tutaj wpisujemy nazwę naszego zadania na przykład Test1, Queue Name – są to opcję dla osób, które mają możliwości na tym samym komputerze dokonywać obliczenia programem Gaussian. Po skonfigurowaniu Moldena, można tak ustawić zmienne, żeby od razu po napisaniu zadania (jobu) wstawiał je do kolejki. My nie będziemy z tego korzystać.

Pod spodem znajdują się linie, w których możemy dokonywać modyfikacji naszych obliczeń, tak zwany Keyword – czyli linia (linie) zaczynające się po znaku # w którym definiowane są zadania, oraz parametry takie jak metoda, baza, opcje. Można zauważyć, że zmieniając metodę oraz bazę wyżej także i ta linia się zmienia.

W opcji Title wpisujemy tytuł naszego zadania, będzie on w postaci komentarza. Proszę unikać jak we wszystkich tego typu obliczeniach używania polskich liter.

Na końcu używamy przycisku Submit aby wysłać zadanie do obliczeń, a tym samym zapisać to zadanie w katalogu domowym Moldena. Wysłanie zadania na naszym komputerze nie działa, natomiast uzyskujemy input, który  jest prawie gotowy do użycia w centrum komputerowym ICM.

Podczas używania tego przycisku zostanie sprawdzona zgodność multipletowości, ładunku z układem, i jeżeli popełniliśmy błąd zostanie zgłoszony komunikat, że multipletowość została źle dobrana. Następne komunikaty to okna z informacjami: Setup Completed, click OK to optimese, oraz okno z informacją że zadanie zostało wysłane do kolejki Job start.

W katalologu domowym Moldena odnajdujemy plik Test1.com, który jest przygotowany do obliczeń i wygląda następująco:


$ RunGauss
#P HF/3-21G Opt
# GFINPUT IOP(6/7=3) 6D 10F

nasze pierwsze zadanie

0 1
c
c 1 cc2
c 2 cc3 1 ccc3
c 3 cc4 2 ccc4 1 dih4
c 4 cc5 3 ccc5 2 dih5
c 5 cc6 4 ccc6 3 dih6
h 2 hc7 1 hcc7 3 dih7
h 3 hc8 2 hcc8 4 dih8
h 4 hc9 3 hcc9 5 dih9
h 5 hc10 4 hcc10 3 dih10
h 6 hc11 5 hcc11 4 dih11
o 1 oc12 2 occ12 3 dih12
h 12 ho13 1 hoc13 2 dih13

cc2 1.400000
cc3 1.400000
ccc3 120.000
cc4 1.400000
ccc4 120.000
dih4 0.000
cc5 1.400000
ccc5 120.000
dih5 0.000
cc6 1.400000
ccc6 120.000
dih6 0.000
hc7 1.089000
hcc7 120.000
dih7 180.000
hc8 1.089000
hcc8 120.000
dih8 180.000
hc9 1.089000
hcc9 120.000
dih9 180.000
hc10 1.089000
hcc10 120.000
dih10 180.000
hc11 1.089000
hcc11 120.000
dih11 180.000
oc12 1.480000
occ12 109.471
dih12 180.000
ho13 0.947000
hoc13 109.471
dih13 180.000


Posiadając juz taki plik musimy jeszcze go zmodyfikować. Otwieramy dowolny prosty edytor tekstowy np: notatnik na naszym komputerze i zamieniamy linię:

$ RunGauss

na:

%mem=1500Mb
%chk=Tests1.chk

Jest to ustawienie rozmiaru pamięci potrzebnej do przeprowadzenia obliczeń, oraz nazwy pliku tak zwanego check pointa, który program Gaussian tworzy i używa podczas obliczeń.

Dodatkowo można poprawić linie zadań # z:

#P HF/3-21G Opt
# GFINPUT IOP(6/7=3) 6D 10F

na:

#P HF/3-21G Opt
# GFINPUT IOP(6/7=3)

usunęliśmy dodatkowe funkcję bazy. Dalsze informację o modyfikacji tej lini będą dostępne w następnych częściach. Na początku mamy już jeden własny plik wsadowy do programu Gaussian, który możemy wykorzystać, aby nauczyć się przesyłania pliku oraz wstawiania do kolejki.

Plik wygląda następująco:


%mem=1500Mb
%chk=Test1.chk
#P HF/3-21G Opt
# GFINPUT IOP(6/7=3) 6D 10F

nasze pierwsze zadanie

0 1
c
c 1 cc2
c 2 cc3 1 ccc3
c 3 cc4 2 ccc4 1 dih4
c 4 cc5 3 ccc5 2 dih5
c 5 cc6 4 ccc6 3 dih6
h 2 hc7 1 hcc7 3 dih7
h 3 hc8 2 hcc8 4 dih8
h 4 hc9 3 hcc9 5 dih9
h 5 hc10 4 hcc10 3 dih10
h 6 hc11 5 hcc11 4 dih11
o 1 oc12 2 occ12 3 dih12
h 12 ho13 1 hoc13 2 dih13

cc2 1.400000
cc3 1.400000
ccc3 120.000
cc4 1.400000
ccc4 120.000
dih4 0.000
cc5 1.400000
ccc5 120.000
dih5 0.000
cc6 1.400000
ccc6 120.000
dih6 0.000
hc7 1.089000
hcc7 120.000
dih7 180.000
hc8 1.089000
hcc8 120.000
dih8 180.000
hc9 1.089000
hcc9 120.000
dih9 180.000
hc10 1.089000
hcc10 120.000
dih10 180.000
hc11 1.089000
hcc11 120.000
dih11 180.000
oc12 1.480000
occ12 109.471
dih12 180.000
ho13 0.947000
hoc13 109.471
dih13 180.000


Dodatkowo o strukturze pliku wsadowego do Gaussiana można przeczytać w artykule:

Struktura pliku wsadowego programu Gaussian

Przed przesłaniem do obliczeń proszę zmienić nazwę pliku na test.inp

 

 

Program Molden posiada swoje własne, zewnętrzne pole siłowe – ambfor (Amber/GAFF). Za jego pomocą możemy dokonywać optymalizacji (minimalizacji) geometrii utworzonej cząsteczki. Proces ten prowadzi do ułożenia atomów w przestrzeni tak aby geometria cząsteczki odpowiadała strukturze w minimum energetycznym. Program Molden posiada również oprócz własnego pola siłowego implementację innych pól siłowych, tj. MM3, Charmm, Amber, AmoebaPRO, Sybyl oraz Quanta Charmm.
 

Praktyczne ćwiczenie

Jako przykład weźmiemy zbudowaną cząsteczkę aldehydu salicylowego i postaramy się przeprowadzić  proces optymalizacji.

Okno wyboru pól siłowych uruchamiamy za pomocą przycisku FF  Molden_screen, który znajduje się w oknie Molden Control. Po wciśnięciu przycisku pojawia się okno pól siłowych, które wygląda następująco:

Molden_screen

Przycisk znajdujący się po prawej stronie napisu Force Field (w tym wypadku wybrany został Amber/GAFF) pozwala na wybranie pola siłowego, po jego kliknięciu wyświetla się menu kontekstowe z możliwością wyboru typu pola siłowego:

Molden_screen

Do optymalizacji użyjemy zewnętrznego pola siłowego programu Molden, tj. pola Amber/GAFF.

Przycisk znajdujący się po prawej stronie Total Charge określa całkowity ładunek cząsteczki, jest to wartość, którą możemy zmieniać  (w naszym przypadku całkowity ładunek cząsteczki wynosi 0).

Przycisk AtomColor pozwala na zmianę wyświetlania koloru zaznaczanego atomu. Po jego prawej stronie znajduje się informacja o typie i numerze atomu, jego ładunku cząstkowym oraz ładunku pozostałych atomów.

Okienko z wyborem typu atomu (Atom Type) określa typ hybrydyzacji atomu, który jest aktualnie zaznaczony.

Pole Charge wyświetla ładunek cząstkowy na zaznaczonym atomie.

Pole Residue wyświetla ładunki pozostałych atomów.

Przycisk E q oblicza energię van der Waalsa i energię elektrostatyczną pomiędzy pozostałymi atomami.

Przycisk OPT służy do właściwej optymalizacji cząsteczki, po jego kliknięciu wyświetla się okienko:

Molden_screen

 

Opcja Archive pozwala na zapisanie struktur pośrednich, krok zapisu ustawiamy obok. Ze struktur tych możliwe jest odtworzenie drogi minimalizacji. Aby zapisać plik ze strukturami pośrednimi zaznaczamy opcję Detach Job i w polu Job name wpisujemy nazwę pliku. Pole Archive Uptade Freq. Określa częstotliwość z jaką zapisywane są poszczególne struktury pośrednie.

Pole RMS Gradient określa gradient wartości pierwiastka średniej kwadratowej błędu (RMS Root Mean Square), czyli im niższy tym więcej potrzeba iteracji, aby zoptymalizować cząsteczkę.

Pole Max. Iteration określa maksymalną ilość powtórzeń, po której zostanie zakończona optymalizacja geometrii, im wartość jest większa, tym optymalizacja trwa dłużej.

Przycisk GO uruchamia procedurę optymalizacji geometrii cząsteczki, po kliknięciu na niego wyświetli się okienko z zapytaniem, czy rozpocząć optymalizację:

Molden_screen

Klikamy OK i następuje optymalizacja geometrii cząsteczki, której zmianę możemy obserwować w okienku Molden.

Po wykonaniu optymalizacji geometrii wyświetli się okienko, które informuje nas o wykonaniu procesu.

Molden_screen

W przypadku aldehydu salicylowego widać różnicę w geometrii cząsteczki przed i po wykonaniu optymalizacji:

Molden_screen

Geometria cząsteczki przed optymalizacją.

Molden_screen

 Geometria cząsteczki po optymalizacji

 

A4 Infociacho