Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
load '/media/sf_Sage/MyHead.sage'Head ('Kepler-Prolem')
Theoretische Physik mit SageWiSe 2013/14
- Kepler-Prolem -
t,r,phi,m,alpha,p_r,p_phi,E,H,r_a,r_p,T=var('t,r,phi,m,alpha,p_r,p_phi,E,H,r_a,r_p,T')V=function('V',r)phi_=function('phi_',t)
Tex('Ort: $\\vec r=$')
e0_1=matrix([[r*cos(phi)],[r*sin(phi)]]);e0_1
Tex('Impuls $\\vec p=$')
e0_2=matrix([[p_r],[p_phi]]);e0_2
print 'Potential:'e0_3=V==-alpha/r;e0_3
Potential:
Version 5.11
admin Toggle Home Published Log Settings Help
Report a Problem Sign outThe Sage
Notebook
evaluate
Ort: =r
( )r cos(ϕ)r sin(ϕ)
Impuls =p
( )pr
pϕ
V(r) = − α
print 'Parameter: Par='Par=m==1,alpha==1,p_phi==1,E==-8/100;Par
Parameter: Par=
ATU(1,'Metrik')
Aufgabenteil 1) Metrik
Tex('Jacobi-Matrix $J=({\partial x_i \over \partial q_j})=$')
e1_1=jacobian(e0_1,(r,phi));e1_1
Tex('Metrik $G=Jt\cdot J=$')
e1_2=(e1_1.transpose()*e1_1).simplify_trig();e1_2
In('Inverse Metrik','G_{inv}=G{-1}=')
e1_3=e1_2.inverse();e1_3
Tex('Impuls-Geschwindigkeits-Beziehung ${\partial \over \partial t} \\vec r= {\\vec p \over m}= {1 \over m}G_{inv} \cdot (p_r,p_\phi)t= $')
e1_4=e1_3*e0_2/m;e1_4
V(r) = − αr
(m = 1, α = 1, = 1, E = (− ))pϕ2
25
Jacobi-Matrix J = ( ) =∂xi
∂qj
( )cos(ϕ)sin(ϕ)
−r sin(ϕ)r cos(ϕ)
Metrik G = ⋅ J =Jt
( )10
0r2
Inverse Metrik = =Ginv G−1
( )10
01
r2
Impuls-Geschwindigkeits-Beziehung = = ⋅ ( , =∂∂t
r p m
1m
Ginv pr pϕ) t
⎛⎝pr ⎞⎠
ATU(2,'Energie, Impuls, Aphel, Perihel')
Aufgabenteil 2) Energie, Impuls, Aphel, Perihel
Tex('Hamilton-Funktion $H={\\vec p2 \over 2m}+V(r)={1 \over 2m}(p_r,p_\phi)\cdot G_{inv} \cdot (p_r,p_\phi)t+V(r)$')
s=1/(2*m)*(e0_2.column(0)*e1_3*e0_2)[0]+Ve2_1=H==s.subs(e0_3)e2_1
Tex('Erhaltung des Drehimpulses: ${d p_ \phi \over d t }={\partial H \phi \over \partial \phi }=$')
e2_1.rhs().diff(phi)
Tex('Impuls durch Auflösen der Hamilton-Funktion nach $p_r {\\text und} \ H \\to E$')
e2_2=(E==e2_1.rhs()).solve(p_r);e2_2
print 'Für Bewegung nach aussen:'e2_3=e2_2[1];e2_3
Für Bewegung nach aussen:
⎛⎝pr
mpϕ
mr2
⎞⎠
Hamilton-Funktion H = + V(r) = ( , ) ⋅ ⋅ ( , + V(r)p 2
2m1
2mpr pϕ Ginv pr pϕ) t
H = −+p2
r
p2ϕ
r 2
2 mαr
Erhaltung des Drehimpulses: = =dpϕ
dt
∂Hϕ
∂ϕ
0
Impuls durch Auflösen der Hamilton-Funktion nach und H → Epr
[ = − , = ]pr
2 Em +2 αmr−r2 p2ϕ√
rpr
2 Em +2 αmr−r2 p2ϕ√
r
=pr
2 Em +2 αmr−r2 p2ϕ√
r
Tex('Perihel und Aphel als Nullstellen des Radialimpulses $p_r=0 \\to (r_p,r_a)=$')
s=(e2_3.rhs()).solve(r)e2_4=s[0].rhs(),s[1].rhs();e2_4
ATU(3,'Effektives Potential')
Aufgabenteil 3) Effektives Potential
Tex('Effektives Potential $V_{eff}:=E|_{p_r=0},E,r_a,r_p$')
e3_1=e2_1.rhs().subs(p_r=0),E,r_a,r_p;e3_1
print 'Mit Parametern's1=SubsPar(e3_1[0])s2=SubsPar(E)s3=SubsPar(e2_4[0])s4=SubsPar(e2_4[1])e3_2=s1,s2,s3,s4;e3_2
Mit Parametern
s1=plot(e3_2[0],0,13,color='#ff0000',legend_label='$V_{eff}$')s2=plot(e3_2[1],0,13,color='#888800',legend_label='$E$')s3=list_plot([[e3_2[2],-.5],[e3_2[2],+.5]],plotjoined=True,legend_label='$r_a$',color='#00ff00')s4=list_plot([[e3_2[3],-.5],[e3_2[3],+.5]],plotjoined=True,legend_label='$r_b$',color='#0000ff')(s2+s3+s4+s1).show(ymin=-0.5,ymax=0.2,figsize=4,axes_labels=['Ort x',' '])
Perihel und Aphel als Nullstellen des Radialimpulses = 0 → ( , ) =pr rp ra
(− , − )αm+ +2 Emα2m2 p2ϕ√
2 Em
αm− +2 Emα2m2 p2ϕ√
2 Em
Effektives Potential := E , E, ,Veff | =0prra rp
(− + , E, , )αr
p2ϕ
2 mr2 ra rp
(− + , − , + , − + )1r
12 r2
225
54 21
−−√ 25
454 21
−−√ 25
4
ATU(4,'Kepler-Bahnen')
Aufgabenteil 4) Kepler-Bahnen
Tex('Wir berechnen das Integral $\phi=\int ({m \dot{r} \over p_r})\dot{\phi}dt=\int {p_\phi \over r2 p_r}dr$')
print 'Integrand:'e4_1=p_phi/r2/p_r;e4_1
Integrand:
print 'mit'e2_3
mit
print 'Integrand:'e4_2=e4_1.subs(e2_3);e4_2
Integrand:
print 'Integration'assume(p_phi>0,m>0,alpha>0,E>0,r>0)e4_3=phi==e4_2.integrate(r);e4_3
Integration
Wir berechnen das Integral ϕ = ∫ ( ) dt = ∫ drmrpr
ϕpϕ
r2 pr
pϕ
prr2
=pr
2 Em +2 αmr−r2 p2ϕ√
r
pϕ
r2 Em +2 αmr−r2 p2ϕ√
ϕ = −arcsin(− + )
print 'Auflösen nach r liefert die Keplerbahnen r(phi)'e4_4=sin(e4_3).solve(r)[0];e4_4
Auflösen nach r liefert die Keplerbahnen r(phi)
ATU(5,'Periode')
Aufgabenteil 5) Periode
Tex('Berechnung der Periode $T=2\\int_{t(r_p)}{t(r_a)}{m\dot{r} \over p_r} dt=2m \\int_{r_p}{r_a}{1 \over p_r} dr$')
print 'Integrand'e5_1=2*m/e2_3;e5_1
Integrand
print 'Integrand, untere Grenze, obere Grenze'e5_1.rhs(),e2_4[0],e2_4[1]
Integrand, untere Grenze, obere Grenze
print 'Integral'e5_2=T==e5_1.rhs().integral(r,e2_4[1],e2_4[0]).factor();e5_2
Integral
print 'mit Parametern aus Par:'s=e5_2.subs_expr(Par[0],Par[1],Par[2],Par[3]).real().simplify();e5_3=s,s.lhs()==s.rhs().n(digits=4)e5_3
mit Parametern aus Par:
ϕ = −arcsin(− + )2 αm
4 +8 Emα2m2 p2ϕ√
2 p2ϕ
r4 +8 Emα2m2 p2ϕ√
r =2 p2
ϕ
2 αm− sin(ϕ)4 +8 Emα2m2 p2ϕ√
Berechnung der Periode T = 2 dt = 2m dr∫ t( )ra
t( )rp
mrpr
∫ ra
rp
1pr
=2 mpr
2 mr
2 Em +2 αmr−r2 p2ϕ√
( , − , − )2 mr
2 Em +2 αmr−r2 p2ϕ√
αm+ +2 Emα2m2 p2ϕ√
2 Em
αm− +2 Emα2m2 p2ϕ√
2 Em
T =α(log(2 )−log(−2 ))2√ Em√ ( m+2 E )mα2 p2
ϕ√ ( m+2 E )mα2 p2
ϕ√
2 E2
(T = π, T = 98.17)1254
ATU(6,'Numerische Lösung')
Aufgabenteil 6) Numerische Lösung
Tex('Bewegungsgleichung ${d \phi_t \over d t}=-{\partial H \over \partial p_\phi}$')
e6_1=diff(phi_,t)==-diff(e2_1.rhs(),p_phi).subs(e4_4)e6_1
print 'mit Parametern'e6_2=e6_1.subs_expr(Par[0],Par[1],Par[2],Par[3]);e6_2
mit Parametern
print 'numerische Lösung mit'ran=srange(0,e5_3[1].rhs(),.2)Sol=desolve_odeint(e6_2.rhs(),[0],ran,phi)print 'Anzahl der Zeitschritte:'len(ran)
numerische Lösung mitAnzahl der Zeitschritte:
print 'Graphische Darstellung von phi(t)'t_phi=[[ran[k],Sol[k,0]] for k in range(len(ran))]e6_5=list_plot(t_phi,plotjoined=True,legend_label='$\phi (t)$',color='#0000ff').show(figsize=4);e6_5
Graphische Darstellung von phi(t)
Bewegungsgleichung = −dϕt
dt∂H
∂pϕ
D[0](ϕ)(t) = −(2 αm− sin(ϕ))4 +8 Emα2m2 p2
ϕ√2
4 mp3ϕ
D[0](ϕ)(t) = − 125 ( sin(ϕ) − 5)21
−−√
2
491
print 'r(phi) mit Parametern'e6_6=e4_4.subs_expr(Par[0],Par[1],Par[2],Par[3]);e6_6
r(phi) mit Parametern
print 'Bahnkurve'def XY(PHI): r=e6_6.rhs().subs_expr(phi==PHI) return [(r*sin(PHI)).n(digits=5),(r*cos(PHI)).n(digits=5)]#XY(1)print 'Punktepaare [x-y]='e6_7=[XY(Sol[n,0]) for n in range(len(ran))]e6_8=[e6_7[k] for k in range(0,len(e6_7)-1,5)];e6_8
BahnkurvePunktepaare [x-y]=
P1=list_plot(e6_7,plotjoined=True,color='#FF8800',thickness=1)P2=list_plot(e6_8,color='red')(P1+P2).show(figsize=4,aspect_ratio=1,title='Kepler-Bahn')
r = − 5sin(ϕ)−521√
[[0.00000, 1.0000], [−0.38264, −0.52459], [0.57845, −1.4166], [1.4300, −1.8150], [2.1641
ATU(7,'Animation der Kepler-Bewegung')
Aufgabenteil 7) Animation der Kepler-Bewegung
e6_8=[point(e6_7[n]) for n in range(0,len(ran),4)]ani=animate(e6_8,xmin=-1,ymin=-2.5,xmax=12,ymax=2.5,figsize=3,aspect_ratio=2);ani
#ani.show(iterations=3,delay=5)
#ani.save('/media/sf_Sage/Planet_ani.gif',show_path=True)
Animation with 123 frames