Ich versuche grade ein wenig Lothars Feinstrukturkonstante in Java nachzuvollziehen. Leider scheitere ich da grade ein wenig an der Vorhersage einer MB-Verteilung. Ich habe eine Geschwindigkeitsvorgabe, mit welcher jede Kugel im simulierten Gas initialisiert wird. Diese Geschwindigkeit nehme ich für die Berechnung der Intervalle schon mal pauschal mal 4, weil sich gezeigt hat, dass sich Geschwindigkeiten bei der Verteilung auch schon mal in diesen Bereich verirren. Diesen Geschwindigkeitsbetrag teile ich dann durch die Anzahl der Intervalle und erhalte so die Schrittweite für die Vorhersage. Wenn ich jetzt jedoch eine der beiden Formeln von Wikipedia
oder
für die Wahrscheinlichkeiten der Verteilung hernehme kommt nur Murks raus. Ich denke mal, so ganz verstehe ich die MB-Verteilung nicht. Kann mir da mal jemand auf die Sprünge helfen? Sehr angenehm wäre Pseudo- oder besser noch Java-Code. Benötigt werden die Wahrscheinlichkeitswerte der Geschwindigkeiten in Prozent pro Intervall. Hier schon mal mein bisheriger Ansatz.
- Code: Alles auswählen
private static final double fourPi = 4.0 * PI;
private static final double boltzmann = 1.3806488e-23;// Boltzmann-Konstante
private static final double twoBoltzmann = 2.0 * boltzmann;
private static final double neutronMass = 1.674927351e-27;// Neutronenmasse
private double speed, speedSteps;
private double[] maxwell;
private int[] speedStats;
public synchronized double init(Ball[] balls, int numColumns, double speed) {
this.speed = speed;
maxwell = new double[numColumns];
speedStats = new int[numColumns];
speedSteps = speed * 4.0 / numColumns;
for (int n = 0; n < speedStats.length; n++) {
speed = n * speedSteps;
speed *= speed;
maxwell[n] = fourPi * pow(neutronMass / (twoBoltzmann*PI), 1.5)
* speed * exp(-speed * neutronMass / twoBoltzmann);
}
return init(balls);
}
Wenn man die Simulation laufen lässt, erkennt man zumindest schon mal, dass sich die Geschwindigkeiten korrekt MB-verteilen, ohne dass man da irgendwo eine Konstante reinmogelt - einfach nur per Stoßtransformation. Ich hätte da aber gerne eine Vorschau von.
MfG
Spacerat
Edit: Link zum Simulator: https://www.dropbox.com/s/so1v9m1cn932h ... 1.jar?dl=0
Letzte Änderung 26.05.2015 10:13