Ejemplo n.º 1
0
    def test2(self):
        instance = FDPSInterface()
        instance.initialize_code()

        instance.commit_parameters()
        for i in [0, 1, 2]:
            temp_particle = instance.new_particle(mass = i, radius = 1.0, x = 0.0, y = 0.0, z = 0.0, vx = 0.0, vy = 0.0, vz = 0.0)
            self.assertEquals(i, temp_particle['index_of_the_particle'])
        
        instance.commit_particles()
        self.assertEquals(0, instance.get_index_of_first_particle()['index_of_the_particle'])
        self.assertEquals(1, instance.get_index_of_next_particle(0)['index_of_the_next_particle']) 
        self.assertEquals(2, instance.get_index_of_next_particle(1)['index_of_the_next_particle'])
            
        instance.delete_particle(0)
      
        self.assertEquals(2, instance.get_number_of_particles()['number_of_particles'])
        
        #the deletion moves all next particles one id down, so 2 is copied to 1, and 1 to 0
        self.assertEquals(1, instance.get_index_of_first_particle()['index_of_the_particle'])
        
        self.assertEquals(1, instance.get_index_of_next_particle(2)['__result'])

        instance.cleanup_code()
        instance.stop()
Ejemplo n.º 2
0
    def test1(self):
        instance = FDPSInterface()
        instance.initialize_code()
        instance.commit_parameters()
        res1 = instance.new_particle(mass = 11.0, radius = 2.0, x = 0.0, y = 0.0, z = 0.0, vx = 0.0, vy = 0.0, vz = 0.0)
        res2 = instance.new_particle(mass = 21.0, radius = 5.0, x = 10.0, y = 0.0, z = 0.0, vx = 10.0, vy = 0.0, vz = 0.0)
        
        instance.commit_particles()
        self.assertEquals(0, res1['index_of_the_particle'])
        self.assertEquals(1, res2['index_of_the_particle'])

        retrieved_state1 = instance.get_state(0)
        retrieved_state2 = instance.get_state(1)

        self.assertEquals(11.0,  retrieved_state1['mass'])
        self.assertEquals(21.0,  retrieved_state2['mass'])
        self.assertEquals(0.0,  retrieved_state1['x'])
        self.assertEquals(10.0,  retrieved_state2['x'])

        self.assertEquals(0, instance.get_index_of_first_particle()['index_of_the_particle'])
        self.assertEquals(1, instance.get_index_of_next_particle(0)['index_of_the_next_particle']) 
        
        instance.cleanup_code()
        instance.stop()