Michal Hermanowicz's web site | Last update: 2019-03-10 | A Lynx-friendly site!

[Back to index]
[Back to Materiały dydaktyczne / Teaching resources]

Zaawansowane Laboratorium Specjalistyczne - FT / stopień II / sem. 1


Informacje ogólne

Zajęcia bazują na wiedzy zdobytej podczas zajęć SKIZ i uzupełniają ją o elementy obliczeń wielkoskalowych z wykorzystaniem zdalnych systemów obliczeniowych. Celem jest zapoznanie się z wybranymi problemami badawczymi Zakładu Fizyki Obliczeniowej i Nanomechaniki. Zajęcia odbywają się w sali 602, a zaliczenie polega na wykonaniu samodzielnego projektu/sprawozdania w formie elektronicznej (termin oddania: 3 tygodnie po zakończeniu zajęć).

Literatura – dostępna w bibliotece PP – i zasoby elektroniczne

Sprawozdanie

Sprawozdanie powinno zostać wykonane w formacie PDF za pomocą dowolnego programu (Libre Office, LaTeX lub inne). Plik należy wysłać za pomocą poczty elektronicznej na adres podany na zajęciach (w ustalonym terminie). Raport powinien mieć zwięzłą formę, ale zawierać wszystkie kluczowe elementy i zagadnienia poruszane na zajęciach - patrz sprawozdanie SKIZ.

Instrukcje i materiały do zajęć

Pracujemy w ładowanym domyślnie systemie operacyjnym (Debian GNU/Linux) – do zajęć przydatna będzie instrukcja jego użytkowania dostępna TUTAJ (warto mieć ją otwartą w trakcie zajęć).

Według instrukcji podanych na zajęciach - zapoznać się ze środowiskiem pracy zdalnej. Wykorzystując poniższy szablon utworzyć plik wsadowy do obliczeń dowolnego układu (test.fdf); plik należy zastąpić odpowiednimi parametrami w miejscach, które tego wymagają.

SystemName          NAZWA_WLASNA
SystemLabel         SYMBOL_UKLADU
NumberOfAtoms       LICZBA                 # Liczba atomów w układzie
NumberOfSpecies     LICZBA                 # Liczba pierwiastków

%block ChemicalSpeciesLabel
 X  X  X                                   # L. porządkowa, l. atomowa, symbol pierwiastka
 X  X  X                                   # L. porządkowa, l. atomowa, symbol pierwiastka
%endblock ChemicalSpeciesLabel

MaxSCFIterations 1000			   # Maksymalna liczba kroków cyklu samozgodnego

LatticeConstant X Ang                      # Stała sieci krystalicznej [Ang]

%block kgrid_Monkhorst_Pack
4 0 0
0 4 0
0 0 1
%endblock kgrid_Monkhorst_Pack

%block LatticeVectors                      # Wektory sieci
x y z 		                           # x y z (skalowane przez stałą sieci)
x y z
x y z
%endblock LatticeVectors

AtomicCoordinatesFormat Ang               # Jednostka, w której wyrazone są współrzędne

%block AtomicCoordinatesAndAtomicSpecies   # Wspórzędne atomów w układzie
 x y z n                    # X, Y, Z, liczba porządkowa pierwiastka
%endblock AtomicCoordinatesAndAtomicSpecies

Plik wsadowy wraz z pseudopotencjałem (pobranym stąd) należy utworzyć bezpośrednio na serwerze obliczeniowy (po uprzednim zalogowaniu się do niego). Alternatywnie można utworzyć plik lokalnie i przesłać go do właściwego systemu za pomocą instrukcji scp lub rsync. Do uruchomienia zadania wykorzystać system kolejkowy PBS według przykładowego skryptu poniżej:

#!/bin/bash

#PBS -N test
#PBS -l nodes=1:ppn=1
#PBS -l walltime=01:00:00

cd $PBS_O_WORKDIR
siesta < test.fdf > out

Zadanie zlecamy do systemu kolejkowego następująco:

qsub job.sh
a status zadań znajdujących się w kolejce sprawdzamy poprzez:
qstat
Uruchomione zadanie można zatrzymać instrukcją:
qdel [NUMER_ZADANIA]
gdzie [NUMER_ZADANIA] pochodzi z listingu qstat.

W trakcie obliczeń można podejrzeć standardowe wyjście programu poprzez:

tail -f out

Po zakończeniu obliczeń można pobrać wyniki na lokalny komputer w celu ich analizy za pomocą instrukcji scp lub rsync.

Projekt

Zagadnieniem badawczym jest struktura elektronowa cienkich warstw węglików i azotków metali przejściowych o ogólnym wzorze sumarycznym M2X (ang. MXenes), gdzie M to metal przejściowy, a X - węgiel lub azot.

Zadania do wykonania:
  1. Zapoznać się ze strukturą krystalograficzną i specyfiką materiałów M2X
  2. Narysować model przykładowej struktury korzystając z dostępnego przykładu Ti2C:
    xcrysden --xsf ti2c.xsf
    
  3. Utworzyć nowy katalog na potrzeby obliczeń, a w nim:
    • Utworzyć podkatalog relaksacja, umieścić w nim plik wsadowy ti2c.fdf oraz pliki pseudopotencjałów: tytan i węgiel.
    • Wykonać obliczenia relaksacji strukturalnej uruchamiając program za pomocą systemu kolejkowego PBS (patrz przykładowy skrypt powyżej).
    • Sprawdzić, czy program zakończył się prawidłowo i czy osiągnięto zbieżność. Jeżeli tak, dokonaj edycji położeń atomowych (AtomicCoordinatesAndAtomicSpecies) dokładając dwa dodatkowe atomy, po jednym z każdej strony warstwy. Celem tej modyfikacji jest zapewnienie stabilności układu, który w obecności niewysyconych wiązań chemicznych jest niestabilny. Należy pamiętać, że zmieni się całkowita liczba atomów w układzie.
    • Powtórzyć relaksację strukturalną w celu znalezienia optymalnej struktury wysyconej warstwy Ti2C(X2), gdzie X to wybrany pierwiastek.
    • Po zakończeniu obliczeń odnaleźć w pliku wyjściowym (out) trzy linijki opatrzone nagłówkiem Relaxed atomic coordinates (Ang), które stanowią nowe (wyznaczone w procesie relaksacji) położenia atomowe. Żeby z nich skorzystać, tworzymy nowy podkatalog (obok istniejącego relaksacja) pod nazwą dos. Kopiujemy do niego pliki: ti2c.fdf, Ti.psf, C.psf i job.sh. W pierwszym z nich należy podmienić położenia atomowe na te, które zostały wyznaczone w wyniku relaksacji. Usuwamy tez symbole komentarza z sekcji opisanej jako ProjectedDensityOfStates. Przeprowadzamy obliczenia jak wcześniej uzyskując wśród plików wynikowych plik ti2c.DOS.
    • Wykreślić uzyskaną gęstość stanów elektronowych (z pliku ti2c.DOS, opisać osie i zinterpretować wynik określając, czy mamy do czynienia z metalem, półprzewodnikiem czy izolatorem. Przydatna będzie wartość energii Fermiego, którą można odnaleźć w pierwszej linijce pliku ti2c.EIG. Wykres zapisać (będzie potrzebny do sprawozdania).
  4. Zbadać jak zmienia się struktura elektronowa (DOS) w procesie jedno/dwuosiowego ściskania/rozciągania struktury w płaszczyźnie x-y. Taka modyfikacja struktury sprowadzi się do zmiany długości wektorów prymitywnych komórki opisanych macierzą 3x3 (LatticeVectors). Należy więc wydłużyc lub skrócić odpowiednio wektory w płaszczyźnie.
  5. Dla chętnych: zaproponować skrypt w dowolnym języku programowania, który wykona powyższe zadanie automatycznie. Działający program z odpowiednimi komentarzami można potraktować jako sprawozdanie i na jego podstawie uzyskać zaliczenie.

[Powrót na górę strony]


Copyright (c) 2017, 2018, 2019 M. Hermanowicz