示例#1
0
 def f(t0, u_, k):
     du_kep = func_twobody(t0, u_, k)
     ax, ay, az = J2_perturbation(
         t0, u_, k, J2=Earth.J2.value, R=Earth.R.to(u.km).value
     )
     du_ad = np.array([0, 0, 0, ax, ay, az])
     return du_kep + du_ad
示例#2
0
 def f(t0, u_, k):
     du_kep = func_twobody(t0, u_, k)
     ax, ay, az = atmospheric_drag_exponential(
         t0, u_, k, R=R, C_D=C_D, A_over_m=A_over_m, H0=H0, rho0=rho0
     )
     du_ad = np.array([0, 0, 0, ax, ay, az])
     return du_kep + du_ad
示例#3
0
 def f(t0, u_, k):
     du_kep = func_twobody(t0, u_, k)
     ax, ay, az = atmospheric_drag_model(
         t0, u_, k, R=R, C_D=C_D, A_over_m=A_over_m, model=coesa76
     )
     du_ad = np.array([0, 0, 0, ax, ay, az])
     return du_kep + du_ad
示例#4
0
 def f_combined(t0, u_, k):
     du_kep = func_twobody(t0, u_, k)
     ax, ay, az = J2_perturbation(
         t0, u_, k, J2=Earth.J2.value, R=Earth.R.to_value(u.km)
     ) + J3_perturbation(t0, u_, k, J3=Earth.J3.value, R=Earth.R.to_value(u.km))
     du_ad = np.array([0, 0, 0, ax, ay, az])
     return du_kep + du_ad
 def f(t0, u_, k):
     du_kep = func_twobody(t0, u_, k)
     ax, ay, az = third_body(
         t0,
         u_,
         k,
         k_third=body.k.to(u.km**3 / u.s**2).value,
         perturbation_body=body_r,
     )
     du_ad = np.array([0, 0, 0, ax, ay, az])
     return du_kep + du_ad
 def f(t0, u_, k):
     du_kep = func_twobody(t0, u_, k)
     ax, ay, az = radiation_pressure(
         t0,
         u_,
         k,
         R=Earth.R.to(u.km).value,
         C_R=2.0,
         A_over_m=2e-4 / 100,
         Wdivc_s=Wdivc_sun.value,
         star=sun_normalized,
     )
     du_ad = np.array([0, 0, 0, ax, ay, az])
     return du_kep + du_ad
    def f(t0, u_, k):
        du_kep = func_twobody(t0, u_, k)

        # Avoid undershooting H below attractor radius R
        H = max(norm(u_[:3]), R)
        rho = coesa76.density((H - R) * u.km).to_value(u.kg / u.km**3)

        ax, ay, az = atmospheric_drag(
            t0,
            u_,
            k,
            C_D=C_D,
            A_over_m=A_over_m,
            rho=rho,
        )
        du_ad = np.array([0, 0, 0, ax, ay, az])
        return du_kep + du_ad
示例#8
0
 def f_ss0_disposal(t0, u_, k):
     du_kep = func_twobody(t0, u_, k)
     ax, ay, az = a_d(t0, u_, k)
     du_ad = np.array([0, 0, 0, ax, ay, az])
     return du_kep + du_ad
示例#9
0
 def f_leo_geo(t0, u_, k):
     du_kep = func_twobody(t0, u_, k)
     ax, ay, az = a_d(t0, u_, k)
     du_ad = np.array([0, 0, 0, ax, ay, az])
     return du_kep + du_ad
示例#10
0
        def f(t0, state, k):
            du_kep = func_twobody(t0, state, k)
            ax, ay, az = ad(t0, state, k, perturbations)
            du_ad = np.array([0, 0, 0, ax, ay, az])

            return du_kep + du_ad
示例#11
0
    def f(t0, u_, k):
        du_kep = func_twobody(t0, u_, k)
        ax, ay, az = constant_accel(t0, u_, k)
        du_ad = np.array([0, 0, 0, ax, ay, az])

        return du_kep + du_ad