I am doing a literature survey on seepage modelling. In doing so I have come across with the specified method (i.e. Monte-Carlo method). But, I have a limited knowledge on that method.
If you have the range of particles (min and max) and the type of distribution, you can do it by using available MATLAB toolboxes or my written code from link below. My code id for uniform, log-normal and triangular distributions.
Yes - Yann's suggestion is straightforward to implement using the empirical CDF w/o choosing a parametric distribution.
Just generate uniform random variables over the [0,1] interval and use the ECDF to map the U(0,1) rv to the size of one randomly selected particle from the random sample you want to generate. Repeat N times to generate a sample of size N.
I would fit the empirical grain size distribution with an appropriate function (Gompertz, Fredlund or any other) using a fitting procedure that provides the standard deviation of the fitted parameters. Then you can generate a field of random numbers with the same mean and standard deviation for each of the parameters. The grain size distribution function operated with the random generated parameters yields the desired field of grain size distributions.