Ejemplo n.º 1
0
        #cluster = Gadget2(converter, channel_type='sockets', number_of_workers=8, parameters=[("epsilon_squared", (0.01 | units.parsec)**2)], redirection='null')
        #cluster = Bonsai(converter, channel_type='sockets', parameters=[("epsilon_squared", (0.01 | units.parsec)**2)], redirection='null')
    cluster.particles.add_particles(particles)

    channel_from_stellar_to_gravity = stellarevol.particles.new_channel_to(
        cluster.particles, attributes=['mass'])
    channel_from_gravity_to_framework = cluster.particles.new_channel_to(
        particles)

    # evolve and make plots
    times = numpy.linspace(0, 25, 51) | units.Myr

    print("Start evolution")
    for i, t in enumerate(times):
        print("Evolve gravity")
        cluster.evolve_model(t)
        print("Evolve stars")
        stellarevol.evolve_model(t)
        channel_from_stellar_to_gravity.copy()
        channel_from_gravity_to_framework.copy()

        print("Evolved the system to time %.1f Myr" % t.value_in(units.Myr) +
              ", total mass=%.1f Msun" %
              particles.mass.sum().value_in(units.MSun) +
              ", Ekin=%.4g Msun*(km/s)^2" %
              cluster.kinetic_energy.value_in(units.MSun * units.kms**2) +
              ", Etot=%.4g Msun*(km/s)^2" %
              (cluster.potential_energy +
               cluster.kinetic_energy).value_in(units.MSun * units.kms**2))
        x = particles.x.value_in(units.parsec)
        y = particles.y.value_in(units.parsec)