Skip to content

Instantly share code, notes, and snippets.

View BrianWeinstein's full-sized avatar

Brian Weinstein BrianWeinstein

View GitHub Profile
m = 1; xd = 1; yd = 2; zd = 3; Ix = (1/12)*m*(yd^2 + zd^2);
Iy = (1/12)*m*(zd^2 + xd^2); Iz = (1/12)*m*(xd^2 + yd^2);
soln =
NDSolve[
{Ix*Derivative[2][\[Theta]x][t] == (Iy - Iz)*Derivative[1][\[Theta]y][t]*Derivative[1][\[Theta]z][t],
Iy*Derivative[2][\[Theta]y][t] == (Iz - Ix)*Derivative[1][\[Theta]z][t]*Derivative[1][\[Theta]x][t],
Iz*Derivative[2][\[Theta]z][t] == (Ix - Iy)*Derivative[1][\[Theta]x][t]*Derivative[1][\[Theta]y][t],
\[Theta]x[0] == 0, \[Theta]y[0] == 0, \[Theta]z[0] == 3*(Pi/2), Derivative[1][\[Theta]x][0] == 0,
Derivative[1][\[Theta]y][0] == 1, Derivative[1][\[Theta]z][0] == 0.0005},
Ueff[x_, y_, m1_, x1_, y1_, m2_, x2_, y2_] :=
-((G*m1)/Sqrt[(x - x1)^2 + (y - y1)^2]) -
(G*m2)/Sqrt[(x - x2)^2 + (y - y2)^2] - (G*(m1 + m2)*(x^2 + y^2))/(2*Sqrt[(x1 - x2)^2 + (y1 - y2)^2]^3)
G = 1; m1 = 1; x1 = -1.25; y1 = 0; m2 = 0.45; x2 = 1.25; y2 = 0;
L1 = {FindRoot[D[Ueff[x, 0, m1, x1, y1, m2, x2, y2], x], {x, 0.5}][[1,2]], 0};
L2 = {FindRoot[D[Ueff[x, 0, m1, x1, y1, m2, x2, y2], x], {x, 1.5}][[1,2]], 0};
L3 = {FindRoot[D[Ueff[x, 0, m1, x1, y1, m2, x2, y2], x], {x, -1.5}][[1,2]], 0};
L4 = FindRoot[{D[Ueff[x, y, m1, x1, y1, m2, x2, y2], x] == 0,
vs = 1; \[Lambda] = 25;
dots[t_, vx_] := Flatten[Table[{vx*tt + (vs*(t - tt))*Cos[arg],
(vs*(t - tt))*Sin[arg]}, {tt, 0, t, vs*\[Lambda]},
{arg, 0, 2*Pi, 0.1}], 1]
(* To scale the SmoothDensityHistogram colors, use arg step
size .5/(t -tt/1.1) instead of 0.1 *)
wavefront[t_, vx_] := Graphics[{{Purple, Thick,
Table[Circle[{vx*tt, 0}, vs*(t - tt)],
x1[t_] := R1*Sin[\[Theta]1[t]]
y1[t_] := (-R1)*Cos[\[Theta]1[t]]
x2[t_] := R1*Sin[\[Theta]1[t]] + R2*Sin[\[Theta]2[t]]
y2[t_] := (-R1)*Cos[\[Theta]1[t]] - R2*Cos[\[Theta]2[t]]
v1[t_] := Sqrt[D[x1[t], t]^2 + D[y1[t], t]^2]
v2[t_] := Sqrt[D[x2[t], t]^2 + D[y2[t], t]^2]
T1[t_] := (1/2)*m1*v1[t]^2
T2[t_] := (1/2)*m2*v2[t]^2
U[t_] := m1*g*y1[t] + m2*g*y2[t]
G = 1;
time = 20;
spScale = 8;
mA = 1.3;
xA0 = 0;
yA0 = 0;
zA0 = 0;
vxA0 = 0;
vyA0 = 0;