Διάλεξη 6
Θέματα
- Κώδικας προσομοίωσης μοντέλου Ising με τον αλγόριθμο Metropolis
- Modular programming: Fortran modules, καταμερισμός ανεξάρτητων εργασιών σε διαφορετικές συναρτήσεις και αρχεία
Βιβλιογραφία
- Βιβλίο Διδάσκοντα, Κεφ. 13.3
- Fortran modules
- Fortran memory management: modules+common blocks
- Fortran procedures and functions
Βασικός κώδικας
- include.inc
Οι κοινές παράμετροι του κώδικα μπαίνουν σε έναν κοινό header file. - main.f90
Η ροή του προγράμματος σε πολυ απλά λόγια... - init.f90
Οι απαραίτητες προετοιμασίες για την προσομοίωση: Καθορισμός αρχικής διάταξης (configuration) του πλέγματος, πίνακα πιθανοτήτων, ... - met.f90
Ένα sweep με τον αλγόριθμο Metropolis. - measure.f90
Όλες οι διαδικασίες μέτρησης. Εδώ ενέργεια και μαγνήτιση - drandom.f90
Παραγωγή ψευδοτυχαίων αριθμών.
Μεταγλωττίστε τον παραπάνω κώδικα με την εντολή:
gfortran -o is main.f90 init.f90 met.f90 measure.f90 drandom.f90
Γράψτε τον παραπάνω κώδικα ορίζοντας ένα Module το οποίο θα περιλαμβάνει όλες τις κοινές μεταβλητές και συναρτήσεις. (Λύση). Μεταγλωττίστε:
gfortran -o is Ising.F90
Παρατηρήστε, μετά τη μεταγλώττιση, την παρουσία του αρχείου ising2d.mod
.
Σχετικές Βιντεοδιαλέξεις
Διαλέξεις από το διδάσκοντα σε θέματα συναφή με τη διάλεξη. Οι διαλέξεις που γίνονται στο εργαστήριο και οι διαλέξεις που παρουσιάζονται στα βίντεο δεν ταυτίζονται ως προς τα θέματα και την παρουσίαση, αλλά έχουν σημαντική επικάλυψη.
Στα settings του YouTube viewer, επιλέξτε High Definition (1080p HD) για την ευκρινή θέαση των λεπτομερειών στο βίντεο.