The S7 retrograde initial condition case is given by these set of parameters, which will also be the same for the direct case. The $X$ and $Y$ are the Cartesian coordinates, in kiloparsecs, of the disrupting galaxy $S$ at the apex of the parabola while $U$ and $V$ are the velocity components. With $X = 0$, the $Y$ position of $S$ should be around $25 \: kpc$. The eccentricity of the condition is $1$, which indicates the path will be parabolic.
Type | Position $X$ | Position $Y$ | Velocity $U$ | Velocity $V$ | Eccentricity $\epsilon_s$ | Mass ratio $S/M$ |
---|---|---|---|---|---|---|
S7 | 0 | 1 | > 0 | 0 | 1 | 1 |
To calculate and solve the equations for this case wasn't too hard. I only needed to modify the original parabolic function to satisfy the conditions set out.
In [4]:
direct_r1, direct_r2, retro_r1, retro_r2, R1, R2, vR1, vR2 = S7_ode_solutions(t,tsteps,M,S,gamma)
In [1]:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
import timeit
from scipy.integrate import odeint
from IPython.html.widgets import interact, fixed
from moviepy.video.io.bindings import mplfig_to_npimage
import moviepy.editor as mpy
In [2]:
gamma = 4.4983169634398597e4
tsteps = 1000
t = np.linspace(0,1.5,tsteps)
M = 10
S = 10
whichplot='retro'
In [3]:
from derivsfunc import *
from initialconditions import *
from S7_icsandsolutions import *
from S7static import *
from S7retromoviemaker import *;
To confirm that my solution of the conditions indicated in the above table are correct, or close to correct, here are my results. As we can see, the positions and velocities are either spot on or relatively close to the requested value.
In [5]:
print("X position: %f kpc" % (R1[192]))
print("Y position: %f kpc" % (R2[192]))
print("U velocity: %f kpc/yr" % (vR1[192]))
print("V velocity: %f kpc/yr" % (vR2[192]))
We can see the results of this case are similar to the base case, but with $S$ moving mainly in the $x$ direction.
In [6]:
S7_plot_static(t,whichplot,tsteps,M,S,gamma)
In [7]:
S7retro_animation.ipython_display(fps=60)
Out[7]: