< Podręcznik użytkownika KDM < Oprogramowanie KDM < Oprogramowanie naukowe
| Dalton | |
|---|---|
| Serwer | Wersja |
| Supernova | 2.0 |
Dalton - oprogramowanie do obliczeń kwantowo-chemicznych. Pozwala wyznaczać właściwości molekularne, w tym optyczne i elektryczne (np. liniowe i nieliniowe polaryzowalności) oraz magnetyczne (NMR, podatność magnetyczna). Udostępnia metody obliczeniowe: Hartree-Focka, wielokonfiguracyjną metodę pola samouzgodnionego, sprzężonych klasterów, teorię funkcjonału gęstości (z metodą Kohna-Shama). Jako bazy funkcyjnej program używa funkcji Gaussa (Gaussian type orbitals, GTO).
Spis treści |
WCSS posiada darmową licencję instytucjonalną na Daltona 2.0.
Użytkownicy korzystający z Daltona zobowiązani są do umieszczenia w publikacjach, wykorzystujących wyniki obliczeń wykonanych przy użyciu tego oprogramowania, cytowania następującej treści:
Dalton w wersji 2.0 jest zainstalowany na klastrze Supernova, w katalogu:
/usr/local/dalton-2.0
Dostępna jest wersja sekwencyjna i równoległa programu.
/usr/local/dalton-2.0/bin/dalton.x /usr/local/dalton-2.0/bin/dalpar.x
Obydwie wersje skompilowane są kompilatorem Intela, z użyciem bibliotek MKL. Wersja równoległa jest dodatkowo skompilowana z bibliotekami MVAPICH.
Przygotowanie środowiska i uruchomienie aplikacji:
> module load dalton > dalton
Dalton do obliczeń potrzebuje zbioru instrukcji (plik .dal) oraz danych (plik .mol). Uruchomienie obliczeń dla przykładowych plików calc.dal i h2o.mol:
> dalton calc h2o
Jeśli obydwa pliki mają tę samą nazwę bazową, np. calc_h2o.dal i calc_h2o.mol, program można uruchomić następująco:
> dalton calc_h2o
Zadania obliczeniowe należy wstawiać do kolejki, korzystając z polecenia:
sub-dalton plik.dal plik.mol wielkosc_pamieci_w_MB [kolejka] [liczba_procesorow]
Gdzie:
plik.dal - plik wejściowy z instrukcjami
plik.mol - plik wejściowy z danymi
wielkosc_pamieci_w_MB - całkowity rozmiar pamięci RAM dla zadania. Ponieważ część pamięci zużywana jest przez binaria programu, jako pamięć roboczą (zmienna środowiskowa WRKMEM) skrypt przekazuje do Daltona 90% podanego rozmiaru pamięci.
kolejka - parametr opcjonalny, kolejka PBS, do której ma zostać wstawione zadanie, wartość domyślna: normal.
liczba_procesorow - parametr opcjonalny, liczba procesorów dla zadania, wartość domyślna: 1 CPU, może przyjmować wartości 1,2 lub wielokrotność 4.
Dalton w wersji równoległej korzysta z MVAPICH (procesy komunikują się przez sieć InfiniBand). Skrypt uruchamiający program używa komendy mpiexec (a nie mpirun). Na klastrze Nova należy korzystać z mpiexec dostępnego w katalogu: /usr/local/bin/mpiexec.
Uruchamianie obliczeń równoległych w kolejce, przykład:
sub-dalton plik.dal plik.mol wielkosc_pamieci_w_MB kolejka liczba_procesorow sub-dalton calc.dal h2o.mol 4000 parallel 2
Do wykonania obliczeń równoległych potrzebne są odpowiednio przygotowane pliki wejściowe.
Przykładowy plik .dal
**DALTON INPUT .OPTIMIZE .PARALLEL **WAVE FUNCTION .DFT B3LYP **END OF INPUT
Przykładowy plik .mol
BASIS cc-pVTZ arbitrary text in here arbitrary text in here Atomtypes=1 Charge=1.0 Atoms=2 H 0.0 0.0 0.0 H 0.0 0.0 2.0
Warto zauważyć, że implementacja paradygmatu master/slave w Daltonie sprawia, że proces główny (master) wykonuje fragmenty sekwencyjne programu i odpowiada za rozdział zadań między procesy slave, dlatego wykonuje niewiele obliczeń w porównaniu z procesami slave.
Program został przetestowany zestawem testów (ok. 220) dostarczanych razem ze źródłami.
Testy, które nie wykonały się poprawnie:
|
|
|
| Oprogramowanie naukowe |
Abaqus ⋅ ABINIT ⋅ Accelrys [ MS, DS ] ⋅ ADF ⋅ Amber ⋅ ANSYS ⋅ ANSYS Fluent ⋅ ANSYS CFX ⋅ APBS ⋅ AutoDock ⋅ AutoDock Vina ⋅ Cfour ⋅ CPMD ⋅ CRYSTAL09 ⋅ Dalton ⋅ FDS-SMV ⋅ GAMESS ⋅ Gaussian ⋅ Gromacs ⋅ Hmmer ⋅ LAMMPS ⋅ Mathematica⋅ Matlab ⋅ Meep ⋅ Molcas ⋅ Molden ⋅ Molpro ⋅ MOPAC ⋅ NAMD ⋅ NWChem ⋅ OpenFOAM ⋅ Orca ⋅ Pro/ENGINEER ⋅ R ⋅ SIESTA ⋅ Tripos Sybyl ⋅ TURBOMOLE ⋅ Xaim |
|---|