示例#1
0
    def test1(self):
        contents = "#header\n1 2 3\n4 5 6\n       \n7 8 9\n     "
        data_file = StringIO(contents)
        instance = text.TableFormattedText("test.txt", data_file)
        instance.attribute_names = ['a', 'b', 'c']
        particles = instance.load()

        self.assertEquals(len(particles), 3)
        self.assertEquals(particles[0].a, 1)
        self.assertFalse(quantities.is_quantity(particles[0].a))
示例#2
0
 def test4(self):
     mass = [1.0,2.0,3.0] | generic_unit_system.mass
     length = [3.0,4.0,5.0] | generic_unit_system.length
     
     stream = StringIO()
     output = text.TableFormattedText(stream = stream)
     output.quantities = (mass, length)
     output.store()
     contents = stream.getvalue()
     self.assertEqual("#col(0) col(1)\n#mass length\n1.0 3.0\n2.0 4.0\n3.0 5.0\n", contents)
示例#3
0
 def test7(self):
     p = datamodel.Particles(2)
     p.a = [1.0, 4.0]
     p.b = [2, 5] | units.m
     p.c = [3, 6] | units.m
     
     data_file = StringIO()
     instance = text.TableFormattedText("test.txt", data_file, p)
     instance.store()
     
     contents = data_file.getvalue()
     #print contents       
     self.assertEqual("#a b c\n#- m m\n1.0 2.0 3.0\n4.0 5.0 6.0\n", contents)
示例#4
0
    def test2(self):
        p = datamodel.Particles(2)
        p.a = [1, 4] | units.m
        p.b = [2, 5] | units.m
        p.c = [3, 6] | units.m

        data_file = StringIO()
        instance = text.TableFormattedText("test.txt", data_file, p)
        instance.attribute_types = [units.m, units.m, units.m]
        instance.store()

        contents = data_file.getvalue()
        self.assertEqual("#a b c\n#m m m\n1.0 2.0 3.0\n4.0 5.0 6.0\n",
                         contents)
示例#5
0
from amuse.ext import plummer
from amuse.io import text

number_of_particles = 1000
mass_per_particle = 1 | units.MSun

convert_nbody = nbody_system.nbody_to_si(
    number_of_particles * mass_per_particle, 1.0 | units.parsec)
uc = plummer.MakePlummerModel(number_of_particles, convert_nbody)
particles = uc.result

nn = NearestNeighbor()
nn.particles.add_particles(particles)
print "number of particles:", len(nn.particles)

nn.find_nearest_neighbors()

local_particles = nn.particles.copy()

for p in local_particles:
    delta = p.neighbor1.position - p.position
    p.distance_to_neighbor = delta.length()
    p.dx = delta.x
    p.dy = delta.y
    p.dz = delta.z

output = text.TableFormattedText("output.txt", set=local_particles)
output.attribute_names = ['x', 'y', 'z', 'dx', 'dy', 'dz']
output.attribute_types = [units.parsec] * 6
output.store()
def store_attributes(x, rho, rhovx, energy, filename):
    output = text.TableFormattedText(filename=filename)
    output.quantities = (x, rho, rhovx, energy)
    output.attribute_names = ("x", "rho", "rhovx", "energy")
    output.store()