Wie wird bei der Simulation einer Langevin-Gleichung mit einer vertikalen Potentialbarriere umgegangen?
Ich habe die Zeitentwicklung der Position überdämpft , beschrieben von
Wo ist das Potenzial, die Schleppe und das thermische Rauschen. Wenn ich eine bestimmte Trajektorie simulieren möchte, diskretisiere ich die Zeit in kleinen endlichen Schritten , und ich verwende einfach Iterationen mit
Wo ist der Diffusionskoeffizient, und eine Zufallszahl.
Nun stellen Sie sich vor hat eine unendlich hohe Barriere, deren Neigung eingestellt (und vertikal gemacht) werden kann. Ich habe mich gefragt: Wenn das Teilchen zufällig auf die Barriere trifft, dort der Wert der Ableitung kann unendlich groß werden. In der Simulation bedeutet dies das kann durch den Begriff ernsthaft "weggekickt" werden . Es scheint unkörperlich.
Ich denke, die Reduzierung used hilft, aber gibt es eine Standardmethode, um damit umzugehen? Oder lassen sich zu viele vertikale Barrieren nicht simulieren?
Eine unendliche Potentialbarriere spiegelt die Tatsache wider, dass das Teilchen nicht in einen bestimmten Raumbereich eindringen kann. Das Lösen der Langevin-Gleichung mit einer solchen Barriere bedeutet, dass Sie einen Weg finden müssen, um festzustellen, dass das Teilchen nicht in den Bereich eindringen kann, aber Sie müssen auch beschreiben, was an der Grenze passiert, da mehrere Szenarien möglich sind:
das Teilchen stoppt, wenn es die Grenze erreicht (Absorption)
Das Teilchen wird an der Grenze mit entgegengesetzter Geschwindigkeit reflektiert
das Teilchen stoppt während einer Wartezeit (bestimmt oder zufällig), bevor Sie sich zurückbewegen
das Teilchen wird mit einer Geschwindigkeitsänderung reflektiert
das Partikel folgt jedem Szenario 1.-4. mit gewissen Wahrscheinlichkeiten
Das Verhalten an der Grenze ist extrem wichtig.
Wenn Sie eine numerische Simulation ausführen
ist einfach mit einem Positionstest zu codieren
kann leicht in einer Dimension nachgeahmt werden, indem die Domäne erweitert und gefaltet wird. Zum Beispiel, wenn Sie eine Barriere an haben , erweitern Sie die Domäne auf und addieren Sie dann die Anwesenheitswahrscheinlichkeiten bei Und . Die Geschwindigkeitsverteilung erhält man natürlich durch Subtraktion.
erhält man durch Addition der Wartezeit zur Simulationszeit mit dem Scenario 2. Trick.
verwendet auch Szenario 2. Trick, die Geschwindigkeit wird beim Überqueren der Grenze wie in Szenario 3 modifiziert.
ist auch ziemlich einfach in einer numerischen Simulation unter Verwendung der obigen Techniken zu codieren.
Ich hoffe, es hilft!
Hier ist vielleicht keine vollständige Antwort, aber es kann Ihnen (und mir) einige Hinweise und vielleicht eine alternative Lösung geben.
Das Euler-Schema sollte nicht funktionieren, selbst für die deterministische Gleichung, bei der das Rauschen auf Null gesetzt wird. Dies liegt daran, dass man in Eulers Schema immer verlangt klein, damit die ist klein. Wenn groß ist, stößt man auf die numerische Instabilität der Lösung. Dieses Problem ist für ODEs bekannt (siehe z. B. Numerical Recipes, Abschnitt „Stiff systems“).
Ich denke, eine Möglichkeit, dies zu vermeiden, ist die Verwendung einer diskretisierten Raumsimulation. Hier zerlegen Sie den Raum in diskrete Schritte und simulieren den diskreten Markov-Prozess mit Übergangsraten zwischen benachbarten Standorten proportional zum Potentialunterschied zwischen den Standorten.
Eine weitere Option ist die Verwendung einer unterdämpften Simulation. Beachten Sie, dass das Problem auftritt, weil Ihre überdämpfte Gleichung erster Ordnung ist. [Mir ist nicht klar, dass eine überdämpfte Approximation für eine so unendlich starke Kraft gültig ist; obwohl die überdämpfte Gleichung mathematisch gut definiert zu sein scheint.] Für die unterdämpfte Gleichung können Sie simulieren reibungslos, während springt immer dann, wenn das Teilchen die Stufe des Potentials überschreitet.
ehrliche_vivere
scrx2
ehrliche_vivere
NDSolve
die mit diesem Problem umgehen und divergierende Ergebnisse verhindern können (solange Sie ein Mathematica-Flüsterer sind ) ...cnguyen