Ejemplo n.º 1
0
    def setup_two_body_system(self, a_planet):
        m = 1898.13e24#kg
        #ra = 71492000.0#m
        ra = 1.0#m

        dr = self.voyagerI.position - a_planet.position
        dv = self.voyagerI.velocity - a_planet.velocity
        del self.voyagerI
        tb = twobody.twobody()
        tb.new_particle(m, 
                        ra, 
                        dr[0].value_in(units.m),
                        dr[1].value_in(units.m),
                        dr[2].value_in(units.m),
                        dv[0].value_in(units.m/units.s)*1.5,
                        dv[1].value_in(units.m/units.s)*1.5,
                        dv[2].value_in(units.m/units.s)*1.5)
        return tb
Ejemplo n.º 2
0
                    I.code.update_particles(all_particles)
                    #planets are heavy wtr spacecraft
                    #so we put the planet back instead of the c.o.g. sys
                    all_particles.add_particle(a_planet)
                    all_particles.synchronize_to(I.code.particles)
                    a_planet_from_code_to_model = I.code.particles.new_channel_to(
                        a_planet.as_set())
                    I.code.update_particles(all_particles)
                    m = 1898.13e24  #kg
                    #ra = 71492000.0#m
                    ra = 1.0  #m

                    dr = voyagerI.position - a_planet.position
                    dv = voyagerI.velocity - a_planet.velocity
                    del voyagerI
                    tb = twobody.twobody()
                    tb.new_particle(m, ra, dr[0].value_in(units.m),
                                    dr[1].value_in(units.m),
                                    dr[2].value_in(units.m),
                                    dv[0].value_in(units.m / units.s),
                                    dv[1].value_in(units.m / units.s),
                                    dv[2].value_in(units.m / units.s))

                    days = 1
                    timestep = 0.05
                    break

        elif two_body_mode:

            tb.evolve(3600.0 * 24 * 1 * days)
            days += timestep