Oprócz umiejętności konstruowania cząsteczki oraz zapisu pliku wsadowego z wykorzystaniem któregoś programów graficznych przyda się nam minimalna wiedza o budowie i strukturze tego pliku.

Budowę poszczególnych części pliku wsadowego do paragramu Gaussian (inputu) przedstawimy na przykładzie cząsteczki aldehydu octowego. Czytelnika prosimy o stworzenie własnego pliku w programie GaussView i porównanie go z opisanym.

Aldehyd

Rysunek cząsteczki aldehydu octowego z ponumerowanymi atomami,
szary - atom wodoru, grafitowy - atom węgla, czerwony - atom tlen.

Plik wsadowy z zadaniem optymalizacji cząsteczki aldehydu octowego może mieć rozszerzenie .gjf, .inp, .com. Przykładowa zawartość pliku jest przedstawiony poniżej:


%chk=etanal.chk
%mem=6MW
%nproc=1
# HF/3-21g opt

Title Card Required

0 1
C
H   1   B1
H   1   B2   2   A1
H   1   B3   2   A2   3   D1
C   1   B4   4   A3   2   D2
O   5   B5   1   A4   4   D3
H   5   B6   1   A5   6   D4

B1             1.07000000
B2             1.07000000
B3             1.07000000
B4             1.54000000
B5             1.22731700
B6             1.11045737
A1           109.47125080
A2           109.47121829
A3           109.47123134
A4           122.22491841
A5           115.55016316
D1          -120.00001416
D2           119.99998297
D3           -60.00030000
D4           180.00000000


Od znaku % definiowane są pewne wartości oraz zmienne, którymi program się posługuje podczas obliczeń chemicznych takich jak:

%chk=etanal.chk

nazwa checkpointu, czyli pliku binarnego, który tworzy i używa program Gaussian. Plik ten jest często użyteczny, jeżeli chcemy korzystać z geometrii cząsteczki zawartej w tym pliku oraz jeżeli potrzebujemy pobrać funkcje falową (np.: przy uruchomianiu obliczeń przerwanych bądź nowych). Plik ten jest także przydatny, jeśli potrzebujemy wygenerować inne pliki wykorzystywane na przykład w wizualizacji ? cube, fchk. W pliku tym program zapisuje dodatkowe informacje nie zawarte w pliku z wynikami na przykład o funkcjach falowych (wave function). Możliwe jest podanie także ścieżki gdzie ma zostać umieszczony plik np.:

%chk=/scratch/user/etanal.chk      dla systemu Linux lub
%chk=c:\scratch\etanal.chk           dla systemu Windows.

%mem=N

definiowanie ilości pamięci dynamicznej, jaką może użyć program podczas obliczeń, jednostką podstawową jest N words (8N bytes), jednak dla wygody możemy używać MB, KB oraz GB. Przykładowo dla osób, które liczą na klasterze ?gromada? lub na maszynie ?leo" we Wrocławskim Centrum Sieciowo Superkomputerowym (WCSS) maksymalna ilość pamięci na każde zadanie wykonywanym na jednym procesorze wynosi 2000MB (%mem=2000MB lub %mem=2GB).

%nproc=1

definiowanie ilości procesorów na jedno zadanie, domyślna wartość to jeden procesor. W centrach obliczeniowych często są osobne kolejki do zadań wstawianych na więcej niż jeden procesor np. w WCSS posługujemy się komendą sub-gaussian nazwa_pliku.gjf parallel.

%rwf=/scratch/user/plik1.rwf,1999MB,/scratch/user/plik2.rwf,1999MB       

bardzo przydatnym parametrem jest rwf (Read-Write file). Podczas obliczeń, które wymagają dużych plików tymczasowych, lub system plików na którym pracujemy nie radzi sobie2 z plikami powyżej 2GB. Parametr rwf pozwala ustawić miejsca tworzonych plików tymczasowych i ich rozmiar (w przykładzie zostały przedstawione tworzenie dwóch plików o rozmiarach do 1999 MB). Użytecznym parametrem stosowanym razem z rwf jest: %NoSave, które jest odpowiedzialne za usunięcie tymczasowych plików typu rwf z dysku po zakończeniu obliczeń.

 

     Wielkość liter ma znaczenie jedynie przy nazwach plików i ścieżki dostępu do plików, (w systemach z rodziny Linux i Unix) w pozostałych przypadkach można używać małe i duże litery.

     Jeśli parametry zaczynające się od % nie są zdefiniowane w pliku wsadowym, wówczas brane są wartości domyślne, niemniej przydatne jest umieszczanie lini z %chk z nazwą pliku -checkpointu. Wygodne jest nadawanie takiej samej nazwy checkpointu (.chk), jak nazwa pliku wsadowego, tylko z rozszerzeniem .chk.3 Pozwala to w łatwy sposób określić który plik z rozszerzeniem .chk należy do wykonanych obliczeń.
     Następna linijka po linii ze znakiem % zaczyna się od znaku #. Jest to właściwa linijka, w którym zdefiniowane jest zadanie (dalej w skrypcie będziemy nazywać ją linią definiującą polecenia)4.


# HF/3-21g opt

     Po znaku # mogą występować litery N, P, T:

#N     Normal  - wartość domyślna, w pliku z wynikami będą się znajdowywał standardowy zapis obliczeń,
#P     Precise  - w pliku z wynikami będą znajdować się dodatkowe informacje,
#T     Terse    - plik z wynikami będzie jedynie zawierał najważniejsze informacje.

     Następnymi wartościami mogą być METODA/BAZA np.: HF/3-21g. Metoda i baza związane są ze sposobem przeprowadzania obliczeń (patrz rozdział 2.1). Podając jedynie metodę, wybieramy z ustawień domyślnych bazę do obliczeń. Dla niektórych metod baza w programie Gaussian jest przypisana na stałe np.: AM1.
     Następnie znajduje się zapis określonego zadania do obliczeń, lub w przypadku jego braku domyślnie zostanie policzona energia cząsteczki w danej geometrii. Chcąc wykonać inne obliczenia wstawiamy odpowiednie polecenia np.:
opt      - optymalizuje nam cząsteczkę do minimum energetycznego,
freq     - liczy częstości dla danej cząsteczki.

Po linijce z znakiem # musi być pusta linijka! Następna linijka jest przeznaczona na dowolny opis, komentarz autora na przykład standardowo sugerowany komentarz przez program GaussView:


Title Card Required


Po tej linijce musi znajdować się kolejna wolna linijka. Po niej zaś następna linijka zawiera ładunek i multipletowość:
 
0 1

Ładunek, jaki dany układ (związek, atom, kompleks) posiada: -2,-1,0,1, 2

Multipletowość dokładny opis znajduje się rozdziale 2.1. Multipletowość przeważnie jest:
-    dla obojętnej cząsteczki ze sparowanymi elektronami (całkowita liczba kwantowa spinu S=0) multipletowość wynosi 1,
-    dla jonów posiadających ładunek -1 lub +1, które powstały przez dysocjację wiązania całkowita liczba kwantowa S=0, zatem multipletowość wynosi 1,
-    dla anionu, lub kationu, który powstał jedynie przez dodanie, lub odjęcie elektronu z cząsteczki obojętnej przeważnie (S=1/2) multipletowość wynosi 2,
-    dla rodników wartość kwantowej liczby S=1/2, multipletowość wynosi 2.   

Kolejne linie to zapis cząsteczki w formacie macierzy-Z (ang. z-matrix) z wykorzystaniem współrzędnych wewnętrznych. W poszczególnych kolumnach zawarty jest cały opis struktury cząsteczki, zdefiniowany jako odległości pomiędzy atomami, kąty między atomami oraz kąty dwuścienne, (Z-matrix nie uwzględnia informacji, który atom, z którym jest powiązany)

C
H   1   B1
H   1   B2   2   A1
H   1   B3   2   A2   3   D1
C   1   B4   4   A3   2   D2
O   5   B5   1   A4   4   D3
H   5   B6   1   A5   6   D4


-    Pierwsza linijka definiuje pierwszy atom (C), który umieszcza się w układzie współrzędnych (x,y,z) 0,0,0 i od którego położenia będą definiowane położenie następnych atomów.
-    Druga linijka definiuje kolejny atom - kolumna pierwsza (H), oraz odległość (B1) kolumna trzecia od atomu, którego numer znajduje się w kolumnie drugiej (1).
-    Trzecia linijka definiuje kolejny atom (H) odległość (B2) od atomu z kolumny drugiej (1), oraz wartość kąta (A1) jaką tworzy ten atom oraz atomy z kolumny drugiej (1) i czwartej (2).
-    Kolejne linie definiują następne atomy kolumna pierwsza (symbol atomu), w kolumnie drugiej znajduje się numer innego atomu względem, którego podawana jest odległość pomiędzy tym atomem a atomem z analizowanej linii - kolumna trzecia (B*). W kolumnie czwartej znajduje się numer kolejnego atomu, który tworzy kąt podany w kolumnie piątej (A*). W kolumnie szóstej znajduje się następny atom, który z wymienionymi kolejno atomami tworzy kąt dwuścienny, którego wartości jest w kolumnie siódmej (D*).

Poniżej widzimy opis położenia atomu tlenu w cząsteczce aldehydu octowego opisanym w macierzy-Z jako:

Aldehyd


      O   5   B5   1   A4   4   D3

- atom tlenu jest zdefiniowany względem atomu węgla o numerze pięć (odległość między atomami wynosi B5). Te dwa atomy tworzą kąt z atomem węgla o numerze 1 o wartości A4, zaś wszystkie trzy tworzą kąt dwuścienny z atomem czwartym o wartości D3.



Po opisaniu wszystkich atomów występuje pusta linijka. Kolejne linijki zawierają wartości liczbowe: odległości, kątów i kątów dwuściennych.

B1             1.07000000
B2             1.07000000
B3             1.07000000
B4             1.54000000
B5             1.22731700
B6             1.11045737
A1           109.47125080
A2           109.47121829
A3           109.47123134
A4           122.22491841
A5           115.55016316
D1          -120.00001416
D2           119.99998297
D3           -60.00030000
D4           180.00000000

     Możliwe jest także nie używanie zmiennych, wówczas w macierzy-Z umieszczamy w odpowiednich miejscach zamiast zmiennych wartości liczbowe. Można dodatkowo zdefiniować informacje o rodzaju wiązań między atomami. W tym celu możemy się posłużyć opcją geom=connectivity w linijce definiującej parametry obliczeń (tej zaczynającej się od #). Informacje o rodzaju wiązań oraz jakie atomy tworzą wiązanie umieszczamy na końcu pliku po wartościach liczbowych macierzy-Z po jednej linijce wolnej (w przykładzie na czarno - wypisane są atomy, na zielono - wiązania jakie między nimi występują) np.:


 1 2 1.0 3 1.0 4 1.0 5 1.0
 2
 3
 4
 5 6 2.0 7 1.0
 6

  7

     Pierwsza linijka opisuje jakie wiązania tworzy pierwszy atom (pojedyncze wiązania między atomem pierwszym a drugim, trzecim, czwartym, piątym). Druga linijka informuje o tym, jakie wiązania wcześniej niezdefiniowane tworzy drugi atom (informacja o wiązaniu z pierwszym atomem została zawarta w pierwszej linijce). Podobną budowę mają następne linijki. Czasami na końcu pliku znajdują się dodatkowe informację dotyczące parametrów obliczeń np.: temperatura.


Możliwy jest również sposób zdefiniowania struktury cząsteczki w układzie kartezjańskim poprzez podanie położenia poszczególnych atomów względem osi x, y, z (jednostka stosowana w układzie współrzędnym to Angstremy).

 C                  0.00000000    0.00000000    0.00000000
 H                  1.07000000    0.00000000    0.00000000
 H                 -0.35666720    1.00880549    0.00000000
 H                 -0.35666663   -0.50440306    0.87365123
 C                 -0.51333288   -0.72596272   -1.25740506
 O                 -0.24203958   -1.89969522   -1.49205157
 H                 -1.14526736   -0.11685312   -1.93766962


wówczas ten zapis zastępuje macierz-Z w pliku wsadowym. Można także w tym zapisie zastosować zamiast symbolów pierwiastka numery atomowe pierwiastków np.:

 6                  0.00000000    0.00000000    0.00000000
 1                  1.07000000    0.00000000    0.00000000
 1                 -0.35666720    1.00880549    0.00000000
 1                 -0.35666663   -0.50440306    0.87365123
 6                 -0.51333288   -0.72596272   -1.25740506
 8                 -0.24203958   -1.89969522   -1.49205157
 1                 -1.14526736   -0.11685312   -1.93766962

W zapisie cząsteczki dummy atom jest zaznaczany jako X natomiast ghost atom jako Bq (patrz rozdział 2.1.1.2).

Budowanie oraz zapisanie cząsteczki w postaci macierzy-Z lub w układzie kartezjańskim możemy dokonać w wielu programach chemicznych: komercyjnych (np.: GaussView, ChemOffice) oraz darmowych (np.: Gabedit, Molden, Chemcraft) lub przekonwertować strukturę uzyskaną z innego programu chemicznego programem OpenBabel.