This MATLAB code allows to simulate the zero-range process on both a one and a two dimensional domain (a square box) with potential V. In 1D, we consider a periodic boundary (a ring or one-dimensional flat torus). In 2D, the boundary condition is either zero flux (closed boundary) or a periodic boundary. The code provides three different choices for the interacting particles in three different folders (see below). Each of these folders contains two `main' files which start a simulation with or without detailed balance. The code was used for the simulations in the paper `Acceleration of convergence to equilibrium in Markov chains by breaking detailed balance', J. Stat. Phys., DOI 10.1007/s10955-017-1805-z. Detailed explanations of the model and parameter choices can be found in the paper. The zip file contains four folders named `1D', `linear', `sublinear' and `superlinear', 1D is the one-dimensional system. The remaining folders correspond to the 2D model: The folder `linear' contains the code for simulating independent particles, the other two versions, `sublinear' and `superlinear' simulate interacting particles with sublinear and superlinear jump rates. HOW TO RUN THE PROGRAM: 1D simulation: Run ZRP1D.m to simulate the particle system with 300 lattice sites in one dimension. 2D simulation: Within each of the three folders, there is a file ZRP_DB.m which allows to simulate the zero-range process satisfying detailed balance, and a file ZRP_nDB.m, which simulates a zero-range process which does not obey detailed balance. To run the program, simply run ZRP_DB.m or ZRP_nDB.m. The remaining .m files are functions which are called by ZRP_DB.m and ZRP_nDB.m The attached files zrp_2d_db_linear.mat zrp_2d_ndb_linear.mat zrp_2d_db_sublinear.mat zrp_2d_ndb_sublinear.mat zrp_2d_db_superlinear.mat zrp_2d_ndb_superlinear.mat are simulation outcomes of running the files ZRP_DB.m and ZRP_nDB.m for each of the three cases`linear', `sublinear' and `superlinear'.