VOBOZ/NullResult

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