Benützer:


Random walk mit variabler Schrittlänge

Gleichung

>Top, >Modell


Der einfachste Fall ist der einer Partikel die sich entlang einer Achse bewegt und die nach einem Zusammenstoß mit einem Objekt die Bewegungsrichtung umkehrt.

Wenn die Wahrscheinlichkeit ein Abstand zwischen x und x + dx zu erreichen gleich P(x) ist, dann ist die Wahrscheinlichkeit des Zusammenstoßes

P(x)-P(x+dx)\sim-\display\frac{dP}{dx}dx

Falls diese Wahrscheinlichkeit proportional zur Wahrscheinlichkeit P ist, ergibt sich dass

\display\frac{dP}{dx}=-\display\frac{dx}{\lambda}P(x)

So folgt, dass

$p(x)dx = \displaystyle\frac{1}{\lambda}e^{-x/\lambda}dx$

wobei \lambda der freie Weg ist.

ID:(9099, 0)



Normalisierung

Gleichung

>Top, >Modell


Wenn die Verteilung integriert ist

$p(x)dx = \displaystyle\frac{1}{\lambda}e^{-x/\lambda}dx$



Über alle möglichen Entfernungen x und davon ausgehend, dass \lambda konstant ist, bekommst du

$\displaystyle\int_0^{\infty}p(x)dx = \displaystyle\int_0^{\infty}\displaystyle\frac{1}{\lambda}e^{-x/\lambda}dx=1$

was bedeutet, dass die Funktion normalisiert ist. Dies ist nicht überraschend, da die Funktion p(x) einer Wahrscheinlichkeitsverteilung entspricht.

ID:(9251, 0)



Freie Weg von mehreren Partikeln

Bild

>Top


Wenn Sie die freien Wege für Photonen, Neutronen, Elektronen und Protonen im Wasser vergleichen, beobachten Sie Unterschiede in Zehnerpotenzen:

Freier Weg von Partikeln in Wasser (ICRU-Bericht von 1970).

In diesem Fall werden die Werte in Zentimetern angegeben. Für den Bereich von bis zu 0,01 bis 6 MeV sind die Bereiche (in cm)

Partikel | 0,01 MeV | 6 MeV

------------- |: ------------: |: ----------:

Photonen | 0.198 | 41.7

Neutronen | 0,878 | 0.430

Elektronen | 0.00032 | 0.211

Protonen | - | 0,033

ID:(9257, 0)



Freier Weg eines Photons

Bild

>Top


Wenn der freie Weg als eine Funktion der Dichte dargestellt wird, kann er zwischen verschiedenen Materialien verglichen werden. Als eine Funktion der Energie des Photons wird erreicht, dass der freie Weg in Knochen und Wasser im Bereich von 0 bis 10MeV sehr ähnlich ist:

Weg frei von Photonen in Wasser und Knochen. Der EGS4 Code System Report SLAC-265, Nelson W.R. et. al., Stanford Linear Accelerator Center, Kalifornien, 1985

Wenn eine Abschätzung der freien Weglänge des Photons in Wasser erwünscht ist, die ein dem Gewebe sehr ähnliches Verhalten zeigt, genügt es, die Länge in Gramm pro Quadratzentimeter mit der Dichte zu multiplizieren, mit der Werte zwischen 0 und 30 cm erhalten werden.

ID:(9256, 0)



Codestruktur (1)

Beschreibung

>Top


Die Struktur des Simulationscodes muss aus drei Grundeinheiten bestehen:

- die Definition der Verteilungsfunktion (die Anordnung, die Kugeln in der Galton-Tabelle sammelt)

- der Simulator des Fortschritts des Teilchens, das die endgültige Position liefert

- die Einheit, die die Klasse bestimmt, die in der Verteilungsfunktion erhöht werden muss (die Einheit, die bestimmt, in welchem ??Container des Empfängers von Kugeln diese abgelegt wird)

Für den ersten Punkt müssen wir eine Anordnung definieren, die anfänglich auf Null gesetzt wird und schließlich entsprechend der erreichten Position besiedelt wird.

Für den ersten Schritt müssen wir zuerst den Bereich definieren, in den die Kugel fällt, dh einen Minimalwert x_{min} (xmin) und einen Maximalwert x_{max} (xmax). Dies sollte in num (num) Intervalle der Länge Dx unterteilt werden:

\Delta x = \displaystyle\frac{x_{max}-x_{min}}{num}

Wenn die Anordnung p heißt, müssen zuerst die Elemente num auf Null gesetzt werden (die Elemente der Galton-Tabelle werden leer).

```

// set distribution to cero

for(i = 0;i < num;i++){

p[i] = 0.0; // set to empty

}

```

Nachdem sie auf Null gesetzt wurden, müssen wir das Verhalten von N Kugeln/Partikeln untersuchen und ihre endgültige Position x nach steps Schritten bestimmen (siehe Seite) Detaillierung der Berechnung):

```

Position calculation

```

Sobald die Position x erhalten wurde, ist es möglich, die Box zu bestimmen, in der die Kugeln abgelegt werden muss, indem einfach der minimale Wert subtrahiert und durch die Breite jedes Containers dividiert wird:

cls = \displaystyle\frac{x-x_{min}}{\Delta x}

Mit diesem Wert können Sie den Container p[cls] finden und eine Kugeln oder ein Partikel hinzufügen. Der entsprechende Code wäre:

```

cls = round((x-xmin)/Dx); // find position in array

p[cls]++; // increment array p in posicion cls on one

```

wobei die round -Funktion (in Javascript Math.round) den Wert rundet, um einen Wert cls integer zu erhalten. Der Befehl p[cls]++ entspricht der Erhöhung des Elements p[cls] in einem.

ID:(9250, 0)



Weg schätzung

Gleichung

>Top, >Modell


Um den Weg zu simulieren, müssen wir in der Lage sein, die freien Weg gründet auf der Verteilung zufällig zu erzeugen

$p(x)dx = \displaystyle\frac{1}{\lambda}e^{-x/\lambda}dx$



Um dies zu tun, ist es ausreichend, die Wahrscheinlichkeit zu berechnen, einen Pfad x zu erreichen

P(x)=\displaystyle\int_0^x\displaystyle\frac{du}{\lambda}e^{-u/\lambda}=1-e^{-x/\lambda}

und lösche den Weg x

$x=-\lambda\ln(1-P)$

Wir erhalten eine Gleichung, die, wenn wir zufällig eine Zahl zwischen 0 und 1 erzeugen, einen Pfad x ergibt, der mit der Poisson-Verteilung erzeugt wird.

Damit können Sie eine Funktion definieren:

```

function exprob (len) {

     var ran = Math.random ();

     if (ran> 0) {

         return -len*Math.log(1-ran);

     } sonst {

         return len;

     }

}

```

in der wir die zufällige Erzeugung einer Zahl zwischen 0 und 1 betrachtet haben und die Möglichkeit in Betracht gezogen haben, dass der Wert Null ist, was zu Problemen führen würde, da der Logarithmus weniger unendlich wäre.

ID:(9255, 0)



Codestruktur (2)

Beschreibung

>Top


Um die endgültigen Positionen zu berechnen, müssen Sie:

- über mehrere Partikel iterieren (N)

- Für jede Partikelschätzung die gefahrenen Straßen

- Fügen Sie die Straßen hinzu, die die Ausbreitungsrichtungen abwechseln

In diesem Fall wird angenommen, dass das Teilchen bei jeder Kollision seine Ausbreitungsrichtung ändert. Zu Beginn fängt es immer an zu reisen und vergrößert den Abstand, der als positive Richtung definiert ist (dir = 1). Bei jedem Absturz wird das dir-Zeichen invertiert (dir = -dir oder dir = 1, dies wird dir = -1).

Für die Länge des Schritts wird die zuvor definierte Längenerzeugungsfunktion (exprob) aufgerufen, die mit der Adresse gewichtet wird, um die neue Position mit der vorherigen Position zu erhalten.

```

// particles (n de N)

for(n = 0;n < N;n++){

x = 0; // initial position

dir = 1; // initial direction

for(i = 0;i < sp;i++){

x = x + dir*exprob(len); // new position

dir = -dir; // change direction

}

// finish position calculation

// clasification of end position x in distribution p

}

```

ID:(9258, 0)



Simulador random walk paso variable

Php

>Top


Um die Verteilung der Positionen der Teilchen zu erhalten, kann folgende Iterationen durchgeführt werden

```

0. Position und Startadresse definiert

1. Partikel in eine Richtung bewegen in einem Abstand der durch die Zufallswahrscheinlichkeitsfunktion erzeugt wird,

2. Richtung umkehren

3. Fortsetzung 1

```

Angenommen, wir eine bestimmte Zeit und das sich das Teilchen mit einer konstanten Geschwindigkeit bewegt. Somit kam die Position nach einer Zeit oder einem zurück gelegten Weg bestimmt werden.

ID:(9100, 0)



Zusammenfassung

Beschreibung

>Top


Mit dem Simulator zu spielen, haben wir das bemerkt

```

1. Es ist nur sinnvoll, Verteilungen von möglichen Positionen zu betrachten

2. Die Verteilung basiert auf der Bestimmung von Positionen in diskreten Bereichen

3. Bereiche kleinerer Größe erfordern eine größere Anzahl von Iterationen

```

ID:(9101, 0)