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 »

Šéf Toyoty: Elektromobily nie sú pripravené pre masovú výrobu

17.11.2017 22:35

Šéf Toyoty Takeši Učijamada nepovažuje amerického priekopníka vo výrobe elektrických vozidiel Tesla za vzor hodný kopírovania.

John F. Kennedy, Jacqueline Kennedy

Zverejnili ďalších 10 744 materiálov súvisiacich s atentátom na prezidenta Kennedyho

17.11.2017 21:02

Americký národný archív informoval, že 8 336 materiálov zverejňujú úplne a 2 408 čiastočne, pričom 144 sa dostane na verejnosť úplne po prvý raz.

Tesla Semi

Tesla ukázala novinky. Elektrický ťahač a roadster

17.11.2017 20:00

Prototyp elektrického ťahače Tesla Semi a nový športový kabriolet Roadster predstavil vo štvrtok americký výrobca elektrických vozidiel Tesla.

ITAPA 2017: Otvorenie kongresu

Svet zaplavujú dáta neznámych vlastníkov

17.11.2017 20:00

Dáta sa stávajú tovarom. Čoraz väčší počet digitálnych zariadení produkuje záznamy o ľudskej činnosti.

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ť: 137985x
Priemerná čítanosť článkov: 1030x

Autor blogu

Kategórie