Exemple #1
0
def plot_isochrone(particles):
    particles = new_particles_with_blackbody_color(particles)
    pyplot.figure(figsize=(7, 8))
    pyplot.title('Hertzsprung-Russell diagram', fontsize=12)

    pyplot.scatter(
        particles.temperature.value_in(
            units.K), particles.luminosity.value_in(
            units.LSun), s=particles.radius.maximum(
                0.1 | units.RSun).value_in(
                    units.RSun) * 100, c=particles.color, edgecolors="none", )
    pyplot.xlabel('Effective Temperature (K)')
    pyplot.ylabel('Luminosity (L$_{\odot}$)')
    pyplot.xscale('log')
    pyplot.yscale('log')
    pyplot.xlim(20e3, 2e3)
    pyplot.ylim(1.0e-3, 1.0e3)
    pyplot.gca().set_axis_bgcolor('#808080')
    pyplot.show()
Exemple #2
0
def plot_isochrone(particles):
    particles = new_particles_with_blackbody_color(particles)
    pyplot.figure(figsize=(7, 8))
    pyplot.title('Hertzsprung-Russell diagram', fontsize=12)

    pyplot.scatter(
        particles.temperature.value_in(units.K),
        particles.luminosity.value_in(units.LSun),
        s=particles.radius.maximum(0.1 | units.RSun).value_in(units.RSun)*100,
        c=particles.color,
        edgecolors="none",
    )
    pyplot.xlabel('Effective Temperature (K)')
    pyplot.ylabel('Luminosity (L$_{\odot}$)')
    pyplot.xscale('log')
    pyplot.yscale('log')
    pyplot.xlim(20e3, 2e3)
    pyplot.ylim(1.0e-3, 1.0e3)
    pyplot.gca().set_axis_bgcolor('#808080')
    pyplot.show()
Exemple #3
0
    particles = new_plummer_model(number_of_particles, converter)
    particles.mass = masses
    particles.move_to_center()

    # create simulation codes
    gravity = new_gravity(particles, converter)
    stellar_evolution = new_stellar_evolution(particles)

    # create channels to and from the local particle set and the simulations
    from_gravity_to_local = gravity.particles.new_channel_to(particles)
    from_stellar_evolution_to_local = \
        stellar_evolution.particles.new_channel_to(particles)
    from_stellar_evolution_to_local.copy()

    # creating colored particles
    particles = new_particles_with_blackbody_color(particles)
    particles.alpha = 1.0
    particles.radius = stellar_evolution.particles.radius.sqrt() * \
        (1e4 | units.parsec).sqrt()

    # creating visualization code
    converter = nbody_system.nbody_to_si(10.0 | units.parsec, masses.sum())
    visualization = Asterisk(converter, redirection="none")

    # optional: change OpenGL perspective settings
    # visualization.set_field_of_view(45.0)
    # visualization.set_z_near(0.1 | units.parsec)
    # visualization.set_z_far(3000.0 | units.parsec)

    # initialize code (creates gui windows)
    visualization.initialize_code()
Exemple #4
0
    visualization.star_particles.add_particles(stars)
    visualization.gas_particles.add_particles(gas)
    return visualization

def next_filename():
    next_filename.counter += 1
    return os.path.join("snapshots", "cluster_snapshot_{0:=06}_".format(next_filename.counter))
next_filename.counter = -1

def radius_from_luminosity(luminosity):
    return 0.02 * numpy.log(luminosity.value_in(units.LSun)) | units.parsec

if __name__ == "__main__":
    filename = next_filename()
    stars = read_set_from_file(filename+"stars.amuse", 'amuse')
    stars = new_particles_with_blackbody_color(stars)
    stars.radius = radius_from_luminosity(stars.luminosity)
    
    gas = read_set_from_file(filename+"gas.amuse", 'amuse')
    gas = new_particles_with_blackbody_color(gas)
    gas.alpha = 0.00001
    
    visualization = new_visualization(stars, gas)
    visualization.store_view(0|units.Myr)
    from_stars_to_viz = stars.new_channel_to(visualization.star_particles)
    from_gas_to_viz = gas.new_channel_to(visualization.gas_particles)
#~    print visualization.gas_particles.alpha
    
    filename = next_filename()
    while True:
        if not os.path.exists(filename+"gas.amuse"):
Exemple #5
0
    particles = new_plummer_model(number_of_particles, converter)
    particles.mass = masses
    particles.move_to_center()

    # create simulation codes
    gravity = new_gravity(particles, converter)
    stellar_evolution = new_stellar_evolution(particles)

    # create channels to and from the local particle set and the simulations
    from_gravity_to_local = gravity.particles.new_channel_to(particles)
    from_stellar_evolution_to_local = \
        stellar_evolution.particles.new_channel_to(particles)
    from_stellar_evolution_to_local.copy()

    # creating colored particles
    particles = new_particles_with_blackbody_color(particles)
    particles.alpha = 1.0
    particles.radius = (stellar_evolution.particles.radius.sqrt() *
                        (1e4 | units.parsec).sqrt())

    # creating visualization code
    converter = nbody.nbody_to_si(10.0 | units.parsec, masses.sum())
    visualization = Asterisk(converter, redirection="none")
    visualization.initialize_code()

    # optional: set the zoom and rotation of the visualization
    # visualization.parameters.rotation = (15, -15, 45)
    # visualization.parameters.camera_distance = 100 | units.parsec

    # add (now colored) particles to visualization
    visualization.particles.add_particles(particles)