|
Autor |
Schrödingergleichung mit (harm.) Potential |
|
Neodym342
Ehemals Aktiv  Dabei seit: 31.10.2015 Mitteilungen: 145
 | Themenstart: 2017-07-04
|
Hallo,
meine Aufgabe ist es die Schrödingergleichung
http://matheplanet.com/matheplanet/nuke/html/uploads/b/44146_schr_d.PNG
mit dem Potential
http://matheplanet.com/matheplanet/nuke/html/uploads/b/44146_1_potential.PNG
numerisch zu lösen bzw. die ersten 5 Eigenfunktionen zu finden mittels ode45. Wobei $\alpha=1$ oder $\alpha=2$. Weiterhin gilt $\psi(-R)=0$ und $\psi'(-R)=1e-10 $. Und ich soll jetzt erstmal $\psi$ für den ganzen Bereich von -R bis R finden.
Dafür dachte ich mir wandel ich die DGL 2. Ordnung erstmal in DGL 1. Ordnung um.
$\psi_1'=\psi_2$
$\psi_2'=\frac{2m}{hbar^2}(V(x)-E)\psi_1$
Ich bin jetzt aber irgendwie nicht sicher, wie ich diese DGL lösen soll, weil V(x) ja auch von x abhängt. Mein Versuch, der nicht funktioniert:
\sourceon Matlab
k = (2*pi)^2; %federkonstante
m = 1; %masse
alpha=2; %harm. Oszillator
N=600;
R=3; %breite
hbar = 1;
E=3*ones(1,600);
x=linspace(-R,R,N);
V = k/gamma(alpha+1)*abs(x).^alpha; %potential
R = 3;
psi0=[0;1e-10]; %Anfangsbedingungen
f=@(t,y) [y(2); 2*m/hbar^2*(V-E)*y(1)]; %DGL
t = [-3 3]; %geht das mit negativen Werten?
[tOut,yOut] = ode45(f,t,psi0); %DGL lösen
\sourceoff
Dabei sollen wir erst einen Wert für E wählen und dann Nullstelle von $\psi(+R)=f(E)$ finden. Wie man sieht habe ich versucht V für x zwischen -R und R zu berechnen und dann so in die DGL einzubauen. Wäre froh, wenn jemand eine Idee hat.
Grüße
EDIT: Konnte es wahrscheinlich lösen, werde es dann hier posten.
|
Profil
|
Neodym342
Ehemals Aktiv  Dabei seit: 31.10.2015 Mitteilungen: 145
 | Beitrag No.1, vom Themenstarter, eingetragen 2017-07-05
|
Also habe die Aufgabe gestern etwas falsch interpretiert.
Das entspricht ja der "shooting Method".
\sourceon Matlab
function [yOut,xOut]=findPsi0(E)
psi0=[0;1e-10];
x = [-R R];
f=@(x,y) [y(2); 2*m/hbar^2*(k/gamma(alpha+1)*abs(x)^alpha-E)*y(1)];
[xOut,yOut] = ode45(f,x,psi0,options);
end
\sourceoff
Man muss diese Funktion für $y(+R)=f(E)$ minimieren, was dann leicht ist mit dem Befehl fzero. (Also das ist jetzt nicht der ganze Code.)
Falls mal jmd drüberstolpert weiß er jetzt weiter :-D
|
Profil
|
Neodym342 hat selbst das Ok-Häkchen gesetzt. |
|
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen. Lesen Sie die
Nutzungsbedingungen,
die Distanzierung,
die Datenschutzerklärung und das Impressum.
[Seitenanfang]
|