Fill particles in a container
You can use rigid body physics to simulate the particles filling a containing mesh. This is a different approach from using the particle system.





1) Create the container geometry. Make sure there is an opening for the particles to enter.

2) Create the particles to fill the container. The particles can be created by add a single sphere to the scene. Then using 3 array modifiers to generate the collection of spheres. Apply the modifiers. (see explaination) Then, in edit mode partitioning the mesh using  P> Selection to separate the selection into a new object (see explanation ) When done, you should have the container and particles which will fill it.



3) Add a solid body physics to the container. Duplicate the settings shown here. The default settings are modified do the container will hold something, but not move during the simulation. Also, the mesh is used to contain the particles.



4) Apply solid body physics to a single sphere. The default settings are modified to allow the spheres to move and to ensure that the sphere stop moving relatively quickly once in the container.



5) Copy the physics settings to all of the spheres. Select all of the spheres, deselect the sphere with physics, reselect it last so it is the active object. Then use the physics toolbar to apply the physics to all selected objects. (see explanation



6) Set the final timestep for the simulation to 100.



7) The default physics settings may not get the desired results. Modify the physics setting for higher accuracy. Depending on the number of particles, it might be necessary to tradeoff accuracy for simulation time by decreasing the number of iterations and steps. Once done, press 'Bake All Dynamics'. It may take several minutes to complete the simulation. The progress bar in the info bar will show the progress in the simulation. Once done, the simulation that was used in the animation will be completed.





8) If the simulation is settled down on the last frame, this is a reasonable approximation of the filling in the container.



An example with an alternative container.



This solution can be used for any shape container. More particles can be used, the simulation times will be higher with more particles.



Blend file -