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))
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)
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)
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)
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()