Exemplo n.º 1
0
    def test9(self):
        print "Testing BSE states"
        instance = BSE()

        stars = Particles(2)
        stars.mass = [1.0, 0.2] | units.MSun

        binaries = Particles(1)
        orbital_period = 200.0 | units.day
        semi_major_axis = instance.orbital_period_to_semi_major_axis(
            orbital_period, stars[0].mass, stars[1].mass)
        binaries.semi_major_axis = semi_major_axis
        binaries.eccentricity = 0.0
        binaries[0].child1 = stars[0]
        binaries[0].child2 = stars[1]

        print "First do everything manually:",
        self.assertEquals(instance.get_name_of_current_state(),
                          'UNINITIALIZED')
        instance.initialize_code()
        self.assertEquals(instance.get_name_of_current_state(), 'INITIALIZED')
        instance.commit_parameters()
        self.assertEquals(instance.get_name_of_current_state(), 'RUN')
        instance.cleanup_code()
        self.assertEquals(instance.get_name_of_current_state(), 'END')
        instance.stop()
        print "ok"

        print "initialize_code(), commit_parameters(), " \
            "and cleanup_code() should be called automatically:",
        instance = BSE()
        self.assertEquals(instance.get_name_of_current_state(),
                          'UNINITIALIZED')
        instance.parameters.reimers_mass_loss_coefficient = 0.5
        self.assertEquals(instance.get_name_of_current_state(), 'INITIALIZED')
        instance.particles.add_particles(stars)
        instance.binaries.add_particles(binaries)
        self.assertEquals(instance.get_name_of_current_state(), 'RUN')
        instance.stop()
        self.assertEquals(instance.get_name_of_current_state(), 'STOPPED')
        print "ok"
Exemplo n.º 2
0
    def test9(self):
        print "Testing BSE states"
        instance = BSE()

        stars = Particles(2)
        stars.mass = [1.0, 0.2] | units.MSun

        binaries = Particles(1)
        orbital_period = 200.0 | units.day
        semi_major_axis = instance.orbital_period_to_semi_major_axis(orbital_period, stars[0].mass, stars[1].mass)
        binaries.semi_major_axis = semi_major_axis
        binaries.eccentricity = 0.0
        binaries[0].child1 = stars[0]
        binaries[0].child2 = stars[1]

        print "First do everything manually:",
        self.assertEquals(instance.get_name_of_current_state(), "UNINITIALIZED")
        instance.initialize_code()
        self.assertEquals(instance.get_name_of_current_state(), "INITIALIZED")
        instance.commit_parameters()
        self.assertEquals(instance.get_name_of_current_state(), "RUN")
        instance.cleanup_code()
        self.assertEquals(instance.get_name_of_current_state(), "END")
        instance.stop()
        print "ok"

        print "initialize_code(), commit_parameters(), " "and cleanup_code() should be called automatically:",
        instance = BSE()
        self.assertEquals(instance.get_name_of_current_state(), "UNINITIALIZED")
        instance.parameters.reimers_mass_loss_coefficient = 0.5
        self.assertEquals(instance.get_name_of_current_state(), "INITIALIZED")
        instance.particles.add_particles(stars)
        instance.binaries.add_particles(binaries)
        self.assertEquals(instance.get_name_of_current_state(), "RUN")
        instance.stop()
        self.assertEquals(instance.get_name_of_current_state(), "STOPPED")
        print "ok"