Vissza az előzőleg látogatott oldalra (nem elérhető funkció)Vissza a tananyag kezdőlapjára (P)Ugrás a tananyag előző oldalára (E)Ugrás a tananyag következő oldalára (V)Fogalom megjelenítés (nem elérhető funkció)Fogalmak listája (nem elérhető funkció)Oldal nyomtatása (nem elérhető funkció)Oldaltérkép megtekintése (D)Keresés az oldalon (nem elérhető funkció)Súgó megtekintése (S)

Modellezés és szimuláció / Szimulációs modellek a fizikában /4. Makroszkopikus tulajdonságok vizsgálata

Szimulációs modellek a fizikában

4. Makroszkopikus tulajdonságok vizsgálata

Az előző fejezetben azt figyeltük, hogy a molekulák, vagy részecskék adott körülmények között hogyan helyezkednek el a térben (síkban). Ez a rész azt vizsgálja, hogy milyen mérhető jellemzői lesznek egy gázzal telt edénynek az ismert befolyásoló tényezők mellett.

4.1. Gázok nyomása

Ismét az Olvasó előismereteire apellálva kijelenthetjük azt az ismert tényt, hogy a nyomás nem más, mint a mikroszkopikus részecskéknek az edény falába való sok-sok ütközésének makroszkopikus megjelenése. Mivel a szimulációink lényege az, hogy elemi objektumok változását vizsgáljuk, a mikroszkopikus megfigyeléseket könnyedén el tudjuk végezni. Éppen ezért induljunk ki a kétdimenziós diffúziós modellből, de próbáljunk meg valamilyen módon makroszkopikus adatokat adminisztrálni! Ennek érdekében az eredmény megjelenítésén fogunk változtatni.

Számoljuk meg, hogy időegységenként mennyi molekula ütközik az eseménytér egyik falába (pl. hány darab „szeretne” balra kimenni)! Ehhez egészen keveset kell módosítanunk a korábbi programon. Jelölje U az ütközések számát, időegységnek pedig válasszunk annyi elemi szimulációs lépés végrehajtásához szükséges időt, amennyi alatt minden molekula átlagosan egyszer el tud mozdulni! (Amennyiben a táblázat feltöltésekor megszámoljuk, hogy hány molekulát helyezünk el és a szimulációs lépésben molekulákat választunk, akkor válasszuk ezt lépésszámnak!) Jelöljük LS-el!

A módosított algoritmus:

Diffúzió: [ütközések száma]

Ciklus x=1-től LS-ig

(i,j):=véletlen hely(N,M)

(k,l):=véletlen szomszéd(i,j) [lehet kívül is]

Ha k≥1 és k≤N és l≥1 és l≤M akkor Csere((i,j),(k,l))

különben ha l<1 akkor l:=1; Ha T(i,j)>0 akkor U:=U+1 [ütközés]

ha l>M akkor l:=M

ha k<1 akkor k:=1

ha k>N akkor k:=N

Csere((i,j),(k,l))

Elágazás vége

Ciklus vége

Eljárás vége.

Megjegyzés

Egy szimulációs lépés alatt most LS db cserét is végrehajthattunk, ezért most a vizsgált teret megjelenítő eljárást is módosítani kell!

Ha programunk használatakor változtatjuk az eseménytér méretét – a vizsgált falrész az izgalmas –, vagy a benne levő molekulák számát, megállapíthatjuk, hogy az ütközések száma a molekulák sűrűségével (és természetesen az ütközési felület méretével) arányos. Ebből, az átlagos sebesség és a részecskék tömegének ismeretével, meghatározhatjuk azt az erőt, amely a vizsgált felületre hat. Ha ezt elosztjuk a felület nagyságával máris megkaptunk egy makroszkopikus jellemzőt: az egységnyi felületre ható erőt, a nyomást.

Növeljük az edényben a hőmérsékletet, azaz gyorsítsuk föl a molekulák mozgását! Ez a modell szempontjából azt jelenti, hogy egy pont elmozdításához nem csak a közvetlen környezetéből, hanem esetleg távolabbról is választhassunk helyet. (Ilyet már láthattunk a hőmérséklet vizsgálatánál is!) Ezzel természetesen azt kapjuk, hogy a molekulák nem azonos sebességgel mozognak – ütköznek a falnak –, a sebesség egy ilyen lépés hosszával arányos. Az előbb a visszapattanást egy szomszédos helyre való átlépéssel valósítottuk meg. Most ez nyilvánvalóan nem fog működni, a lépések nagyságának különbözősége miatt, ezért itt külön eljárást készítettünk az ilyen mozgások lebonyolítására.

Érdekes módosítás lehetne az, ha az edény közepén elhelyeznénk egy falat, a fal két oldalán a molekulák jellemzőit (számuk, mozgási energiájuk) különbözőkre választanánk, s a válaszfalra ható erőket számítanánk ki. Ezt a válaszfalat esetleg, mint egy dugattyút, mozgathatnánk is a két térrész között.

Másik módosítást is eszközölünk programunkon. Ennek indoka az, hogy a felületre ható erőt nem helyettesíthetjük egyszerűen az ütközések számával, s nem elég csupán a sebességgel súlyozni az ütközés nagyságát, mert a sebességnek az ütközési felületre merőleges komponense a lényeges. Ezért a megfelelő számlálót (U) nem eggyel, hanem (j-l)-lel növeljük. (Ne feledjük, hogy csak a bal oldali falon számláljuk az ütközéseket!)

A módosított algoritmus:

Diffúzió:[ütközések száma]

Ciklus X=1-től LS-ig

(i,j):=véletlen hely(N,M)

(k,l):=véletlen szomszéd(i,j) [lehet kívül is]

Ha k≥1 és k≤N és l≥1 és l≤M akkor Csere((i,j),(k,l))

különben ha l<1 akkor Ha T(i,j)>0 akkor u:=u+(j-l) [baloldali fal: ütközés]

Visszaverődés(i,j,k,l)

Csere((i,j),(k,j))

Elágazás vége

Ciklus vége

Eljárás vége.

Visszaverődés(i,j,k,l):

Ha k<1 akkor k:=abs(k)+1[felső oldal]

különben k:=2*n-k+1[alsó oldal]

Ha l<1 akkor l:=abs(l)+1[bal oldal]

különben l:=2*m-l+1[jobb oldal]

Eljárás vége.

Szimulációs kísérleteinkből megállapíthatjuk, hogy a sebességtől (a lépések lehetséges nagyságától) nemcsak az átadott impulzus függ, hanem az ütközések száma is. A nyomásról azt tudhatjuk meg, hogy a sűrűséggel és a molekulák átlagos sebességének négyzetével arányos.

Mire használható az így elkészült program? Segítségével bemutathatjuk, hogy a nyomás hogyan függ különböző jellemzőktől. Ha mondjuk a molekulaszámot nem változtatva a tér méretét változtatjuk, akkor a térfogattól való függést kapjuk meg. Ha a molekulák átlagos sebességét változtatjuk, akkor eredményünk a hőmérséklettől való függés lesz.

Vissza a tartalomjegyzékhez

4.2. A hőmérséklet változtatása

Melegítsünk egy edényben lévő gázt! Mit is jelent ez tulajdonképpen? Az edény falát alkotó részecskék a hőmérséklettől (Höm) függően, impulzust adnak át a belül levő molekuláknak, amelyeknek így megnő a sebessége (ami növeli mozgási energiáját, azaz belül is nő a hőmérséklet). Ha hűtenénk, akkor az előbb leírt folyamat ellenkezője zajlana le, ami a belső energiát csökkentené.

A megvalósításhoz szükségünk lesz minden egyes molekula mozgási energiájára. Ezt akkor tudjuk ügyesen tárolni, ha bonyolítjuk az eddigi adatszerkezeteket. Tartalmazza a Mol tömb i. eleme az i. molekula x-, y-koordinátáját és energiáját! (Rekord(x,y:Egész,e:Valós) )

Ezután a szimulációs lépést is tisztázni kell. Ilyen adatok mellett egy molekulát nagyon egyszerű kiválasztani. Amint ez megvan, a molekula energiájának függvényében, valamilyen távolságban, véletlen szomszédot választunk, és ide rakjuk ezt a molekulát. Az edényen belüli szomszédválasztásnál nincs is gond, de ha a falon kívülre menne, azt meg kell akadályozni és az ütközést, visszapattanást adminisztrálni kell!

Szimulációs lépés:

s:=véletlen(Mdb)[az s. molekula mozdul el]

(k,l):=új hely(s)

ha (k,l) edényen kívüli akkor ha k<1 akkor U:=U+Mol(s).y-l

Visszaverődés(k,l,s)

Elágazás vége

Mozgás(k,l,s)

Eljárás vége.

Új hely(S):

Új hely:=(Mol(s).x+véletlen(-1…1)*mol(s).e,

Mol(s).y+véletlen(-1…1)*mol(s).e)

Függvény vége.

Visszaverődés(k,l,s):

Ha k<1 akkor k:=abs(k)+1 [felső oldal]

különben k:=2*n-k+1 [alsó oldal]

Ha l<1 akkor l:=abs(l)+1 [bal oldal]

különben l:=2*m-l+1 [jobb oldal]

Mol(s).e:=Höm [a visszaverődés során kapott energia]

Eljárás vége.

Mozgás(k,l,s):

Ha T(k,l) molekula akkor sorsz:=T(k,l); Ütközés(s,sorsz)

különben Mol(s).x:=k; Mol(s).y:=l; Csere((i,j),(k,l))

Elágazás vége

Eljárás vége.

A szimulációs lépésben a következő furcsaságok vehetők észre:

A programunkat úgy készítsük el, hogy a mindenkori átlagos energiaszint alakulását egy grafikonon nyomon lehessen követni, mert így jól szemléltethető az edény belsejében végbemenő változás!

Vissza a tartalomjegyzékhez

Új Széchenyi terv
A projekt az Európai Unió támogatásával, az Európai Szociális Alap társfinanszirozásával valósul meg.
Készült az "Országos koordinációval a pedagógusképzés megújításáért” című TÁMOP-4.1.2.B.2-13/1-2013-0007 pályázat keretében.
(ISBN 978-963-284-631-6)

A tananyag az ELTESCORM keretrendszerrel készült