#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)