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ť.

 

 

Manipulujúci a či oči otvárajúci prieskum?

08.10.2017

Richard Sulík zadal agentúre Polis vypracovať prieskum verejnej mienky, ktorý okrem iných a v prvom rade označil premiér Fico za manipulatívny. Boli alebo neboli otázky manipulatívne? Hoci som viac »

Z motívov Laca Novomeského

26.09.2017

Až prestanú nám listy čítať, až neľud ľudí spozná v nás, až pominie sa vleká kríza, až odídu sťa dedo Mráz, jak úbohý bol povieme si, čas výložiek, smiech v náreku, v ktorom bol viac »

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 »

cina, zjazd, komunisticka strana

Čínsky prezident vyzval Trumpa na uvoľnenie situácie na Kórejskom polostrove

16.01.2018 08:02

Čínsky prezident Si Ťin-pching v telefonáte s americkým prezidentom Trumpom povedal, že zúčastnené strany by mali vytvárať podmienky pre obnovenie rozhovorov s KĽDR.

China Sea Collision

Hrozí ekologická katastrofa, ropné škvrny z potopeného tankera sa zväčšujú

16.01.2018 07:35

Niekoľko ropných škvŕn našli okolo potopeného iránskeho tankera vo Východočínskom mori a zväčšujú sa.

policia, usa, policajna zatarasa, paska, strelba

Polícia v Kalifornii oslobodila 13 súrodencov, ktorých doma väznili rodičia

16.01.2018 07:16

Muža a ženu zatkli v Kalifornii za to, že údajne doma väznili svojich 13 detí, pričom niektoré z nich boli pripútané k posteliam. Úrady deti oslobodili..

Kolumbia, most

Pri zrútení rozostavaného mosta v Kolumbii zahynulo desať robotníkov

16.01.2018 06:21

Desať kolumbijských robotníkov zahynulo v pondelok pri zrútení mosta, ktorý stavali neďaleko hlavného mesta Bogota.

Tibor Menyhért

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

Štatistiky blogu

Počet článkov: 134
Celková čítanosť: 145611x
Priemerná čítanosť článkov: 1087x

Autor blogu

Kategórie