Reduce Simulation Time

The time taken by the Simulator to perform a single iteration, titeration, is affected quite significantly by the simulation parameters.

To reduce processing time:
  1. Adjust the Simulator grid size.
    The fewer particles per grid cell, the more efficient the simulator. If there is no more than one particle in each grid cell then no contact detection needs to take place so the simulation will progress faster. The ideal length of a grid cell is typically in the range of 2-6-Rmin where Rmin is the minimum particle radius in the simulation, the lower the Rmin value the greater the amount of memory (RAM) used.

    More grid cells require more system RAM so with large simulations you must be aware of the total amount of RAM which EDEM is consuming and ensure this is below the available RAM. This should be the physical RAM available, not paged, as swapping to the hard disk is slow by comparison. Also be aware that memory usage will increase if there are still further particles to be introduced. The number of grid cells required is also affected by the domain size, and it is recommended to consider if it can be reduced.

  2. Estimate the appropriate cell size.

    The estimate cell size is a heuristic algorithm which, based on the current simulation Time Step, will estimate the best cell size. Selecting this option will launch the approximation program and return an estimated best value for simulation performance.

  3. Select Auto Grid Resizing.

    When Auto Grid Resizing is enabled, EDEM will assess different grid size settings and estimate the best value to continue the simulation with. The check will be performed at the same frequency at which the Data Write Out occurs and the calculated value will automatically be applied before continuing with the simulation. The algorithm will test a range of grid cell sizes between 3 Rmin and 15 Rmin and assess how many contacts will be generated at each setting. It will then use these results to find the setting where the minimum amount of contacts will occur.

  4. Ensure that the Factory is working effectively.
    Particle Factories use contact detection to place each particle in a free region of space and any failed attempt will need to be repeated (up to max number of attempts). A Factory attempting to place particles in a region with a high particle volume fraction will significantly affect the simulation speed as the factory generator will find it more difficult to place each particle. If the particle volume fraction is above 25% (or lower for large size distributions), consider making the factory zone bigger or use a different approach to introduce particles. Use the Solve Report to find out the number of particles which are ‘regenerated’ by the factory. Ideally, this should always be less than the number of particles created.
  5. Save less data to the disk.
    Writing data to a hard disk is much slower than writing to the memory. Ensure that only the required data is saved. Increase the write-out period if possible or enable Selective Saves to only store the data of interest.
  6. Do not select Auto Update (minor).

    When you click the icon in the Viewer controls pane, the Viewer is regularly updated so you can observe progress. Reduce the computation required by ensuring Auto Update is off (or EDEM is minimized) when observation of the simulation is not required.

    The default value for Auto Update is 'On'.

  7. Activate Dynamic Domain to freeze non-moving particles.
  8. Do not select data compression.
    When the data compression option is enabled, the amount of hard drive space taken up by the simulation will decrease. However, the compression of the data increases the simulation time. Turning the compression off will speed up the simulation but will also increase the hard drive space used by the simulation.

    The default value for turning off data compression is 'Off'.

  9. Maintain hardware and drivers up-to-date.

    Though titeration is affected by the amount of memory available to the software, the type of memory, the processor(s) and the communication between the two are equally important. A faster processor is capable of carrying out more calculations per second and adding extra processors allows for the total computational load to be divided.