Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
UNIVERSITÄT BIELEFELD
Computerpraktikum
Dozent: Praktikanten (Gruppe 1):Dr. Udo Werner Marcus BoettigerJan Van der Heide Marius SchirmerE6-106 [email protected]
INHALTSVERZEICHNIS II
Inhaltsverzeichnis
1 Aufgaben zu GNUPLOT 1
1.1 Aufgeben, 2-dimensionale Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Aufgeben, 3-dimensionale Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Aufgeben, Least Square (χ2) Fits mit Gnuplot . . . . . . . . . . . . . . . . . . 3
2 Mathematica 4
3 Numerische Methoden - Das einfacheFadenpendel und Zufallszahlen 6
3.1 Teil A: Integrationsmethoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2 Teil B: Fadenpendel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3 Zufallszahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4 Brown’sche Bewegung und Clusterwachstum - Skalengesetze 12
4.1 Random Walks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.2 Self Avoiding Random Walks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.3 Clusterwachstum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5 Zellularautomaten simulierenden Straßenverkehr 18
6 Percolation 20
1 AUFGABEN ZU GNUPLOT 1
1 Aufgaben zu GNUPLOT
Das Computerpraktikum beginnt mit einer Einfuhrung in gnuplot, einem Programm zur gra-phischen Darstellung von Funktionen, etc..Als erstes sollen die grundlegenden Funktionen dieses Programs ausprobiert werden sollten.
1.1 Aufgeben, 2-dimensionale Plots
1. Zur Erzeugung des Plots fur die erste Aufgabe verwendeten wir folgenden Code in gnuplot:
gnuplot> set title ’Marcus und Marius’
gnuplot> plot [1:4] ’daten2’ using 1:2 title "Daten2" w lines
gnuplot> replot ’daten2’ using 1:2:3:4 title "Fehlerbalken" w xyerrorbar
gnuplot> f(x)=1.6-0.3*x
gnuplot> replot f(x) title"f(x)=1.6-0.3*x"
gnuplot> set terminal postscript eps
gnuplot> set output’daten2.eps’
gnuplot> replot
Gnuplot Bild von ’daten2’:
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
1 1.5 2 2.5 3 3.5 4
Marcus und Marius
Daten2Fehlerbalkenf(x)=1.6-0.3*x
2. Fur die Ellipsen nahmen wir folgende Gleichungen:Nach set parametric
1 AUFGABEN ZU GNUPLOT 2
gnuplot> plot sin(t-1), 0.3*cos(t)
gnuplot> replot 1.99*sin(t), 0.3*cos(t)
gnuplot> replot 1.25*sin(t), 1.5*cos(t+5)
gnuplot> replot 1.25*sin(t), 1.5*cos(t)
Gnuplot Bild der Ellipsen:
-1.5
-1
-0.5
0
0.5
1
1.5
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
Marcus und Marius
sin(t-1), 0.3*cos(t)1.99*sin(t), 0.3*cos(t)
1.25*sin(t), 1.5*cos(t+5)1.25*sin(t), 1.5*cos(t)
1.2 Aufgeben, 3-dimensionale Plots
Um in gnuplot 3-dimensionale Plots zu erhalten verwendet man den Befehl splot. Im folgendenTeil sollten wir uns mit den Funktionen fur 3-dimensionale Plots vertraut machen.
1. Um einen 3-dimensionalen Plot der Flache zu erhalten, haben wir zunachst den hochstenWert aus den Daten bestimmt, damit wir die passenden Hohenlinien einfugen konnten.Die folgenden Befehle lieferten uns dann den Plot, wobei das erzeugen des eps-Files analogzu Aufgabe 1) geht.Um die Hohenlinien mit in den Plot zu bekommen, verwendeten wir folgenden Code:
gnuplot> set cntrparam levels discrete 0.9*6.906730e-02,
0.8*6.906730e-02, 0.7*6.906730e-02
gnuplot> contour both
gnuplot> splot ’flaeche1’ w lines
1 AUFGABEN ZU GNUPLOT 3
Gnuplot Bild von ’flaeche1’:
0 0.1
0.2 0.3
0.4 0.5
0.6 0.7
0.8 0.9
1
0 5
10 15
20 25
30
0.025 0.03
0.035 0.04
0.045 0.05
0.055 0.06
0.065 0.07
Marcus und Marius
’flaeche1’ 0.0483 0.0553 0.0622
1.3 Aufgeben, Least Square (χ2) Fits mit Gnuplot
1. Um die Fitparameter zu bestimmen, mussen wir zunachst eine Esponentialfunktion ingnuplot definieren. Dies geht durch:
gnuplot> f(x)=a*x**b
Um die Funktion nun an die Daten zu fitten benutzt man folgenden Code.
gnuplot> fit f(x) ’expo1’ u ($1):($2) via a,b
Nun wird eine Tabelle der Fitparameter ausgegeben, welche auch etwas ihre Genauigkeitbzw. den Fehler aussagt (siehe Tabelle). Will man nun die Fitparameter fur ’expo2’ haben,so muss man entweder eine neue Funktion mit neuen Parametern definieren, oder vorhera und b = 1 setzen, da gnuplot sonst evtl. die Parameter nicht berechnen kann.Bei ’expo3’ wird eine neue Funktion definiert, die zusatzlich den Parameter c beinhaltet.
gnuplot> f(x)=a+b*exp(c*x)
2. Als nachstes werden die Daten doppelt logarithmisch betrachtet, d.h. es werden beideAchsen logarithmiert und die Werte aufgetragen. Dies wird durch den Befehl using er-reicht, den wir folgendermaßen verwendet haben.
2 MATHEMATICA 4
gnuplot> plot ’expo1’ using (log($1)):(log($2)) title ’expo1’, f(x)
gnuplot> fit f(x) ’expo1’ using (log($1)):(log($2)) via a,b
Und analog fur die andere Funktion.Damit man die Parameter mit den nicht logarithmierten vergleichen kann betrachtet man
f(x) = a · xb) ln f(x) = ln(a) + b · ln(x) = m + n · (ln(x)) = g(x) (1)
und korrigiert das n durch exp(n).
3. Tabelle der Fitparameter:
Datei a ± ∆a b ± ∆b c ± ∆cexpo1 4.501 ± 0.003 3 ± 0.0004 −−− ± −−−expo2 −2.309 ± 0.033 1.248 ± 0.008 −−− ± −−−expo3 0.514 ± 0.018 3.192 ± 0.061 −0.93 ± −0.033
Tabelle der logarithmierten Fitparameter:
Datei a ± ∆a b ± ∆bexpo1 4.495 ± 0.002 3.001 ± 0.001expo2 −2.32 ± 0.01 1.245 ± 0.008
Geraden-Fit:
y(x, a, b) = a + bx (2)
χ2(a, b) =N∑
i=1
(yi − a− bxi
σi
)2
(3)
2 Mathematica
Hier sollten wir uns zunachst mit den elementaren Funktionen des Programs vertraut machen.Die Aufgabe bestand darin das Integral
∫ π
0
sin(ax)
xdx
in Abhangigkeit von a zu berechnen und zwar einmal analytisch mit dem Befehl Integrateund einmal numerisch mit NIntegrate.
1. Integrate
2 MATHEMATICA 5
f[x_,a_]:=(Sin[a*x])/x
g[a_]:=Integrate[f[x,a],{x,0,Infinity}]
g[1]=Pi/2
5 10 15 20
1.5708
1.5708
1.5708
1.5708
1.5708
1.5708
2. NIntegrate
h[a_] := NIntegrate[f[x, a], {x, 0, Infinity}, Method -> Oscillatory]
h[1]
plot[h[1]{x, 1, 20}]
5 10 15 20
1.5708
1.5708
1.5708
1.5708
1.5708
1.5708
Da wir den Bereich des Plots nicht festgelegt haben, ist das numerische ’Rauschen’ gutzu erkennen.
3. e-Funktion:
In diesem Teil sollte die Funktion
f(x) = e1x
betrachtet werden, welche bei 0 eine Polstelle besitzt. Außerdem sollte die Ableitungberechnet werden, was mit dem Code D[f[x], x] funktioniert, wenn man die Funktionvorher analog zu 1. definiert hat. Damit ergibt sich fur die Ableitung
f ′(x) :=d
dxf(x) =
e1x
x2,
3 NUMERISCHE METHODEN - DAS EINFACHEFADENPENDEL UND ZUFALLSZAHLEN6
welche ebenfalls fur f ′(0) nicht definiert ist. Die beiden folgenden Bilder zeigen die Gra-phen zu f(x) und f ′(x).
-20 -10 10 20
2
4
6
8
10
12
f(x) = e1x
2 4 6 8 10
200
400
600
800
1000
1200
1400
f(x) =e
1x
x2
3 Numerische Methoden - Das einfacheFadenpendel und
Zufallszahlen
3.1 Teil A: Integrationsmethoden
1. Bei dieser Aufgabe untersuchen wir die drei Integrationsmethoden Trapez, Simpson und
Bool. Dazu wird das Integralπ∫0
sin x dx mit dem Programm ’integral’ berechnet. Die
3 NUMERISCHE METHODEN - DAS EINFACHEFADENPENDEL UND ZUFALLSZAHLEN7
Anzahl der Stutzstellen stellt die Genauigkeit des Integrals dar. Um eine Genauigkeit von10−10 zu erreichen, wird das Programm zunachst mit einer hohen Anzahl von Stutzstellengestartet. In der ausgegebenen Liste kann man dann die benotigten Stutzstellen fur diegegebene Genauigkeit ablesen.
N Trapez Simpson Boole
4 1.896118897937040 2.004559754984421 1.998570731823836
8 1.974231601945551 2.000269169948388 1.999983130945985
16 1.993570343772340 2.000016591047935 1.999999752454572
32 1.998393360970145 2.000001033369413 1.999999996190845
64 1.999598388640037 2.000000064530002 1.999999999940708
128 1.999899600184203 2.000000004032258 1.999999999999073
256 1.999974900235052 2.000000000252002 1.999999999999986
512 1.999993725070576 2.000000000015751 1.999999999999998
1024 1.999998431268381 2.000000000000984 1.999999999999998
2048 1.999999607817140 2.000000000000064 2.000000000000000
4096 1.999999901954288 2.000000000000008 2.000000000000001
8192 1.999999975488575 1.999999999999997 1.999999999999993
16384 1.999999993872147 2.000000000000010 1.999999999999993
32768 1.999999998468038 1.999999999999999 2.000000000000007
65536 1.999999999617033 1.999999999999987 1.999999999999996
131072 1.999999999904251 1.999999999999989 2.000000000000007
262144 1.999999999976061 1.999999999999983 2.000000000000004
2. Beim Trapezverfahren, dem einfachsten Verfahren, werden mindestens 217, also 131072Stutzstellen benotigt um die gewunschte genauigkeit zu erreichen. Fur Simpson werden29 (512) benotigt und fur Boole nur 26, also nur 64.Als nachstes sollten wir den k-Wert fur die verschiedenen Verfahren finden. Beim Trapez-verfahren ergibt sich fur k ein Wert von 2. Beim Simpsonverfahren ist k = 4 und beimBooleverfahren ist k = 6. Die Fehleranalyse des Programms ’integral’ liefert folgendeTabelle. Bei einer großen Anzahl von Stutzstellen kommt es zu Rundungsfehlern.
Fehleranalyse:
N Trapez Simpson Boole
4 1.6620976330E+00 -1.1672972760E+00 5.8542824496E+00
8 1.6491774755E+00 -1.1025201086E+00 4.4221212956E+00
16 1.6459919943E+00 -1.0873109175E+00 4.1531231143E+00
32 1.6451983666E+00 -1.0835663653E+00 4.0900490284E+00
64 1.6450001304E+00 -1.0826337785E+00 4.0745239258E+00
128 1.6449505820E+00 -1.0824010372E+00 4.0751953125E+00
256 1.6449381956E+00 -1.0823421478E+00 4.0000000000E+00
512 1.6449350990E+00 -1.0823669434E+00 3.2000000000E+01
1024 1.6449343259E+00 -1.0820312500E+00 1.7920000000E+03
2048 1.6449341364E+00 -1.1171875000E+00 -3.2768000000E+04
4096 1.6449340843E+00 -2.3750000000E+00 -6.2914560000E+06
3 NUMERISCHE METHODEN - DAS EINFACHEFADENPENDEL UND ZUFALLSZAHLEN8
8192 1.6449339092E+00 1.5000000000E+01 2.2145925120E+09
16384 1.6449329853E+00 -7.3600000000E+02 1.3314398618E+11
32768 1.6449315548E+00 1.0240000000E+03 -8.2463372083E+12
65536 1.6448297501E+00 2.4576000000E+05 3.3425153484E+14
132072 1.6449623108E+00 3.2112640000E+06 -3.3776997205E+16
262144 1.6450958252E+00 8.0740352000E+07 -1.2970366927E+18
3. Im letzten Teil sollte das Integral∫
sin x dx im Intervall von [0.5;2.0] berechnet werden.Beim Boolverfahren reichen hier schon 64 Stutzstellen aus.
N Boole
4 1.293721185985062
8 1.293729277234761
16 1.293729396569948
32 1.293729398408435
64 1.293729398437061
128 1.293729398437508
2∫
0
sin x dx = 1.2937293984
3.2 Teil B: Fadenpendel
Mit dem Programm ’fpendel’ wird die Periode eines mathematischen Pendels berechnet. Dasheißt der Faden selber hat keine Masse, wodurch die berechnung Wesentlich vereinfacht wird,da man kein Schwerpunktsystem betrachten muss. Man muss beachten, dass es bei Θ0 = πeine Singularitat gibt und das Integral nicht konvergiert. Das Programm benutzt zur berech-nung des Integrals Simpsonregel.Wie viele Stutzstellen werden benotigt um die Resultate auf 10 Stellen genau zu erhalten?Das Programm benotigt in unserem Fall zwischen 140-150 Stutzstellen.
Plot von ’fpendel.out’ mit gnuplot:
3 NUMERISCHE METHODEN - DAS EINFACHEFADENPENDEL UND ZUFALLSZAHLEN9
1.5
2
2.5
3
3.5
4
0 0.5 1 1.5 2 2.5 3
fpendel
3.3 Zufallszahlen
Fur die Erzeugung von Zufallszahlen wird as Programm ’rantest’ benutzt. Es liefert die Datei’rantest.out’ bei der die relative Haufigkeit P (x) fur das Auftreten der jeweiligen Zufallszahl imIntervall [x ; x + ε] gespeichert wird.Wenn man diese Daten mit gnuplot fittet, sieht man dass diese Werte gleichverteilt sind, dasich eine Gerade bei 1 ergibt.
0.8
0.9
1
1.1
1.2
1.3
1.4
1.5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
’rantest.out’1
3 NUMERISCHE METHODEN - DAS EINFACHEFADENPENDEL UND ZUFALLSZAHLEN10
Die hier verwendeten Parameter entsprachen den vorgaben, des Programms.Im Script ist noch das Moment angegeben, als alternative Moglichkeit um die Gute der Zufalls-zahlen zu bestimmen. Die Momente werden vom Programm ausgegeben und konnen mit derFunktion
F (x) =1
ax + b+ c
gefittet werden.
0.05
0.1
0.15
0.2
0.25
0.3
0.35
0.4
0.45
0.5
0.55
1 2 3 4 5 6 7 8 9 10
Momentef(x)
Das Programm liefert noch die Ausgabe ’rand num.out’, welche mit einem 3d-Plot zufalligverteilt aussieht.
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
1
’rand_num.out’
3 NUMERISCHE METHODEN - DAS EINFACHEFADENPENDEL UND ZUFALLSZAHLEN11
Wenn wir aber die erste Spalte gegen die dritte auftragen, erkennt man in dem Plot einedeutliche Korrelationen.
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
randnum.out 1 gegen 3
4 BROWN’SCHE BEWEGUNG UND CLUSTERWACHSTUM - SKALENGESETZE 12
4 Brown’sche Bewegung und Clusterwachstum - Skalen-
gesetze
4.1 Random Walks
Mit dem Programm ’walk’ soll das Skalenverhalten der zufalligen Wege in Abhangigkeit von Kder Kollisionen und der Einschrankung fur die Wahl der zufalligen Richtung auf einem 2D-Gitteruntersucht werden. Dabei soll der kritische Exponent ν auf drei verschiedene Arten bestimmtwerden. Namlich durch einen direkten Fit, einen logarithmierten und durch direkte Auswertungder gemessenen Exponenten.
1. Direkter Fit:
2
3
4
5
6
7
8
9
10
11
12
13
0 10 20 30 40 50 60 70 80 90 100
Marcus und Marius
’b5a.txt’ using 1:2:31.31742*K^0.492077-0.199199
2. Graph mit logarithmiertem Fit:
0.8
1
1.2
1.4
1.6
1.8
2
2.2
2.4
2.6
1.5 2 2.5 3 3.5 4 4.5 5
’b5a.txt’ using (log($1)):(log($2)):(1/$2*$3)f(x)
4 BROWN’SCHE BEWEGUNG UND CLUSTERWACHSTUM - SKALENGESETZE 13
3. Durchschnitt der Exponenten:
0.44
0.46
0.48
0.5
0.52
0.54
0.56
0.58
0.6
0.62
0.64
0 10 20 30 40 50 60 70 80 90 100
Marcus und Marius
’b5a.txt’ using 1:4:50.50962
Damit ergeben sich durch die verschiedenen Methoden folgende Werte fur ν:
Methode νdirekter Fit 0.49± 0.002
logarithmierter Fit 0.50± 0.001direkte Auswertung 0.54± 0.014
Man sieht, dass die unterschiedlich bestimmten νs voneinander abweichen. Bei den beiden Fitsist diese Abweichung sehr gering, jedoch weicht der Wert des einfachen Durchschnitts starkervon diesen ab und hat auch einen großeren Fehler. Insgesamt liegt der Messfehler aber sogarbei der letzten Methode unter 3 Prozent.
4.2 Self Avoiding Random Walks
Das Programm wird nun in der einstellung ’self avoiding random walks’ benutzt. Durch dieseEinstellung soll das Modell realistischer werden. Dabei uberschneiden sich die zufalligen Wegenach einer Kollision nicht. Als Beispiel sind hier Molekulketten gegeben, bei denen sich dieAtome durch die Coulombkrafte abstoßen. Die Auswertung folgt wieder wie im vorherigen Teil.
4 BROWN’SCHE BEWEGUNG UND CLUSTERWACHSTUM - SKALENGESETZE 14
1. Direkter Fit:
2
3
4
5
6
7
8
9
10
11
12
13
0 10 20 30 40 50 60 70 80 90 100
Marcus und Marius
’b5a.txt’ using 1:2:31.31742*K^0.492077-0.199199
2. Graph mit logarithmiertem Fit:
1
1.2
1.4
1.6
1.8
2
2.2
2.4
2.6
2.8
3
1.5 2 2.5 3 3.5 4 4.5 5
’b5a2.txt’ using (log($1)):(log($2)):(1/$2*$3)0.638863*x+0.00403391
3. Durchschnitt der Exponenten:
4 BROWN’SCHE BEWEGUNG UND CLUSTERWACHSTUM - SKALENGESETZE 15
0.45
0.5
0.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
0 10 20 30 40 50 60 70 80 90 100
Marcus und Marius
’b5a2.txt’ using 1:4:50.65911
Man erreicht diesmal auch andere Werte fur ν
Methode νdirekter Fit 0.64± 0.002
logarithmierter Fit 0.63± 0.001direkte Auswertung 0.66± 0.044
bei denen der Wert durch direkte Auswertung wieder am starksten abweicht. Insgesamt ist derFehler aber kleiner als 10 %.
4.3 Clusterwachstum
Mit dem Modell der Clusterbildung kann man z.B. die Anlagerung an einen Kristallisationskeimbeschreiben.Mit dem Programm ’walk’ wird das Clusterwachstum in zwei Dimensionen untersucht. Dabeilagern sich Teilchen die aus dem Unendlichen kommen, am Kristall an. Es sollen Flache undUmfang des Clusters untersucht werden.Mit der graphischen Ausgabe des Programms kann man sich ein Bild des Wachstums verschaf-fen. Um das Clusterwachstum zu berechnen ist es jedoch ungeeignet, da es zu viel Rechenlei-stung benotigt.
4 BROWN’SCHE BEWEGUNG UND CLUSTERWACHSTUM - SKALENGESETZE 16
1. Flache:Hier wurde die Flache F (R) gegen die Ausdehnung R aufgetragen:
0.3
0.35
0.4
0.45
0.5
0.55
0.6
0.65
0.7
0.75
0.8
0 10 20 30 40 50 60 70 80 90 100
WerteF(R)=((1.09609+/-0.04622)*R^(1.72654+/-0.01276))/(R^2)
2. Umfang:Umfang U(R) gegen Ausdehnung R:
0
10
20
30
40
50
60
0 10 20 30 40 50 60 70 80 90 100
Marcus und Marius
WerteU(R)=((1.53477+/-0.1413)*R^(1.79445+/-0.02166))/(R)
Die Parameter sind:
Parameter Wertα 1.72654± 0.01276β 1.79445± 0.02166
4 BROWN’SCHE BEWEGUNG UND CLUSTERWACHSTUM - SKALENGESETZE 17
Der Fehler liegt damit bei ca. 3%.
3. Das gleiche sollte jetzt nochmal mit der Datei ’walk160.out’ gemacht werden, da hier derFehler kleiner als 1 % ist. Die Parameter sind hier:
α = 1.7284± 0.00649β = 1.70929± 0.007578
und man erhalt folgende Graphen:
0.25
0.3
0.35
0.4
0.45
0.5
20 40 60 80 100 120 140 160
’walk160.out’ u 1:2:3f(x)
10
20
30
40
50
60
70
80
90
20 40 60 80 100 120 140 160
’walk160.out’ u 1:4:5g(x)
Insgesamt ist hier der Fehler noch wesentlich kleiner als bei den von uns berechnetenDaten. Allerdings wurde hier auch eine Wesentlich hohere Statistik verwendet.
5 ZELLULARAUTOMATEN SIMULIERENDEN STRASSENVERKEHR 18
5 Zellularautomaten simulierenden Straßenverkehr
In diesem Abschnitt wird der Staßenverkehr auf einer einspurigen Straße simuliert.Das Programm ’staug’ hat eine graphische Ausgabe, bei der 40 aufeinanderfolgende Verkehrs-situationen auf dem Bildschirm dargestellt werden. Die Geschwindigkeit der einzelnen Autosist νmax = 5 und die Strecke ist in L = 200 Abschnitte aufgeteilt. p beschreibt die Trodelwahr-scheinlichkeit und c die Fahrzeugdichte.
1. Als erstes soll mit dem Programm ’staug’ fur funf unterschiedliche p die kritische Ver-kehrsdichte c ermittelt werden, bei der sich ein spontaner Stau bildet. Wir haben dabeifolgende Werte ermittelt:
p 0.2 0.4 0.6 0.8 0.9c 0.16 0.12 0.1 0.08 0.03
Man sieht, dass mit steigender Trodelwahrscheinlichkeit die Verkehrsdichte schneller kri-tisch ist.
2. Mit Hilfe des Programms ’stau’ wird nun die Flußdichte f(c, p) fur verschiedene c und pberechnet. Das Programm erzeugt den Output ’stau.out’. Wir haben daraus einen 3d-Ploterstellt.
0 0.1
0.2 0.3
0.4 0.5
0.6 0.7
0.8 0.9
1 0.2 0.3
0.4 0.5
0.6 0.7
0.8 0.9
0
0.1
0.2
0.3
0.4
0.5
0.6
Flussdichte
Marcus und Marius
’b61.txt’ using 1:3:2
FahrzeugdichteTroedelw.
Flussdichte
5 ZELLULARAUTOMATEN SIMULIERENDEN STRASSENVERKEHR 19
Das ganze nochmal mit einer erheblich kleineren Schrittweite im interessanten Bereich:
0 0.05
0.1 0.15
0.2 0.25
0.3 0.2 0.3
0.4 0.5
0.6 0.7
0.8 0.9
0
0.1
0.2
0.3
0.4
0.5
0.6
Flussdichte
Marcus und Marius
’b62.txt’ using 1:3:2
FahrzeugdichteTroedelw.
Flussdichte
3. Als letzte haben wir das Problem noch analytisch gelost durch:
f(c, p) =1
2
[1− (1− 4(1− p)c(1− c))
12
]
Fur entsprechende c und p ergibt sich folgender Graph:
0 0.2
0.4 0.6
0.8 1
0 0.2
0.4 0.6
0.8 1
0
0.1
0.2
0.3
0.4
0.5
Flussdichte
Marcus und Marius
f(p,c)=(1-[1-4*(1-p)*c*(1-c)]^0.5)/2
Troedelw.Fahrzeugdichte
Flussdichte
6 PERCOLATION 20
Man sieht sowohl bei der simmulierten Losung, als auch bei der analytischen, dass die maxi-male Flussdichte bei einer bestimmten Fahrzeugdichte erreicht wird. Das bedeutet, man solltebei der Straßenplanung darauf achten eine bestimmte Fahrzeugdichte zu erreichen, damit derVerkehrsfluss maximal ist.
6 Percolation
Das Programm ’xpercolation’ wird zur Untersuchung von Kontinuumsperkolation mit Kreis-scheiben in der Ebene verwendet. Uber die graphische X-Oberflache werden die Parametereingestellt.
1. Als erstes sollte fur eine Anzahl verschiedener Radien ein Plot wie in Abb. (5) im Scripterstellt werden. Damit die Daten fur den eigentlichen Plot umgewandelt werden, mus-ste man sie mit dem X-Programm nach der Berechnung plotten. Wir haben dabei diefolgenden Radien verwendet:
Ri GroßeR1 0.3R2 0.2R3 0.1R4 0.05R5 0.02R6 0.01
Aus dem Plot der zugehorigen Kurven sollten pc und ηc bestimmt werden. Dafur habenwir die Anzahl der perkolierenden Konfigurationen
ΠL(p) =Perkulationen
Konfigurationen
gegen die Wahrscheinlichkeit p = (1− (1− πR2)n) aufgetragen.
0
0.2
0.4
0.6
0.8
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Marcus und Marius
r=0.3r=0.01r=0.02r=0.05r=0.1r=0.2
Da bei dem großten
6 PERCOLATION 21
Radius die Percolation sehr fruh eintrat, konnten wir nur wenig Scheiben verwenden,deshalb haben wir diesen Graph nicht dazu genommen. Der Schnitt- punkt liegt bei 0.68,unser gesuchtes pc.Aus Gleichung (B.49) des Scriptes gilt folgender Zusammenhang zwischen ηc und pc
ηc = ln
(1
1− pc
)
Damit erhalten wir unsere gesuchten Werte
pc = 0.68
ηc = 1.14.
2. Bei diesem Teil sollte, mit der in 1. ermittelten kritischen Wahrscheinlichkeit pc, dasSkalenverhalten SL(pc) der mittleren Clustergroße und der Perkolationsstarke PL
∞(pc) be-stimmt werden.Die Clustergroße ist proportional zu Lγ/ν . Gesucht wird der kritische Exponent. Da fol-gendes gilt L ∝ 1/R wird SL gegen 1/R aufgetragen.Außerdem gilt:
SL(pc) =Orig.Discs
Config
Dabei darf ’Config’ nur die Konfigurationen beinhalten, bei denen es zu einer Perkolationkam. Die Werte werden wieder doppelt logarithmisch aufgetragen.
1
2
3
4
5
6
7
8
1 1.5 2 2.5 3 3.5 4 4.5 5
’b72.dat’ u (log(1/$5)):(log($3/$4))f(x)
Fur den ersten Exponenten ergibt sich aus dem Fit: γν
= 1.51356 ± 0.03059
Fur die Perkolationsstarke gilt: PL(pc) ∝ L−β/ν . Dabei tragen wir PL wieder gegen 1/Rauf.pL ist definiert als:
pL(pc) =Orig.Perc
Perc
6 PERCOLATION 22
0.35
0.4
0.45
0.5
0.55
0.6
0.65
0.7
1 1.5 2 2.5 3 3.5 4 4.5 5
’b72.dat’ u (log(1/$5)):(log($2/$1))f(x)
Durch den Fit ergibt sich hier ein Exponent von βν
= 0.0849688 ± 0.004399
Zum Schluss sollten die Exponenten noch mit Hilfe des Hyperskalengesetzes verglichenwerden.
γ = νd− 2β
Da die Dimension hier 2 ist folgt daraus
γ = 2ν − 2β
⇒ γ
ν= 2(1− β
ν).
Durch Einsetzen ergibt sich
1.51356± 0.03059 = 2(1− 0.0849688± 0.004399
1.51356± 0.03059 = 1.8300624± 0.008798
Damit liegen die Exponenten außerhalb der Toleranz. Genauere Werte erreicht man nurindem man noch mehr Konfigurationen verwendet.