I found that the maximum velocity of dark matter particles is proportional to 10^3 km/s at z=0. However, after I assigned the particle velocity components respectively to 1024^3 mesh, the maximum velocity on the grids is proportional to 10^7 km/s. This maximum value is even greater than light speed. Whether it is reasonable?

Dylan Nelson

20 Sep '20

Hello,

I agree that the maximum velocities you find should be about 10^3 km/s or so. But I don't know exactly what you mean "assigned the particle velocity components respectively to a mesh". I guess in this procedure there must be a bug, if the mean/min/max velocities change significantly.

Yun Wang

21 Sep '20

I mean, I am trying to assigned the particle velocity to the grid, just like assigned the mass to the grid using 'cloud in cell' assignment scheme.
As you've mentioned, I must be doing something wrong in this procedure.

Dylan Nelson

21 Sep '20

Perhaps you are taking the sum instead of the mean?

The truth is that I don't know the details of the assignment procedure, since I import the 'nbodykit' (Nick2017) in Python environment to do all the assignment operations.
By this means, firstly I loaded in the snapshot hdf5 files as one catalog:

Finally, the result is that the momentum field, i.e. "[1+delta(x_g)] times V_x(x_g)", where x_g is the coordinate of the grid.

In order to obtain the velocity field, I computed "momentum field / (1+delta)" by using the code V_x = np.divide(momentum, dens_contra, out=np.zeros(momentum.shape, dtype='float32'), where=dens_contra!=0). However, the result is ridiculous just like I said in the first comment.

Hello Nelson,

I found that the maximum velocity of dark matter particles is proportional to 10^3 km/s at z=0. However, after I assigned the particle velocity components respectively to 1024^3 mesh, the maximum velocity on the grids is proportional to 10^7 km/s. This maximum value is even greater than light speed. Whether it is reasonable?

Hello,

I agree that the maximum velocities you find should be about 10^3 km/s or so. But I don't know exactly what you mean "assigned the particle velocity components respectively to a mesh". I guess in this procedure there must be a bug, if the mean/min/max velocities change significantly.

I mean, I am trying to assigned the particle velocity to the grid, just like assigned the mass to the grid using 'cloud in cell' assignment scheme.

As you've mentioned, I must be doing something wrong in this procedure.

Perhaps you are taking the sum instead of the mean?

The truth is that I don't know the details of the assignment procedure, since I import the 'nbodykit' (Nick2017) in Python environment to do all the assignment operations.

By this means, firstly I loaded in the snapshot hdf5 files as one catalog:

`cat = HDFCatalog('/home2/TNG100-1/output/snapdir_099/snap_099.*', dataset='PartType1')`

`cat['Vx'] = cat['Velocities'][:,0]`

Then I called the

`to_mesh()`

function to create mesh:`in_mesh = cat.to_mesh(Nmesh=1024, BoxSize=75.0, position='Coordinates', compensated=False, resampler='cic', value='Vx')`

Finally, the result is that the momentum field, i.e. "[1+delta(x_g)] times V_x(x_g)", where x_g is the coordinate of the grid.

In order to obtain the velocity field, I computed "momentum field / (1+delta)" by using the code

`V_x = np.divide(momentum, dens_contra, out=np.zeros(momentum.shape, dtype='float32'), where=dens_contra!=0)`

. However, the result is ridiculous just like I said in the first comment.