Uwagi ogólne do zajęć laboratoryjnych z
”Metod numerycznych”
Tomasz Chwiej 4 października 2011
Uwagi ogólne do zajeć laboratoryjnych:
• Na początku każdych zajęć, prowadzący określa zadania jakie należy zrealizować. Zadania te wy- bierane są z listy umieszczonej na stronie: http://www.zis.agh.edu.pl/ksn/. Wszyscy studenci w grupie realizują ten sam projekt samodzielnie.
• Ze względu na zróżnicowanie ilości oraz długości zajęć laboratoryjnych dla Fizyki Komputerowej oraz Informatyki Stosowanej sposób prowadzenia zajęć dla tych grup będzie się trochę różnił. Stu- denci Fizyki Komputerowej wykonują na każdych zajęciach dwa zadania z powyższej listy dla dane- go zagadnienia, a Informatyka Stosowana jedno zadanie. Zadania realizowane na zajęciach określa prowadzący na początku zajęć.
• W trakcie zajęć studenci mają nauczyć się wykorzystywać procedury numeryczne z Numerical Recipes. Są one dostępne na serwerze Fatcat i dlatego wymagane jest posiadanie na nim aktywnego konta.
• Formalnie projekty mogą być realizowane przy użyciu fortrana (gfortran) lub C (gcc) (prowadzący może narzucić wybór jednego z tych języków programowania). Za zgodą prowadzącego, można korzystać z C++ i biblioteki gsl.
Uwagi techniczne:
• Bibiliteki numeryczne NR dla fortrana oraz C są dostępne na serwerze Fatcat w katalogu: /ho- me/labs/komputerowe symulacje numeryczne.
• Opisy procedur NR można znaleźć w sieci (np. http://www.nrbook.com/a/bookcpdf.php). Pra- cując na Fatcacie pliki pdf z opisami można przeglądać korzystając z programu Acrobat Reader 8 zlokalizowanego w katalogu /usr/local/opt/Adobe/Reader8/bin/acroread.
• Dane z programu należy wyprowadzać do plików tekstowych. Wypisywanie danych na ekranie a następnie ich kopiowanie poprzez zaznaczenie myszką jest kłopotliwe przy większej liczbie danych (liczbie wierszy). Ponadto dane są fizycznie zapisane na dysku i w razie problemów z programem wynikających np. z jego skasowania (a zdarza się) można z nich nadal skorzystać.
• Rysunki najlepiej robić przy użyciu Gnuplota. Zalety: darmowy, dostępny na linuxa i Window- sa, prosty w obsłudze, rysunki 2D/3D, generuje rysunki w formatach jpg, gif, png , eps itd. Aby porządnie sformatować rysunek należy nauczyć się kilku poleceń. Podstawy obsługi wraz z przy- kładami można znaleźć na stronach http://t16web.lanl.gov/Kawano/gnuplot/index-e.html.
http://www.gnuplot.info/
• Korzystając z biblioteki NR w fortranie wystarczy do katalogu roboczego przekopiować potrzebne pliki z procedurami. W C trzeba podlinkować pliki z funkcjami oraz pliki nagłówkowe. Można jednak jednak znacznie ułatwić sobie życie tworząc własną bibliotekę i tylko ją linkować podczas kompilacji. Unikamy w ten sposób podawania ścieżek do potrzebnych plików. W tym celu należy:
– w katalogu z plikami kompilujemy wszystkie pliki: gcc -lm -c *.c – po kompilacji tworzymy statyczne archiwum (np. nrc.a): ar -q nrc.a *.o
1
– w katalogu domowym tworzymy katalog: mkdir $HOME/bib i tworzymy w nim katalog inc- lude: mkdir $HOME/bib/include
– do katalogu \$HOME/bib przenosimy archiwum nrc.a
– do katalogu \$HOME/bib/include kopiujemy pliki nagłówkowe: nr.h, nrutil.h, complex.h – w katalogu \$HOME/bin tworzymy skrypt np. ggc i wpisujemy do niego:
#!/bin/bash
gcc -lm -I$HOME/bib/include -L$HOME/bib *.c -lnrc
– teraz już nie trzeba linkować w kodzie źródłowym poszczególnych plików, ale wystarzczy wydać w katalogu roboczym polecenie ggc aby kompilator skompilował wszystkie znajdujące się w nim pliki i utworzył plik wykonywalny a.out
2