Ref Bari
Advisor: Prof. Brendan Keith
Black Hole Orbits
Gravitational Wave
Loss Function
Plane
Circular Orbit
Gravitational Wave
Loss Function
Plane
Elliptical Orbit
Gravitational Wave
Loss Function
Plane
Highly Eccentric Orbit
Gravitational Wave
Loss Function
Plane
Butterfly Orbit
Gravitational Wave
Loss Function
Plane
H_kep = p_r^2/2 - M/r + L^2/(2*r^2)NN_correction = NN([r, p_r, L], NN_params, NN_state)[1][1]H_total(r_val, pr_val) = pr_val^2/2 - M/r_val + L^2/(2*r_val^2) + NN_correctionfunction SchwarzschildNN_Hamiltonian(du, u, p, t)
coord_time, r, θ, ϕ, p_t, p_r, p_θ, p_ϕ = u
M = p.M
E = p.E
L = p.L
NN_params = p.NN
# Kepler Hamiltonian
H_kep = p_r^2/2 - M/r + L^2/(2*r^2)
# NN Correction
NN_correction = NN([r, p_r, L], NN_params, NN_state)[1][1]
# Total Hamiltonian
H_total(r_val, pr_val) = pr_val^2/2 - M/r_val + L^2/(2*r_val^2) + NN_correction
# Hamilton's equations
du[1] = 1.0 # Simple time evolution
du[2] = ForwardDiff.derivative(pr -> H_total(r, pr), p_r) # ṙ = ∂H/∂p_r
du[3] = 0
du[4] = L/r^2
du[5] = 0
du[6] = -ForwardDiff.derivative(r_val -> H_total(r_val, p_r), r) # ṗ_r = -∂H/∂r
du[7] = 0
du[8] = 0
endfunction SchwarzschildNN_Hamiltonian(du, u, p, t)
coord_time, r, θ, ϕ, p_t, p_r, p_θ, p_ϕ = u
M = p.M
E = p.E
L = p.L
NN_params = p.NN
# Kepler Hamiltonian
H_kep = p_r^2/2 - M/r + L^2/(2*r^2)
# NN Correction
NN_correction = NN([r, p_r, L], NN_params, NN_state)[1][1]
# Total Hamiltonian
H_total(r_val, pr_val) = pr_val^2/2 - M/r_val + L^2/(2*r_val^2) + NN_correction
# Hamilton's equations
du[1] = 1.0 # Simple time evolution
du[2] = ForwardDiff.derivative(pr -> H_total(r, pr), p_r) # ṙ = ∂H/∂p_r
du[3] = 0
du[4] = L/r^2
du[5] = 0
du[6] = -ForwardDiff.derivative(r_val -> H_total(r_val, p_r), r) # ṗ_r = -∂H/∂r
du[7] = 0
du[8] = 0
endfunction SchwarzschildNN_Hamiltonian(du, u, p, t)
coord_time, r, θ, ϕ, p_t, p_r, p_θ, p_ϕ = u
M = p.M
E = p.E
L = p.L
NN_params = p.NN
# Kepler Hamiltonian
H_kep = p_r^2/2 - M/r + L^2/(2*r^2)
# NN Correction
NN_correction = NN([r, p_r, L], NN_params, NN_state)[1][1]
# Total Hamiltonian
H_total(r_val, pr_val) = pr_val^2/2 - M/r_val + L^2/(2*r_val^2) + NN_correction
# Hamilton's equations
du[1] = 1.0 # Simple time evolution
du[2] = ForwardDiff.derivative(pr -> H_total(r, pr), p_r) # ṙ = ∂H/∂p_r
du[3] = 0
du[4] = L/r^2
du[5] = 0
du[6] = -ForwardDiff.derivative(r_val -> H_total(r_val, p_r), r) # ṗ_r = -∂H/∂r
du[7] = 0
du[8] = 0
endfunction SchwarzschildNN_Hamiltonian(du, u, p, t)
coord_time, r, θ, ϕ, p_t, p_r, p_θ, p_ϕ = u
M = p.M
E = p.E
L = p.L
NN_params = p.NN
# Kepler Hamiltonian
H_kep = p_r^2/2 - M/r + L^2/(2*r^2)
# NN Correction
NN_correction = NN([r, p_r, L], NN_params, NN_state)[1][1]
# Total Hamiltonian
H_total(r_val, pr_val) = pr_val^2/2 - M/r_val + L^2/(2*r_val^2) + NN_correction
# Hamilton's equations
du[1] = 1.0 # Simple time evolution
du[2] = ForwardDiff.derivative(pr -> H_total(r, pr), p_r) # ṙ = ∂H/∂p_r
du[3] = 0
du[4] = L/r^2
du[5] = 0
du[6] = -ForwardDiff.derivative(r_val -> H_total(r_val, p_r), r) # ṗ_r = -∂H/∂r
du[7] = 0
du[8] = 0
end