Esempio n. 1
0
    def test3(self):
        print "Testing get/set for metallicity..."
        instance = EVtwinInterface()
        error = instance.initialize_code()
        self.assertEquals(0, error)
        error = instance.set_ev_path(instance.get_data_directory())
        self.assertEquals(0, error)
        (metallicity, error) = instance.get_metallicity()
        self.assertEquals(0, error)
        self.assertEquals(0.02, metallicity)

        # Z > 0.04 is not allowed
        error = instance.set_metallicity(0.0401)
        self.assertEquals(0, error)
        error = instance.commit_parameters()
        self.assertEquals(-2, error)

        # 0.0 <= Z <= 0.04 is allowed
        any_allowed_Z = numpy.random.random() * 0.04
        error = instance.set_metallicity(any_allowed_Z)
        self.assertEquals(0, error)
        (metallicity, error) = instance.get_metallicity()
        self.assertEquals(0, error)
        self.assertEquals(any_allowed_Z, metallicity)
        error = instance.commit_parameters()
        self.assertEquals(0, error)
        error = instance.cleanup_code()
        self.assertEquals(0, error)
        instance.stop()
Esempio n. 2
0
 def test1(self):
     instance = EVtwinInterface()
     error = instance.initialize_code()
     self.assertEquals(0, error)
     error = instance.cleanup_code()
     self.assertEquals(0, error)
     instance.stop()
Esempio n. 3
0
 def test2(self):
     instance = EVtwinInterface()
     error = instance.initialize_code()
     self.assertEquals(0, error)
     error = instance.set_ev_path(instance.get_data_directory())
     self.assertEquals(0, error)
     error = instance.cleanup_code()
     self.assertEquals(0, error)
     instance.stop()
Esempio n. 4
0
    def test5(self):
        print "Testing basic operations (new_particle_method, evolve_one_step etc.)..."
        instance = EVtwinInterface()
        error = instance.initialize_code()
        self.assertEquals(0, error)
        error = instance.set_ev_path(instance.get_data_directory())
        self.assertEquals(0, error)
        error = instance.commit_parameters()
        self.assertEquals(0, error)

        (index_of_the_star, error) = instance.new_particle_method(1.05)
        self.assertEquals(0, error)
        self.assertTrue(index_of_the_star >= 0)
        error = instance.commit_particles()
        self.assertEquals(0, error)
        error = instance.set_wind_multiplier(index_of_the_star, 1.0)
        self.assertEquals(0, error)

        (mass, error) = instance.get_mass(index_of_the_star)
        self.assertEquals(0, error)
        self.assertEquals(1.05, mass)

        for i in range(3):
            error = instance.evolve_one_step(index_of_the_star)
            self.assertEquals(0, error)

        (mass, error) = instance.get_mass(index_of_the_star)
        self.assertEquals(0, error)
        self.assertTrue(mass <= 1.05)

        (age, error) = instance.get_age(index_of_the_star)
        self.assertEquals(0, error)
        self.assertTrue(age > 0)

        (x, error) = instance.get_wind_mass_loss_rate(index_of_the_star)
        self.assertEquals(0, error)
        self.assertTrue(x < 1e-13, "mass loss should be less than 1e-13, it is {0}".format(x))
        self.assertTrue(x > 0, "mass loss rate should be more than 0, it is {0}".format(x))

        error = instance.cleanup_code()
        self.assertEquals(0, error)
        instance.stop()
Esempio n. 5
0
    def test4(self):
        print "Testing get/set for maximum number of stars..."
        instance = EVtwinInterface()
        error = instance.initialize_code()
        self.assertEquals(0, error)
        error = instance.set_ev_path(instance.get_data_directory())
        self.assertEquals(0, error)
        (value, error) = instance.get_maximum_number_of_stars()
        self.assertEquals(0, error)
        self.assertEquals(10, value)

        error = instance.set_maximum_number_of_stars(10000)
        self.assertEquals(0, error)

        (value, error) = instance.get_maximum_number_of_stars()
        self.assertEquals(0, error)
        self.assertEquals(10000, value)

        error = instance.commit_parameters()
        self.assertEquals(0, error)
        error = instance.cleanup_code()
        self.assertEquals(0, error)
        instance.stop()