Symulacje komputerowe w naukach ścisłych

Prowadzący

Czas Trwania Warsztatów

25 godzin lekcyjnych (5 dni po 5 godzin lekcyjnych)

Symulacje komputerowe w naukach ścisłych

Zaawansowane warsztaty z pogranicza informatyki, fizyki, matematyki i biologii

Celem uczestników w czasie warsztatu będzie stworzenie w języku C++ symulacji komputerowych wybranych zjawisk z dziedziny nauk ścisłych. Każdy dzień rozpoczniemy od przejrzystego wprowadzenia w podstawy teoretyczne zjawiska oraz jasno nakreślimy cele symulacji, której wykonanie będzie zadaniem uczestników.

Do kogo kierowany jest warsztat?

Warsztat jest skierowany dla licealistów, którzy opanowali już dobrze podstawy języka C++, ale chcieliby poznać jego praktyczne zastosowanie w wybranych zagadnieniach symulacji komputerowych z dziedziny nauk przyrodniczych. Będzie on przydatny dla osób zainteresowanych studiami na wydziałach fizyki i informatyki, a także energetyki czy inżynierii środowiska.

Warsztat nie jest warsztatem uczącym uczestników języka C++, ale pokazującym przykładowe wykorzystanie go w konkretnych zastosowaniach. Dlatego uczestnicy warsztatu powinni mieć opanowany język do poziomu 4 (włącznie) kursu http://cpp0x.pl/kursy/Kurs-C++/1 oraz znać podstawy programowania obiektowego (proste struktury i klasy).

Przed rejestracją na warsztaty zachęcamy do rozwiązania zadania i oceny poziomu swojej wiedzy:

Zadanie

Niezbędny wiedza oraz sprzęt i oprogramowanie

Każdy uczestnik powinien posiadać swój laptop z systemem Linux. Preferowane jest Ubuntu/Xubuntu/Kubuntu 16.04 LTS lub 18.04 LTS. System operacyjny może być zainstalowany także, jako dual-boot lub w maszynie wirtualnej. Dodatkowe pakiety potrzebne podczas warsztatów:

  • g++ lub g++-5 lub g++-6
  • libboost-all-dev
  • liballegro4-dev
  • gnuplot (dowolna wersja)

Dlaczego warto wziąć udział w tym warsztacie?

Podczas warsztatu uczestnicy:

  • poznają praktyczne zastosowanie programowania w C++;
  • nauczą się wykorzystywania  komputerów do rozwiązywania różnorodnych złożonych problemów;
  • porównają wyniki symulacji z przewidywaniami swojej intuicji;
  • wezmą udział w multidyscyplinarnych zajęciach (fizyka, matematyka, biologia, astronomia).

Program warsztatu

Dzień pierwszy

Repetytorium z C++. Generowanie liczb pierwszych

Zaczniemy od powtórzenia niezbędnych elementów języka C++, które będziemy wykorzystywać przez cały tydzień. Jednym ze sposobów przećwiczenia i utrwalenia umiejętności programistycznych będzie zaimplementowanie wydajnego algorytmu do znajdowania liczb pierwszych. Liczby pierwsze są fascynujące nie tylko same w sobie. Mają też ogromne znaczenie dla  bezpieczeństwa naszych aktywności w internecie, np. tajemnicy korespondencji czy ochrony dostępu do rachunków bankowych on-line.

Dzień drugi

Dziedziczenie cech organizmów

Tzw. prawa Mendla, tj. reguły przekazywania cech dziedzicznych u organizmów żywych, zostały sformułowane w 1866 przez Gregora Mendla podczas jego badań nad krzyżowaniem roślin, głównie grochu zwyczajnego. Przewidują one, jak dziedziczenie genów dominujących i recesywnych wpływa na cechy zewnętrzne kolejnych pokoleń organizmów. Po wprowadzeniu w fascynujący świat genetyki, sprawdzimy w symulacji czy reprodukcja losowej populacji organizmów zachowywać się będzie zgodnie z przewidywaniami teorii.

Dzień trzeci

Transport ciepła w metalach

Niezwykle ważnym zagadnieniem w pracy wielu inżynierów projektujących wielkie lub skomplikowane konstrukcje (np. silniki samolotów czy duże budowle) jest wyznaczanie rozkładu i propagacji ciepła, naprężeń, drgań itd. W modelowaniu i przewidywaniu zachowań zaprojektowanych obiektów pomagają symulacje komputerowe. Aby poznać smak tego zagadnienia, zajmiemy się symulacją transportu ciepła (czyli – innymi słowy mówiąc – rozkładu temperatury) w prostych obiektach, dających przedsmak „prawdziwych” symulacji komputerowych stosowanych w przemyśle.

Dzień czwarty

Modelowanie drgań układów 1D i 2D

Opisywanie układów bardzo wielu ciał jest niezwykle istotnym zagadnieniem fizyki i często może być realizowane analitycznie przy zastosowaniu pewnych warunków (tzw. warunków brzegowych, np. periodyczności) lub przybliżeń. Bez wnikania w niekiedy skomplikowane metody fizyki układów wielociałowych, spróbujemy zamodelować drgania jedno- i dwuwymiarowej siatki obiektów połączonych oddziaływaniami sprężystymi.

Dzień piąty

Tor obiektów kosmicznych

Przewidywanie torów, po których poruszają się miliardy obiektów w kosmosie – gwiazd, planet, księżyców, planetoid itd., jest niezwykle ważnym zadaniem astronomii. Umożliwia to nie tylko monitorowanie ruchu ciał niebieskich, których kolizja z Ziemią mogłaby mieć katastrofalne skutki dla naszej cywilizacji, ale także pozwala na planowanie wypraw kosmicznych: na orbitę ziemską, Księżyc, Marsa czy do innych planet Układu Słonecznego. Pokażemy, jak w prosty sposób można modelować ruch obiektów w zadanym polu grawitacyjnym i udamy się w fascynującą podróż w kosmos.

Geniusz polega na upraszczaniu skomplikowanych zagadnień, a nie na komplikowaniu prostych idei.

Albert Einstein