Crystal

CRYSTAL to program ogólnego przeznaczenia do badania układów okresowych. Kod może być wykorzystany do przeprowadzenia spójnych badań fizycznych i chemicznych właściwości krystalicznych ciał stałych, powierzchni, polimerów, nanorurek i cząsteczek. Program CRYSTAL oblicza strukturę elektronową, cechy strukturalne, wibracyjne, magnetyczne, dielektryczne (liniowe i nieliniowe wrażliwości elektryczne do czwartej kolejności), sprężyste, piezoelektryczne, foto elastyczne, termodynamiczne (quasi-harmoniczne przybliżanie) i właściwości transportowe układów okresowych w obrębie Hartree Fock, funkcjonalność gęstości lub różne przybliżenia hybrydowe (hybrydy rozdzielone globalnie i z przedziału).

 

Wdrożenie w klastrze Blueocean:

Oprogramowanie Crystal występuje w klastrze w dwóch wersjach: crystal17 v1.0.2 oraz crystal09 v2.0.1

Crystal17 v1.0.2:

Wersja oprogramowania Crystal: crystal17_1_0_2
Ścieżka instalacji oprogramowania: /opt/crystal17_1_0_2
Ścieżka do katalogu SCRATCH oprogramowania Crystal: /opt/SCRATCH/CRYSTAL17
Moduł ładujący zmienne środowiskowe oprogramowania: crystal17_1_0_2

 

Przykładowy scenariusz uruchomienia oprogramowania w trybie interaktywnym:

Katalog zadania obliczeniowego: ~/test
Plik wejściowy oprogramowania crystal: ~/test/test30.d12
qrsh
cd ~/test
cp -a test30.d12 INPUT
module load openmpi_2.1.0
module load crystal17_1_0_2
mpirun -np 4 Pcrystal

 

Przykładowy scenariusz uruchomienia oprogramowania w trybie wsadowym:

Postać pliku uruchamiającego zadanie (np.: crystal_run):

#!/bin/bash
# Sprawdzanie liczby argumentow
if [ $# -ne 2 ];
then
echo "use:"
echo "./crystal_run17 inpup_file proc_number"
echo ""
echo "example:"
echo "./crystal_run17 test47 4"
echo ""
exit 1
fi;


# Zmienne uzytkownika:
# Aktualny czas:
cTIME=`date +"%Y%m%d%H%M%S"`

# Nazwa zadania:
f=crystal17_run_$1.$cTIME

# Nazwa pliku wejsciowego:
IFILE=$1

# Wskazanie ilosci rdzeni:
UNCPU=$2

# Budowanie pliku wejsciowego zadania (INPUT):
cp ./$IFILE.d12 ./INPUT

# Budowanie geometrii:
if [ -e $IFILE.gui ]
then
cp ./$IFILE.gui ./fort.34
cp ./$IFILE.gui ./"$IFILE"_inp.gui
fi

#Zmienne systemu kolejkowego:
echo "#!/bin/bash" > $f
echo "#$ -cwd" >> $f
echo "#$ -M imię.nazwisko@p.lodz.pl " >> $f
echo "#$ -m e" >> $f
echo "#$ -q parallel.q" >> $f
echo "#$ -pe mpi $UNCPU" >> $f
echo "#$ -V" >> $f

# Zmienne okreslajace srodowisko:
echo "module load openmpi_2.1.0" >> $f
echo "module load crystal17_1_0_2" >> $f

#Wywolanie obliczenia:
echo "mpirun -np $UNCPU Pcrystal " >> $f
qsub -S /bin/bash $f

 

Przykładowy scenariusz uruchomienia zadania w trybie wsadowym dla oprogramowania Crystal17 v1.0.2 - przekazanie zadania do systemu kolejkowego:

 

1. Przejście do katalogu w którym znajdują się pliki zadania (katalog_zadania): plik_uruchamiający_zadanie (np.: crystal_run), pliku wejściowy oprogramowania crystal (.d12).
cd katalog_zadania

2. Zmiana/potwierdzenie uprawnień pliku uruchamiającego zadanie (np.: crystal_run)
chmod +x ./nazwa_pliku_uruchamiającego_zadanie (np.: crystal_run)

Sprawdzenie poprawności nadanych uprawnień:
ls -la
...
-rwxr-xr-x … crystal_run

3. Uruchomienie zadania w klastrze:

Będąc w katalogu z zadaniem (katalog_zadania) należy wydać polecenie:
./nazwa_pliku_uruchamiającego_zadanie nazwa_pliku_wejsciowego(.d12) ilość_rdzeni

np.: dla pliku uruchamiającego zadanie (nazwa_pliku_uruchamiającego_zadanie) o nazwie crystal_run, pliku wejściowego oprogramowania crystal (nazwa_pliku_wejsciowego(.d12)) o nazwie test30.d12 oraz przy wykorzystaniu 10 rdzeni procesora należy wydać polecenie:

./crystal_run test30 10

 

Przykład utworzenia nowego zadania obliczeniowego z już istniejącego:

1. Stworzenie nowego katalogu zadania (katalog_zadania)
mkdir nowy_katalog_zadania

2. Przekopiowanie pliku uruchamiającego zadanie (nazwa_pliku_uruchamiającego_zadanie):
cp -a crystal_run nowy_katalog_zadania/

3. Przejście do nowego katalogu zadania (nowy_katalog_zadania)
cd nowy_katalog_zadania

4 Utworzenie pliku wejściowego oprogramowania crystal (.d12)

5. Uruchomienie zadania w klastrze

 

Crystal09 v2.0.1:

Wersja oprogramowania Crystal: crystal09_2_0_1
Ścieżka instalacji oprogramowania: /opt/crystal09_2_0_1
Ścieżka do katalogu SCRATCH oprogramowania Crystal: /opt/SCRATCH/CRYSTAL09