def compute_parameters(k, a_0, a_f, inc_0, inc_f): """Compute parameters of the model.""" V_0 = circular_velocity(k, a_0) V_f = circular_velocity(k, a_f) beta_0_ = beta_0(V_0, V_f, inc_0, inc_f) return V_0, V_f, beta_0_
def compute_parameters(k, a_0, a_f, inc_0, inc_f): """Compute parameters of the model. """ delta_inc = abs(inc_f - inc_0) V_0 = circular_velocity(k, a_0) V_f = circular_velocity(k, a_f) beta_0_ = beta_0(V_0, V_f, inc_0, inc_f) return V_0, beta_0_, delta_inc
def extra_quantities(k, a, ecc_0, ecc_f, f): """Extra quantities given by the model.""" V_0 = circular_velocity(k, a) delta_V_ = delta_V(V_0, ecc_0, ecc_f) t_f_ = delta_V_ / f return delta_V_, t_f_
def extra_quantities(k, a, ecc, argp_0, argp_f, f, A=0.0): """Extra quantities given by the model.""" V = circular_velocity(k, a) delta_V_ = delta_V(V, ecc, argp_0, argp_f, f, A) t_f_ = delta_V_ / f return delta_V_, t_f_
def change_ecc_inc(k, a, ecc_0, ecc_f, inc_0, inc_f, argp, r, v, f): # We fix the inertial direction at the beginning if ecc_0 > 0.001: # Arbitrary tolerance e_vec = eccentricity_vector(k, r, v) ref_vec = e_vec / ecc_0 else: ref_vec = r / norm(r) h_vec = cross(r, v) # Specific angular momentum vector h_unit = h_vec / norm(h_vec) thrust_unit = cross(h_unit, ref_vec) * np.sign(ecc_f - ecc_0) beta_0 = beta(ecc_0, ecc_f, inc_0, inc_f, argp) @jit def a_d(t0, u_, k_): r_ = u_[:3] v_ = u_[3:] nu = rv2coe(k_, r_, v_)[-1] beta_ = beta_0 * np.sign( np.cos(nu) ) # The sign of ß reverses at minor axis crossings w_ = cross(r_, v_) / norm(cross(r_, v_)) accel_v = f * (np.cos(beta_) * thrust_unit + np.sin(beta_) * w_) return accel_v delta_v = delta_V(circular_velocity(k, a), ecc_0, ecc_f, beta_0) t_f = delta_t(delta_v, f) return a_d, delta_v, t_f
def extra_quantities(k, a, ecc_0, ecc_f, f): """Extra quantities given by the model. """ V_0 = circular_velocity(k, a) delta_V_ = delta_V(V_0, ecc_0, ecc_f) t_f_ = delta_V_ / f return delta_V_, t_f_
def extra_quantities(k, a, ecc_0, ecc_f, inc_0, inc_f, argp, f): """Extra quantities given by the model.""" beta_ = beta(ecc_0, ecc_f, inc_0, inc_f, argp) V_0 = circular_velocity(k, a) delta_V_ = delta_V(V_0, ecc_0, ecc_f, beta_) t_f_ = delta_V_ / f return delta_V_, beta_, t_f_
def extra_quantities(k, a, ecc, argp_0, argp_f, f, A=0.0): """Extra quantities given by the model. """ V = circular_velocity(k, a) delta_V_ = delta_V(V, ecc, argp_0, argp_f, f, A) t_f_ = delta_V_ / f return delta_V_, t_f_
def extra_quantities(k, a, ecc_0, ecc_f, inc_0, inc_f, argp, f): """Extra quantities given by the model. """ beta_ = beta(ecc_0, ecc_f, inc_0, inc_f, argp) V_0 = circular_velocity(k, a) delta_V_ = delta_V(V_0, ecc_0, ecc_f, beta_) t_f_ = delta_V_ / f return delta_V_, beta_, t_f_