![]() |
Brauche Hilfe bei Elektronenflug Simulation
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
habe ein Programm geschrieben, was den Flug einer Probeladung zwischen 2 Ladungen simuliert. Leider funktioniert dieses nur in bestimmten Quadranten und ich weiß nicht wie ich dies in den anderen lösen soll. Ich hoffe ihr könnt mir helfen. Im Anhang befindet sich das Programm. Mfg Toni |
Re: Brauche Hilfe bei Elektronenflug Simulation
Was bewirkt denn bitte schön die While Schleife:
Delphi-Quellcode:
Elektronen hören nicht auf zu fliegen, wenn eine if-Bedingung erfüllt ist.
While ((round(probex)) < q2x) do
|
Re: Brauche Hilfe bei Elektronenflug Simulation
Deinem Code kann ich nichts entnehmen. Wenn du nicht ein paar Mal wenigstens Kommentare benutzt oder sagst, was deine Variablen bedeuten wirds schwer, dir zu helfen.
Kannst du vielleicht mal die Grundidee deiner Simulation erläutern und sagen, was falsch läuft? |
Re: Brauche Hilfe bei Elektronenflug Simulation
Ich kann auch nur schwer nachvollziehen, was er rechnet. Meines Achtens ist sogar noch ein grober Denkfehler drin, wenn ichs richtig geblickt habe.
Sinn der Sache ist wohl: 2 Punktladungen Q1 und Q2 sindgegeben. Beide Ladungen erzugen ein elektrisches Feld E1 und E2. Das sind aber Vektorfelder, und dein erzeugendes Feld E=E1+E2 (vektoriell, versteht sich). Das find ich aber so nicht im Code. Dort steht Eges als Skalar, d.h. die Richtung des Feldes geht verloren. Da aber eine Probeladung q bewegt wird, so wirkt eine Kraft auf die Ladung F=qE, auch wieder vektoriell zu betrachten. Diese Information geht, wenn ich das richtig interpretiert habe, in der Simulation komplett unter. Aus Kraft F=ma (Masse mal Beschleunigung) kann dann im prinzip die neue Position bestimmt werden (auch wieder vektoriell): x = 1/2*a*t^2 + v0*t +x0 v0 und x0 wiederum Vektoren... |
Re: Brauche Hilfe bei Elektronenflug Simulation
So richtig Blick ich durch die untere AW noch nicht durch.
Wie kann ich das vektoriell umsetzen? In meinem Programm oben wird ein Kräfteparallelogramm aufgestellt udn über zig Winkelsätze + sinus und co alles möglich berechnet. Eure Lösung hört sich sehr plausibel an, allerdings weiß ich nicht wie ich das umsetzen kann. Nochmal zum Programm selber: 2 Ladungen unterschiedlicher Ladung fix auf der Oberfläche. Eine Probeladung soll von einer zur anderen Seite fliegen. Das isses eigentlich schon. Mfg Toni |
Re: Brauche Hilfe bei Elektronenflug Simulation
Zitat:
Schreib mal deine Idee und deinen Weg auf und warum das Problem falsch gelöst wird. Mit einem einzigen Parallelogramm wirst du da nicht hinkommen, da an jedem Ort eine andere Kraft auf das Teilchen wirkt. In deinem Programm vermiss ich auf jeden Fall das 'Epsilon 0' und ohne dass solltest du nicht in der Lage sein, die elektrische Kraft auf die Ladung berechnen zu können. Und welche Variable beschreibt die Masse deiner Probeladung? Und was beschreiben all die Variablen? |
Re: Brauche Hilfe bei Elektronenflug Simulation
Kannst du mal ne Zeichnung einscannen von deinen Parallelogrammen. Irgendwie blick ich aus den Formeln nicht so eindeutig was du da rechnest. Ich bin immer noch der Meinung, um die Bewegung zu simulieren, wirst du früher oder später auf die Gleichung x = 1/2*a*t^2 + v0*t + x0
|
Re: Brauche Hilfe bei Elektronenflug Simulation
[quote="Toxman"]
Zitat:
Aber das Problem das bleibt, ist die beschleunigte Bewegung. Um die kommst du nicht rum |
Re: Brauche Hilfe bei Elektronenflug Simulation
Zitat:
// Add: Mein Vorschlag: Mach es so, dass du das Teilchen immer ein paar ns mit konstanter Kraft fliegen lässt. Danach bestimmst du erneut die elektrische Kraft auf das Teilchen und lässt es so wieder einen Schritt weiterfliegen. Damit solltest du auf eine gute Näherung kommen können. |
Re: Brauche Hilfe bei Elektronenflug Simulation
Normieren heisst auf eins setzen, und spielt aber für dein Problem keine Rolle. Machen die Theoretiker gern, und arbeiten dann nicht im SI System, sondern im cgs-System. Wenn du bischen über den Ursprung von eps_0 suchst, wirst du feststellen, daß der in die Lichtgeschwindigkeit eingeht, und die normieren die Theoretiker auf 1.
Aber zurück zum Topic |
Re: Brauche Hilfe bei Elektronenflug Simulation
Liste der Anhänge anzeigen (Anzahl: 1)
Hier mal das Parallelogramm:
Dürfte enorm helfen das Ganze zu verstehen.... |
Re: Brauche Hilfe bei Elektronenflug Simulation
Also diese Zeilen machen mir aber arg Kopfzerbrechen:
Delphi-Quellcode:
Du hast dir Eges ausgerechnet, rein skalar. Ich geh jetzt mal von aus dass bis dahin alles stimmt, hab deine Formeln nicht alle im Detail nachvollzogen.
Deltabogen := pi/2+(ArcSin((sin(pi-Gammabogen)*E1)/Eges)) - Betabogen;
Delta := (Deltabogen * 180) / pi; deltay := -round(sin(Deltabogen)*10); deltax := round(sin((pi/2)-Deltabogen)*10); Edit.text := FloatToStr(Delta); x := probex + deltax; y := probey + deltay; Du hast dir also DeltaBogen ausgerechnet. Gut. Aber was soll nun das was folgt:
Delphi-Quellcode:
sin(Delta) entspricht der Projektion von E_ges (der Länge eins) auf die E1 Achse. Und sin((pi/2)-Deltabogen)=cos(Delta) entspricht der Projektion auf die E2 Achse. E_ges ist aber nicht eins.
deltay := -round(sin(Deltabogen)*10);
deltax := round(sin((pi/2)-Deltabogen)*10); Du kannst doch aber jetzt nicht einfach hingehen, und deine neue x- und y-Position errechnen, indem du das 10-fache der Projektion auf Deltax und Deltay addierst. So kriegst du eine unbeschleunigte Bewegung, und das ist definitiv falsch, da ja eine Kraft auf deine Probeladung wirkt (F_ges=q*E_ges), und somit eine Beschleunigung. |
Re: Brauche Hilfe bei Elektronenflug Simulation
Was ich noch grundsätzlich nicht verstehe, ist warum sich das Teilchen nicht einfach entlang der Verbinsungslinie bewegt.
Ich hab keine Variable gesehen, die man als Anfangsgeschwindigkeit in eine Richtung interpretieren könnte. |
Re: Brauche Hilfe bei Elektronenflug Simulation
Achtu, so langsam Blick ich garnicht mehr durch.
Ist denn die Beschleunigung für das reine Bild von großer Bedeutung? Es sollen quasi nur die Feldlinien am Ende dargestellt werden. In meinen Tests funktionierte das Programm ja auch für die Bereich, wo die Probeladung hinter Q1 war. Ich habe das Programm mit nem Kumpel geschrieben, versuche ihn gerad zu kontaktieren, vielleicht kommt dann mehr Klarheit in die Sache. @ Toxman: Das Probeteilchen dient ja nur dazu die Feldlinien zu zeichnen. Wieso das soll das Anfangsgeschwindigkeit haben oder Ähnliches? Das wird doch einfach nur von Q1 beispielsweise abgestoßen und von Q2 angezogen. |
Re: Brauche Hilfe bei Elektronenflug Simulation
Zitat:
Da müsste es doch entlang der Verbindungslinie fliegen. Wie ist denn die genaue Startposition des Teilchens? |
Re: Brauche Hilfe bei Elektronenflug Simulation
Einerseits
Zitat:
Zitat:
|
Re: Brauche Hilfe bei Elektronenflug Simulation
Es sollen durch verschieden positionierte Testladungen ein Feldlinienbild erzeugt werden.
Quasi den Verlauf, wie eine Ladung fliegen würde. Geschwindigkeit und co sind dabei egal. @ Toxman: Position der Probeladung ist im programm über probey und probex definiert und liegt nicht direkt auf Q1, sonst hättest du recht ;) |
Re: Brauche Hilfe bei Elektronenflug Simulation
Zitat:
|
Re: Brauche Hilfe bei Elektronenflug Simulation
Hab einen kreis um die Punktladung Q1 gezogen und auf diesen will ich die Anfangspunkte setzen.
|
Re: Brauche Hilfe bei Elektronenflug Simulation
Liste der Anhänge anzeigen (Anzahl: 1)
So... Also da ich in meiner Lehrertätigkeit irgendwann sicherlich auf dein Problem eingehen muss, hab ich mal bischen geTeXt und mal was erstellt, wie ich das Problem lösen würde, und das Ganze ohne sin und cos und tan, sondern lediglich mittels Vektorrechnung.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:33 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz