# Enzo Particle Masses¶

A common problem for users who wish to manipulate Enzo data is understanding Enzo’s internal unit system. This is explained in some detail in Enzo Internal Unit System. This page focuses specifically on the particle mass, which is one of the least intuitive pieces of the internal code notation. The most important thing to realize is that Enzo’s particle_mass attribute *is not a mass* - it is actually a *density*. This is done for a very good reason - Enzo calculates the gravitational potential by solving Poisson’s equation using a grid-based density field, and when calculating the dark matter (or other particle) density, it is most efficient computationally to store it as a density rather than as a mass to avoid having to divide by volume or multiple by 1/V for every particle, on every timestep. So, the “mass” stored within the code is really this value in the cosmology calculations:

where is OmegaMatterNow, is OmegaBaryonNow, is the mean separation between particles at the beginning of the simulation (in code units), and is the grid spacing (in code units) of the grid that the particle resides in. Conversion to an actual mass is as follows:

If one is using massive (non-zero mass) particles in a non-cosmology run, the formulation of the particle mass is analogous: it can be calculated as:

where the upper and lower density values are the mean matter density of your particle field (so total particle mass divided by total volume, in your units of choice) divided by the DensityUnits (such that the fraction is completely unitless).