Beispiel #1
0
    def evolve_model(self):
        convert_nbody = nbody_system.nbody_to_si(1.0 | units.MSun,
                                                 149.5e6 | units.km)

        hermite = Hermite(convert_nbody)
        hermite.initialize_code()

        hermite.parameters.epsilon_squared = 0.0 | units.AU**2

        stars = self.new_system_of_sun_and_earth()
        earth = stars[1]
        sun = stars[0]
        Earth = blender.Primitives.sphere(10, 10, 0.1)  # Make the earth avatar
        Sun = blender.Primitives.sphere(32, 32, 1)  # Make the sun avatar
        hermite.particles.add_particles(stars)

        for i in range(1 * 365):
            hermite.evolve_model(i | units.day)
            hermite.particles.copy_values_of_all_attributes_to(stars)
            # update avatar positions:
            Earth.loc = (1 * earth.position.value_in(units.AU)[0],
                         1 * earth.position.value_in(units.AU)[1],
                         earth.position.value_in(units.AU)[2])
            Sun.loc = (1 * sun.position.value_in(units.AU)[0],
                       1 * sun.position.value_in(units.AU)[1],
                       sun.position.value_in(units.AU)[2])
            blender.Redraw()

        hermite.print_refs()
        hermite.stop()
Beispiel #2
0
    def evolve_model(self):
        convert_nbody = nbody_system.nbody_to_si(
            1.0 | units.MSun, 149.5e6 | units.km)

        hermite = Hermite(convert_nbody)
        hermite.initialize_code()

        hermite.parameters.epsilon_squared = 0.0 | units.AU**2

        stars = self.new_system_of_sun_and_earth()
        earth = stars[1]
        sun = stars[0]
        Earth = blender.Primitives.sphere(10, 10, 0.1)  # Make the earth avatar
        Sun = blender.Primitives.sphere(32, 32, 1)  # Make the sun avatar
        hermite.particles.add_particles(stars)

        for i in range(1*365):
            hermite.evolve_model(i | units.day)
            hermite.particles.copy_values_of_all_attributes_to(stars)
            # update avatar positions:
            Earth.loc = (
                    1*earth.position.value_in(units.AU)[0],
                    1*earth.position.value_in(units.AU)[1],
                    earth.position.value_in(units.AU)[2])
            Sun.loc = (
                    1*sun.position.value_in(units.AU)[0],
                    1*sun.position.value_in(units.AU)[1],
                    sun.position.value_in(units.AU)[2])
            blender.Redraw()

        hermite.print_refs()
        hermite.stop()