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

 

 

Pan slam 2017 (nebojte sa poézie)

03.07.2017

Slam poetry je na Slovensku zatiaľ takmer neznámy pojem. Pokusom o jeho propagáciou je turné Pan slam, počas ktorého českí a slovenskí panslavisti pardon pan slamisti sa predstavia v deviatich viac »

Náhoda je génius

26.06.2017

Väčšina toto príslovie pozná presne naopak: Náhoda je blbec. Zaužívané príslovie odráža našu kolektívnu a pritom individuálnu skúsenosť, keď sa sťažujeme na osud, ktorý sme si poväčšine viac »

Neznesiteľná ľahkosť streľby

19.06.2017

Môj predchádzajúci blog bola báseň o medvedici Inge, ktorú odmietli poľovníci na pokyn policajtov/ochranárov/starostu ??? v intraviláne obce zastreliť. Poľovníci použili "iba" gumenný náboj, viac »

Obdulia Sanchez

Americká tínedžerka odvysielala naživo haváriu, pri ktorej zomrela jej sestra

25.07.2017 12:33

Podľa policajných informácií navyše pred jazdou pila alkohol.

Tayyip Erdogan

Erdogan vyzval moslimov z celého sveta na ochranu Jeruzalema

25.07.2017 12:33

Turecký prezident Recep Tayyip Erdogan vyzval moslimov z celého sveta, aby navštívili a ochránili Jeruzalem.

plavčan

OĽaNO plánuje odvolávať Plavčana, ak sa Danko nevzdá ministerstva školstva

25.07.2017 12:18

Hnutie OľaNO vyzýva predsedu SNS Andreja Danka, aby sa strana vzdala rezortu školstva pre závažné zlyhania v riadení eurofondov na vedu a výskum.

polícia, hodnotenie

Patrí väčšina policajtov medzi elitu?

25.07.2017 12:00

Viac ako tri štvrtiny policajtov pracujú na elitnej úrovni. Až 86 % dostalo známku výborná alebo veľmi dobre. Vyplýva to z ich hodnotenia za vlaňajší rok, ktoré púšťa vedenie polície do ostrej prevádzky.

Tibor Menyhért

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

Štatistiky blogu

Počet článkov: 128
Celková čítanosť: 118519x
Priemerná čítanosť článkov: 926x

Autor blogu

Kategórie