Null Result
This is a test to verify that a uniform distribution of particles will not return a bound group. uniform_grid.c is used to generate the initial grid, including a zero velocity field. Note that you'll need to edit readfiles.c to read this and the velocity field file in.
Create Grid
cable:~/packages/voboz1.1.1 rpwagner$ gcc uniform_grid.c cable:~/packages/voboz1.1.1 rpwagner$ a.out cable:~/packages/voboz1.1.1 rpwagner$ ls -l uniform_grid* -rw-r--r-- 1 rpwagner rpwagner 772 Jan 14 10:37 uniform_grid.raw -rw-r--r-- 1 rpwagner rpwagner 772 Jan 14 10:37 uniform_grid_vel.raw cable:~/packages/voboz1.1.1 rpwagner$
vozinit
vozinit is kind of trivial; it creates a script to call the tools that do the real work. However, it is also a nice convenience. The inputs are: particle file name, fractional buffer size, comoving box length, number of tiles per axis, and a run name.
cable:~/packages/voboz1.1.1 rpwagner$ ./vozinit Wrong number of arguments. arg1: position file arg2: buffer size (default 0.1) arg3: box size arg4: number of divisions (default 2) arg5: suffix describing this run cable:~/packages/voboz1.1.1 rpwagner$
The buffers zones need to capture a significant enough number of particles to keep the guard particles away from the region of interest. For this case, the particles are separated by 0.25, so the ghost zone needs to be at least 0.25.
cable:~/packages/voboz1.1.1 rpwagner$ ./vozinit uniform_grid.raw 0.3 1 2 foo
The output is named scr<run name>.
cable:~/packages/voboz1.1.1 rpwagner$ cat scrfoo #!/bin/bash -f ./voz1b1 uniform_grid.raw 0.300000 1.000000 foo 2 0 0 0 ./voz1b1 uniform_grid.raw 0.300000 1.000000 foo 2 0 0 1 ./voz1b1 uniform_grid.raw 0.300000 1.000000 foo 2 0 1 0 ./voz1b1 uniform_grid.raw 0.300000 1.000000 foo 2 0 1 1 ./voz1b1 uniform_grid.raw 0.300000 1.000000 foo 2 1 0 0 ./voz1b1 uniform_grid.raw 0.300000 1.000000 foo 2 1 0 1 ./voz1b1 uniform_grid.raw 0.300000 1.000000 foo 2 1 1 0 ./voz1b1 uniform_grid.raw 0.300000 1.000000 foo 2 1 1 1 ./voztie 2 foo
voz1b1 and voztie
Read the documentation about what these programs do. You can tell when something goes wrong, because you will either have no part.<run name>.* files, or you'll see a bunch of complaints about the guard particles. So, <<blah, blah, blah>> is what you hope for, not what you may see.
cable:~/packages/voboz1.1.1 rpwagner$ ./scrfoo << blah, blah, blah >>
The voz1b1 output are blocks of Voronoi diagrams, one per tile.
cable:~/packages/voboz1.1.1 rpwagner$ ls -1 part.foo.0* part.foo.00.00.00 part.foo.00.00.01 part.foo.00.01.00 part.foo.00.01.01 part.foo.01.00.00 part.foo.01.00.01 part.foo.01.01.00 part.foo.01.01.01 cable:~/packages/voboz1.1.1 rpwagner$
The voztie output are an adjacency file and volume file.
cable:~/packages/voboz1.1.1 rpwagner$ ls -1 *dat adjfoo.dat volfoo.dat cable:~/packages/voboz1.1.1 rpwagner$
jovoz
Hook'em together step. jovoz is fed the adjacency and volume file names, and the desired output names of a binary zone file and text listing of the zones. The final parameter controls the minimum density of halos.
cable:~/packages/voboz1.1.1 rpwagner$ ./jovoz Wrong number of arguments. arg1: adjacency file arg2: volume file arg3: output zone membership file arg4: output text file arg5: volume tolerance (e.g. 1) cable:~/packages/voboz1.1.1 rpwagner$
cable:~/packages/voboz1.1.1 rpwagner$ ./jovoz adjfoo.dat volfoo.dat foozone.dat foozone.txt 0.01 About to jump ... Post-jump ... 64 initial haloes found Found zone adjacencies Volumes range from 1.000000e+00 to 1.000000e+00. Maxprob = 1.000000. about to sort ... cable:~/packages/voboz1.1.1 rpwagner$
Some files.
cable:~/packages/voboz1.1.1 rpwagner$ ls -1 foozone.* foozone.dat foozone.txt
As expected, we get 64 zones, one per particle, each with the same density.
cable:~/packages/voboz1.1.1 rpwagner$ head foozone.txt 64 0 1 1.000000e+00 1.000000e+00 1 1 1.000000e+00 1.000000e+00 2 1 1.000000e+00 1.000000e+00 3 1 1.000000e+00 1.000000e+00 4 1 1.000000e+00 1.000000e+00 5 1 1.000000e+00 1.000000e+00 6 1 1.000000e+00 1.000000e+00 7 1 1.000000e+00 1.000000e+00 8 1 1.000000e+00 1.000000e+00 cable:~/packages/voboz1.1.1 rpwagner$
boz
Unbinding step, with lots of arguments, but only one parameter (the last argument).
cable:~/packages/voboz1.1.1 rpwagner$ ./boz Wrong number of arguments. arg1: box size arg2: Omega_matter arg3: scale factor a arg4: position file arg5: velocity file arg6: input zone file arg7: output bound zone file arg8: output text file arg9: unbinding f
I'm setting f here to 1.2 for no good reason. Read more about it in the paper.
cable:~/packages/voboz1.1.1 rpwagner$ cable:~/packages/voboz1.1.1 rpwagner$ ./boz 1.0 0.3 1.0 uniform_grid.raw uniform_grid_vel.raw foozone.dat foohalos.dat foohalos.txt 1.2 a = 1.000000 => Multiplying H0 by 1.000000e+00 cell, potconst = 0.007812,1.707547e-04 np = 64 np: 64, x: 0.000000,0.875000; y: 0.000000,0.875000; z: 0.000000,0.875000 vx: 0.000000,0.000000; vy: 0.000000,0.000000; vz: 0.000000,0.000000 np = 64, nhaloes = 64 Done! Outputting ... Nhunb = 0 cable:~/packages/voboz1.1.1 rpwagner$
Hurrah! Final output is the actual number of halos found, which is zero, as expected.
cable:~/packages/voboz1.1.1 rpwagner$ cat foohalos.txt 64 0 cable:~/packages/voboz1.1.1 rpwagner$
Attachments
- uniform_grid.c (1.1 KB) - added by rpwagner 23 months ago.
