Initial commit
This commit is contained in:
commit
8280a54dbf
8 changed files with 294 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
BTs
|
||||
35
distance.py
Normal file
35
distance.py
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
import math
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--density", "-d")
|
||||
|
||||
args=parser.parse_args()
|
||||
|
||||
columns = ["ID", "idx", "Mass", "Radius", "X", "Y", "Z", "vX", "vY", "vZ", "sX", "sY", "sZ", "Colour"]
|
||||
distances = []
|
||||
time = []
|
||||
|
||||
for i in range (1,401):
|
||||
num = str(i).rjust(5, '0')
|
||||
file = "BTs/"+str(args.density)+"/boom."+num+".bt"
|
||||
data = pd.read_csv(file, sep=' ', names=columns)
|
||||
xPosAU = data["X"].mean()
|
||||
xPos = xPosAU*1.5e8
|
||||
yPosAU = data["Y"].mean()
|
||||
yPos = xPosAU*1.5e8
|
||||
zPosAU = data["Z"].mean()
|
||||
zPos = xPosAU*1.5e8
|
||||
distance = math.sqrt((xPos**2)+(yPos**2)+(zPos**2))
|
||||
time.append(i)
|
||||
distances.append(distance)
|
||||
|
||||
print(min(distances))
|
||||
|
||||
ax=plt.axes()
|
||||
# ax.set_yscale("log")
|
||||
ax.plot(time, distances)
|
||||
plt.show()
|
||||
49
distanceVDensity.py
Normal file
49
distanceVDensity.py
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
import math
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
columns = ["ID", "idx", "Mass", "Radius", "X", "Y", "Z", "vX", "vY", "vZ", "sX", "sY", "sZ", "Colour"]
|
||||
deviations = []
|
||||
distances = []
|
||||
time = []
|
||||
densities = ["300","350","400","450","500","550","600","650","700"]
|
||||
breakUpDistances = []
|
||||
|
||||
for density in densities:
|
||||
for i in range (1,320):
|
||||
num = str(i).rjust(5, '0')
|
||||
file = "BTs/High-Res-"+density+"/boom."+num+".bt"
|
||||
data = pd.read_csv(file, sep=' ', names=columns)
|
||||
data["X"] = data["X"]*1.5e8
|
||||
data["Y"] = data["Y"]*1.5e8
|
||||
data["Z"] = data["Z"]*1.5e8
|
||||
data["X2"] = data["X"]**2
|
||||
data["Y2"] = data["Y"]**2
|
||||
data["Z2"] = data["Z"]**2
|
||||
data["distance2"] = data["X2"]+data["Y2"]+data["Z2"]
|
||||
data["distance"] = data["distance2"]**0.5
|
||||
deviation = data["distance"].std()
|
||||
distance = data["distance"].mean()
|
||||
time.append(i)
|
||||
deviations.append(deviation)
|
||||
distances.append(distance)
|
||||
|
||||
|
||||
del time[-1]
|
||||
del time[-1]
|
||||
del distances[-1]
|
||||
del distances[-1]
|
||||
firstDeriv=np.diff(deviations)
|
||||
secondDeriv=np.diff(firstDeriv)
|
||||
|
||||
max_index=np.argmax(secondDeriv)
|
||||
|
||||
print(distances[max_index])
|
||||
breakUpDistances.append(distances[max_index])
|
||||
|
||||
ax=plt.axes()
|
||||
# ax.set_yscale("log")
|
||||
ax.plot(densities, breakUpDistances)
|
||||
plt.show()
|
||||
|
||||
53
energy.py
Normal file
53
energy.py
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
import math
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--density", "-d")
|
||||
|
||||
args=parser.parse_args()
|
||||
|
||||
columns = ["ID", "idx", "Mass", "Radius", "X", "Y", "Z", "vX", "vY", "vZ", "sX", "sY", "sZ", "Colour"]
|
||||
Kenergies = []
|
||||
Genergies = []
|
||||
time = []
|
||||
|
||||
for i in range (1,401):
|
||||
num = str(i).rjust(5, '0')
|
||||
file = "BTs/"+str(args.density)+"/boom."+num+".bt"
|
||||
data = pd.read_csv(file, sep=' ', names=columns)
|
||||
data["X"] = data["X"]*1.5e8
|
||||
data["Y"] = data["Y"]*1.5e8
|
||||
data["Z"] = data["Z"]*1.5e8
|
||||
data["X2"] = data["X"]**2
|
||||
data["Y2"] = data["Y"]**2
|
||||
data["Z2"] = data["Z"]**2
|
||||
data["distance2"] = data["X2"]+data["Y2"]+data["Z2"]
|
||||
data["distance"] = data["distance2"]**0.5
|
||||
data["vX"] = data["vX"]*29880
|
||||
data["vY"] = data["vY"]*29880
|
||||
data["vZ"] = data["vZ"]*29880
|
||||
data["vX2"] = data["vX"]**2
|
||||
data["vY2"] = data["vY"]**2
|
||||
data["vZ2"] = data["vZ"]**2
|
||||
data["Mass"] = data["Mass"]*1.989e30
|
||||
data["vel2"] = data["X"]+data["Y"]+data["Z"]**2
|
||||
data["vel"] = data["distance2"]**0.5
|
||||
data["KE"] = 0.5*data["Mass"]*data["vel2"]
|
||||
data["GPE"] = (6.67e-11*1.89e27*data["Mass"])/(data["distance"])
|
||||
# data["Energy"] = data["KE"]+data["GPE"]
|
||||
# energy = data["Energy"].sum()
|
||||
time.append(i)
|
||||
KE = data["KE"].sum()
|
||||
Kenergies.append(KE)
|
||||
GPE = data["GPE"].sum()
|
||||
Genergies.append(GPE)
|
||||
|
||||
ax=plt.axes()
|
||||
# ax.set_yscale("log")
|
||||
ax.plot(time, Kenergies, label="Kinetic")
|
||||
ax.plot(time, Genergies, label="Gravitational")
|
||||
ax.legend()
|
||||
plt.show()
|
||||
30
getDistance.py
Normal file
30
getDistance.py
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
import math
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--density", "-d")
|
||||
parser.add_argument("--frame", "-f")
|
||||
|
||||
args=parser.parse_args()
|
||||
|
||||
columns = ["ID", "idx", "Mass", "Radius", "X", "Y", "Z", "vX", "vY", "vZ", "sX", "sY", "sZ", "Colour"]
|
||||
|
||||
|
||||
num = str(args.frame).rjust(5, '0')
|
||||
file = "BTs/"+str(args.density)+"/boom."+num+".bt"
|
||||
data = pd.read_csv(file, sep=' ', names=columns)
|
||||
data["X"] = data["X"]*1.5e8
|
||||
data["Y"] = data["Y"]*1.5e8
|
||||
data["Z"] = data["Z"]*1.5e8
|
||||
data["X2"] = data["X"]**2
|
||||
data["Y2"] = data["Y"]**2
|
||||
data["Z2"] = data["Z"]**2
|
||||
data["distance2"] = data["X2"]+data["Y2"]+data["Z2"]
|
||||
data["distance"] = data["distance2"]**0.5
|
||||
|
||||
distance = data["distance"].mean()
|
||||
|
||||
print(distance)
|
||||
51
position.py
Normal file
51
position.py
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
import math
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
from mpl_toolkits import mplot3d
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--density", "-d")
|
||||
|
||||
args=parser.parse_args()
|
||||
|
||||
columns = ["ID", "idx", "Mass", "Radius", "X", "Y", "Z", "vX", "vY", "vZ", "sX", "sY", "sZ", "Colour"]
|
||||
xposs = []
|
||||
yposs = []
|
||||
zposs = []
|
||||
|
||||
for i in range (1,401):
|
||||
num = str(i).rjust(5, '0')
|
||||
file = "BTs/"+str(args.density)+"/boom."+num+".bt"
|
||||
data = pd.read_csv(file, sep=' ', names=columns)
|
||||
data["X"] = data["X"]*1.5e8
|
||||
data["Y"] = data["Y"]*1.5e8
|
||||
data["Z"] = data["Z"]*1.5e8
|
||||
xpos = data["X"].mean()
|
||||
ypos = data["Y"].mean()
|
||||
zpos = data["Z"].mean()
|
||||
xposs.append(xpos)
|
||||
yposs.append(ypos)
|
||||
zposs.append(zpos)
|
||||
|
||||
theta = np.linspace(0, 2 * np.pi, 100)
|
||||
phi = np.linspace(0, np.pi, 50)
|
||||
theta, phi = np.meshgrid(theta, phi)
|
||||
r = 69911
|
||||
|
||||
x = r * np.sin(phi) * np.cos(theta)
|
||||
y = r * np.sin(phi) * np.sin(theta)
|
||||
z = r * np.cos(phi)
|
||||
|
||||
|
||||
ax=plt.axes(projection='3d')
|
||||
ax.set_box_aspect([1, 1, 1])
|
||||
max_range = 0.5*np.max([np.max(np.abs(xposs)), np.max(np.abs(yposs)), np.max(np.abs(zposs))])
|
||||
ax.set_xlim(-max_range, max_range)
|
||||
ax.set_ylim(-max_range, max_range)
|
||||
ax.set_zlim(-max_range, max_range)
|
||||
ax.plot(xposs, yposs, zposs)
|
||||
ax.plot_surface(x, y, z, alpha=0.3)
|
||||
plt.show()
|
||||
|
||||
35
seperation.py
Normal file
35
seperation.py
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
import math
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--density", "-d")
|
||||
|
||||
args=parser.parse_args()
|
||||
|
||||
columns = ["ID", "idx", "Mass", "Radius", "X", "Y", "Z", "vX", "vY", "vZ", "sX", "sY", "sZ", "Colour"]
|
||||
deviations = []
|
||||
time = []
|
||||
|
||||
for i in range (1,401):
|
||||
num = str(i).rjust(5, '0')
|
||||
file = "BTs/"+str(args.density)+"/boom."+num+".bt"
|
||||
data = pd.read_csv(file, sep=' ', names=columns)
|
||||
data["X"] = data["X"]*1.5e8
|
||||
data["Y"] = data["Y"]*1.5e8
|
||||
data["Z"] = data["Z"]*1.5e8
|
||||
data["X2"] = data["X"]**2
|
||||
data["Y2"] = data["Y"]**2
|
||||
data["Z2"] = data["Z"]**2
|
||||
data["distance2"] = data["X2"]+data["Y2"]+data["Z2"]
|
||||
data["distance"] = data["distance2"]**0.5
|
||||
deviation = data["distance"].std()
|
||||
time.append(i)
|
||||
deviations.append(deviation)
|
||||
|
||||
ax=plt.axes()
|
||||
# ax.set_yscale("log")
|
||||
ax.plot(time, deviations)
|
||||
plt.show()
|
||||
40
seperationDerivative.py
Normal file
40
seperationDerivative.py
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
import math
|
||||
import pandas as pd
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--density", "-d")
|
||||
|
||||
args=parser.parse_args()
|
||||
|
||||
columns = ["ID", "idx", "Mass", "Radius", "X", "Y", "Z", "vX", "vY", "vZ", "sX", "sY", "sZ", "Colour"]
|
||||
deviations = []
|
||||
time = []
|
||||
|
||||
for i in range (1,401):
|
||||
num = str(i).rjust(5, '0')
|
||||
file = "BTs/"+args.density+"/boom."+num+".bt"
|
||||
data = pd.read_csv(file, sep=' ', names=columns)
|
||||
data["X"] = data["X"]*1.5e8
|
||||
data["Y"] = data["Y"]*1.5e8
|
||||
data["Z"] = data["Z"]*1.5e8
|
||||
data["X2"] = data["X"]**2
|
||||
data["Y2"] = data["Y"]**2
|
||||
data["Z2"] = data["Z"]**2
|
||||
data["distance2"] = data["X2"]+data["Y2"]+data["Z2"]
|
||||
data["distance"] = data["distance2"]**0.5
|
||||
deviation = data["distance"].std()
|
||||
time.append(i)
|
||||
deviations.append(deviation)
|
||||
|
||||
del time[-1]
|
||||
del time[-1]
|
||||
firstDeriv=np.diff(deviations)
|
||||
secondDeriv=np.diff(firstDeriv)
|
||||
|
||||
ax=plt.axes()
|
||||
# ax.set_yscale("log")
|
||||
ax.plot(time, secondDeriv)
|
||||
plt.show()
|
||||
Loading…
Add table
Add a link
Reference in a new issue