# Kapitel 5_e:
# Das ballistische Pendel
# © 2015  Friedrich U. Mathiak, 
# mathiak@mechanik-info.de
# 
> restart: with(LinearAlgebra): with(plots): 
# 
# 
# Zur Auswertung der  Beziehungen im Kap. 5.4 von TM3 zum obigen ballistischen Pendel wird folgt Prozedur bereitgestellt:
> Proc_Calc_26:=proc(KM1::list,KM2::list,h,s,epsilon)
> #----------------------------------------------------------------------------
> # Eingabe: 
> #     KM1[1]: Masse m1 des Körpers 1
> #     KM1[2]: Geschwindigkeit v11 des Körpers 1 vor dem Stoß
> #     KM2[1]: Masse m2 des Körpers 2
> #     KM2[2]: Winkelgeschwindigkeit omega2 des Körpers 2 vor dem Stoß
> #     KM2[3]: Massenträgheitsmoment des Körpers 2 bezogen auf den Drehpunkt A
> #          h: Abstand des Kontaktpunktes beier Körper vom Drehpunkt A
> #          s: Abstand des Schwerpunktes des Körpers 2 vom Drehpunkt A
> #    epsilon: Stoßzahl (0 <= epsilon <= 1)
> # Ausgabe:
> #        c11: Geschwindigkeit des Körpers 1 nach dem Stoß
> #     Omega2: Winkelgeschwindigkeit des Körpers 2 nach dem Stoß
> #         J1: Kraftstoß bezogen auf den Kontaktpunkt beider Körper
> #         JA: Vom Lager A aufzunehmender Kraftstoß
> #         hr: Stoßmittelpunkt
> #         EV: Kinetische Energie beider Körper vor  dem Stoß
> #         EN: Kinetische Energie beider Körper nach dem Stoß
> #         DE: Energieverlust
> #-----------------------------------------------------------------------------
> global c11,Omega2,J1,JA,hr,EV,EN,DE;
> description "Der gerade exzentrische Stoß eines Körpers 1 auf einen in A drehbar gelagerten Körper 2";
> c11:=(epsilon*h*KM2[3]*KM2[2]+h^2*KM1[1]*KM1[2]-epsilon*KM2[3]*KM1[2]+h*KM2[3]*KM2[2])/(h^2*KM1[1]+KM2[3]);
> Omega2:=-(epsilon*h^2*KM1[1]*KM2[2]-epsilon*h*KM1[1]*KM1[2]-h*KM1[1]*KM1[2]-KM2[3]*KM2[2])/(h^2*KM1[1]+KM2[3]);
> J1:=-KM1[1]*KM2[3]*(epsilon*h*KM2[2]-epsilon*KM1[2]+h*KM2[2]-KM1[2])/(h^2*KM1[1]+KM2[3]);
> JA:= KM1[1]*(epsilon*h*KM2[2]-epsilon*KM1[2]+h*KM2[2]-KM1[2])*(h*s*KM2[1]-KM2[3])/(h^2*KM1[1]+KM2[3]);
> hr:= solve(JA,h);
> EV:=1/2*(KM1[1]* KM1[2]^2 + KM2[3]*KM2[2]^2);    #Energie  vor dem Stoß
> EN:=1/2*(KM1[1]*    c11^2 + KM2[3]*Omega2^2);    #Energie nach dem Stoß
> DE:=simplify(EV - EN);                           #Energieverlust
> #Ausgabe der Ergebnisse
> print(`Geschwindigkeit c11 = `,c11);
> print(`Winkelgeschwindigkeit Omega2 = `,Omega2);
> print(`Auf beide Körper wirkender Kraftstoß im Kontaktpunkt = `,J1);
> print(`Vom Lager A aufzunehmender Kraftstoß`,JA);
> print(`Stoßmittelpunkt hr =`,hr);
> print(`Energie vor  dem Stoß = `,simplify(EV));
> print(`Energie nach dem Stoß = `,simplify(EN));
> print(`Energieverlust = `,DE);
> end proc:
> M1:=[m[1],v[11]];M2:=[m[2],omega[2],Theta[A]];
> Proc_Calc_26(M1,M2,h,s,epsilon);
# Insbesondere gilt für µ = 0
> M1:=[m[1],v[11]];M2:=[m[2],0,Theta[A]];
> Proc_Calc_26(M1,M2,h,s,epsilon);
# Beispiel 5-8:
# 
# In der obigen Abbildung sind zwei Ausführungen eines ballistischen Pendels  (engl. ballistic pendulum) skizziert, die von einem Körper mit der Masse m1 und der Geschwindigkeit v11 getroffen werden. Der dabei gemessene maximale Ausschlagwinkel ist ±. Das Massenträgheitsmoment des Pendels bezüglich des Drehpunktes A ist jeweils ¸A. Gesucht wird die Auftreffgeschwindigkeit v11 der Masse m1 für beide Systeme. 
# System 1 (physisches Pendel)
> v[11]:=(Theta[A]+m[1]*h^2)/((1+epsilon)*Theta[A]*m[1]*h)*sqrt(2*Theta[A]*m[2]*g*s*(1-cos(alpha)));
> Omega[2]:=sqrt(2*m[2]*g*s*(1-cos(alpha))/Theta[A]);
> J[A]:=simplify(m[1]*v[11]*(1-m[2]*s*h/Theta[A])/(1+m[1]*h^2/Theta[A]));
# System 2 (mathematisches Pendel)
> h:=l; s:=l; Theta[A]:=m[2]*l^2;
> simplify(v[11],symbolic) assuming real;
> serie_v[11]:=series(%,alpha,2);
> polynom_v[11]:= convert(%, polynom);
> simplify(Omega[2]);
> J[A];
# Wir rechnen ein Zahlenbeispiel:
> epsilon:=0; m[1]:=1/100.*Unit(kilogram[SI]); m[2]:=5.0*Unit(kilogram[SI]); l:=1.0*Unit(meter[SI]); alpha:=Pi/12; g:=9.81*Unit(meter[SI])/Unit(second[SI])/Unit(second[SI]);
> evalf(simplify(v[11])); evalf(simplify(Omega[2]));
> 
;
# 
