Založ si blog

Simulácia Brownovho pohybu v Pythone

Učím na Základnej škole Krosnianska 4 v Košiciach, ktorá okrem bežných tried má v každom ročníku jednu až dve triedy pre talentované deti. Žiaci týchto tried počas školského roka popri bežnom učive okrem iného pracujú aj na ročníkových prácach, v ktorých spracujú tému, ktorú si sami vyberú a ktorá ich zaujíma. Začiatkom tohto školského roka, má oslovil žiak ôsmej triedy, Adam Garafa, či by som mu nerobil konzultanta k jeho ročníkovej práci. Chcel v nej spracovať nejakú fyzikálnu oblasť, v ktorej by simuloval na počítači nejaký fyzikálny dej. Jeho pôvodná predstava bola simulovať Archimedov zákon, po diskusiách sme sa dohodli, že bude simulovať javy zo štatistickej fyziky, konkrétne Brownov pohyb.

Ako prostredie na programovanie si vybral programovací jazyk Python. Ja sám som dovtedy s týmto jazykom nepracoval, takže som mu poskytol len niekoľko námetov, vzorcov, odkazy na stránky, v ktorých k téme niečo môže nájsť, filozofiu algoritmizácie daného problému. Druhým konzultantom bola kolegyňa Anna Siváková, ktorá ho učí informatiku a zároveň k nej chodí na krúžok programovania. Ja som ho učil fyziku, ale inak učím aj informatiku a moja diplomová práca bola na tému využitie počítačov vo výuke fyziky (bolo to ešte v roku 1987).

Zaujímavým aspektom toho, ako k spracovaniu témy pristúpil bolo, že sa rozhodol pracovať nie na bežnom PC ale na počítači Raspberry Pi, ktorý pracuje pod operačným systémom LINUX. Takže musel zvládnuť nielen prácu v Pythone, ale aj tento operačný systém. Výhodou počítača Raspberry Pi je, že je veľmi lacný a nie je oveľa väčší než mobilný telefón (ak nerátame klávesnicu a myš).

Adamovu prácu možno nájsť na tejto adrese.

Na školskej konferencii skončil Adam v sekcii informačné technológie na prvom mieste, i keď mal vážnych konkurentov (keďže simuloval fyzikálny dej, rovnako tak mohol súťažiť v sekcii fyzika). Po konferencii mi poskytol zdrojový text, medzičasom som Python naištaloval na vlastný NB, trochu som sa so zdrojákom pohral, popri simulácii Brownovho pohybu som doplnil i simuláciu gravitácie, medzimolekulových síl, slnečnej sústavy a na základe Adamovho modelu po zmene príslušných parametrov by bolo možné simulovať množstvo iných fyzikálnych javov.

Trochu som sa s jeho zdrojákom pohral, program prehnal profilerom, takže optimalizáciou algoritmov, využitím akceleračných utilít, simulácia teraz beží niekoľkonásobne rýchlejšie. Už Adama napadlo použiť na zaznamenané počítačové experimenty GIF animáciu a pri prezentácii na konferencii namiesto spustenia simulácie na počítači púšťal GIF animáciu. Na internete existuje niekoľko rôznych online nástrojov, ktoré umožňujú previesť obrázky do animovaného GIF formátu, väčšina z nich má nejaké obmedzenia či už na veľkosť jednotlivých obrázkov alebo na celkový počet použitých obrázkov. K Pythonu existujú aj rozširujúce moduly, ktoré umožňujú vytvárať aj GIF animácie, takže zatiaľ len na ochutnávku animácia vytvorená online nástrojom a v budúcnosti snáď pridám omnoho dlhšie GIF animácie. Na nich možno rýchlo ukázať, že pri každom behu programu sa za inak rovnakých podmienok simulované peľové zrnko chová vždy inak. Pri podrobnejšom skúmaní však možno zistiť, že aj v chaose sú nejaké zákonitosti. Priemerná dĺžka prejdenej dráhy je pri tej istej teplote za jednotku času konštantná. Mimochodom, prvý, kto popísal správanie sa mikroskopických telies v kvapaline, bol Albert Einstein a bol to prvý experimentálne overiteľný dôkaz reálnej existencie molekúl.

  1. Einstein, AdP 17, 132 (1905) [17 pp.] (EAP, 164; CPE 2, 149)

      Über einen die Erzeugung und Verwandlung des Lichtes betreffenden

      heuristischen Gesichtspunkt

GIF animácia vytvorená online službou Imgflip. Bezplatná verzia je neobmedzená na počet obrázkou (možno tam nejaké obmedzenie bude, keď som poslal 2000 obrázkov, tak generovanie GIF animácie po niekoľkých minútach zlyhalo.). Bezplatná verzia je obmedzená na veľkosť vygenerovaného obrázka a pridáva doň logo služby. Snáď sa mi podarí rozchodiť vlastný GIF animátor v Pythone.

Červená čiara je dráhou pohybu peľového zrnka, ďalšie tri čiary sú záznamom pohybu troch náhodne vybraných molekúl. Dráha molekúl je mnohonásobne dlhšia, než peľového zrnka.

Zdrojový text zverejním neskôr, keď doladím používateľskú prítulnosť.

 

 

Z motívov Jiřího Wolkra

25.09.2017

"Láska je žena a muž, láska je chleba a nůž" Láska? Krv nehou preliata, láska nás zbaví prekliatia. Ty si môj chleba, ja som tvoj nôž, viem čo ti treba v spletenci nôh. Ja vezmem si ťa viac »

Lidl rozbehol reklamnú kampaň na stroj času

04.09.2017

Mnohí politickí a cirkevní predstavitelia ostro protestovali proti reklamným letákom Lidlu, kde vraj Photoshopom boli odstránené kríže na kostoloch gréckeho ostrova Santorini. V skutočnosti viac »

Ideálna žena

24.08.2017

Pri potulkách mestom, stretávam skupinku nádherných dievčat, v ktorej väčšina, ak nie všetky, je hluchonemá. Som iba slabý muž, nikdy som ich neoslovil. Prezraďte mi: "Ako?" Takmer vždy pociťujem viac »

trump, alabama, obamacare

Sedieť alebo kľačať počas hymny na americkom futbale? Neprípustné, tvrdí Trump

25.09.2017 21:57

Viac ako dvesto hráčov NFL v zápasoch tohto kola pri hymne sedelo, kľačalo alebo sa modlilo. Podľa Trumpa by malo byť státie v pozore povinné a ak to niekto nedodrží, klub by ho mal vyhodiť.

pendolino, vlak

Česi predstavili Slovákom vynovené pendolino

25.09.2017 20:00

Interiér rýchlovlaku pendolino, ktorý zabezpečuje spojenie medzi Prahou a Košicami, České dráhy výrazne obnovili.

kim, trump

Nevyhlásili sme vám vojnu, odkazuje Biely dom do Pchjongjangu

25.09.2017 19:37, aktualizované: 23:16

O tom, že USA vyhlásili Pchjongjangu vojnu, hovoril severokórejský minister zahraničných vecí. Podľa Washingtonu však ide len o dezinterpretáciu.

putin

Rusko porušuje na Kryme ľudské práva, mieni OSN

25.09.2017 18:49

Podľa misie OHCHR krajina porušuje ľudské práva vnútením ruského občianstva tamojším obyvateľom a úmyselným presúvaním stoviek väzňov a zadržaných ľudí do ruských väzníc.

Tibor Menyhért

Tak dlho sa hádali na maličkostiach, až z toho bola veličkosť

Štatistiky blogu

Počet článkov: 132
Celková čítanosť: 129388x
Priemerná čítanosť článkov: 980x

Autor blogu

Kategórie