EDEM Simulator Settings

Time Step

The Time Step is the amount of time between iterations (calculations) in the Simulator. The Time Step is either fixed and remains constant throughout the simulation or the Auto Time Step option can be chosen.

The value is displayed as both the actual Time Step (in seconds) and as a percentage of the Rayleigh Time Step. The Rayleigh Time Step is the time taken for a shear wave to propagate through a solid particle. When using a simulation with a range of particle sizes, the Rayleigh Time Step is calculated based on the smallest particle size.  This means during a single Time Step disturbances cannot propagate further than the immediate neighbors. Based on this the resultant forces on a particle are determined exclusively by its interactions with particles with which it is in contact. It is also assumed that all energy is transferred via Rayleigh waves.  When using a Normal Distribution the Time Step is set based on the lower capped value, if no capping is used the Time Step is set based on the particle which has size ‘mean – 3 * standard deviation’.

The smaller the Time Step, the more data points are produced. A large number of data points produce results with a very fine level of detail; however, the simulation time will be longer due to the increased number of calculations required.

Sphero-Cylinder Time step

The Rayleigh Time Step for Sphero-Cylinder particles is currently calculated in the same way as for Multi-Sphere particles using the Sphero-Cylinder radius. It does not take into account the length of the Sphero-Cylinders and users should be aware that a smaller fraction of the Rayleigh Time Step may be needed in cases with large aspect ratio particles.

Polyhedral Time step

The Rayleigh Time Step is the only type of Time Step automatically calculated for polyhedral particles. To calculate the Rayleigh Time Step for polyhedral particles, the effective radius of the smallest particle, Reffective is used.

Choosing a Time Step

Typically a Time Step is chosen as a percentage of the Rayleigh Time Step value. The normal range is 10%-40% of the Rayleigh Time Step, the higher the particle energy in the simulation (higher forces, faster collisions) the lower the Time Step value.  20% of the Rayleigh Time Step is the default value recommended.

The Rayleigh Time Step is based on Particle elements only, if using models with additional elements (such as bonds), alternative Time Step methods should be considered.

If the Time Step is too small, the simulation will take a long time to run. If the Time Step is too large, particles can behave erratically. For example, the figure below shows two particles moving towards each other. At Time Step 1, they are some distance apart. The particles are moving towards each other at some speed, and when their positions are recalculated at Time Step 2 they are apparently over-lapping. The particle forces and energies are recalculated at this point; however, these values are very large due to the apparent overlap; this supplies each particle with a very large and incorrect velocity, and they move off erratically at Time Step 3. Subsequently, these particles can come into contact with other elements in the system, often causing an 'explosion' of incorrectly moving elements.

  1. Auto Time Step
    If this checkbox is selected, EDEM will automatically adjust the Rayleigh Time Step to the smallest radius that is currently in the simulation rather than the smallest radius to be created. It uses 20% for this particle size. For example, a simulation that has 10 mm particles  from t=0s and 3 mm particles from t=3s will use 20% of the Rayleigh Time Step obtained with 10mm until time 3s, when it would be updated to the Time Step value obtained with 3mm.

  2. Time Integration
    Select the desired time integration scheme between Euler, Position Verlet and Velocity Verlet.

    1. Euler
      Euler is a first-order time integration method and is used as the default time integration method for EDEM.

    2. Position Verlet, Velocity Verlet
      Position Verlet and Velocity Verlet are integration methods of second order. Velocities and positions are calculated for time steps which are t/2 apart. The Verlet methods come at a slight additional computational cost (up to 10%); however, the methods come with increased computational accuracy.

      These methods are compatible only with Multi-Spheres.

Simulation Time

The simulation time is the amount of real time your simulation represents.

  1. Total Time: The total actual length of the simulation in seconds or minutes.
  2. Required Iterations: Indicates the number of iterations required to complete a simulation of a defined time using the defined Time Step. For example, 5e+05 iterations are required to produce one second of simulation with a Time Step of 2e-06.

Data Save

  1. Target Save Interval: How often data should be written out to a file. This determines the number of data points (the points at which data is collected from the simulation for analysis).
  2. Synchronized Data Save: The actual time that data will be saved. This is usually the same as the target save interval,  but may differ depending on the Time Step time.
  3. Data Points: The number of data points as determined by the target save interval, It is calculated as the total run time divided by the target save interval.
  4. Iterations per Data Point: The number of simulator iterations for each data point.

Selective Saves

When simulating, EDEM saves particle, geometry, and interaction data for post-processing and analysis. Often you may only be interested in a subset of this data: EDEM’s selective save feature lets you select which attributes are saved and how often by defining partial saves. Using selective save can greatly reduce simulation data file sizes as well as enabling you to run even larger simulations.

Selective save works by combining full saves (where all data is written out) and partial saves (where only selected data is written out) to create smaller data sets. For example, assume you have a simulation with a total time of 10 seconds that writes-out every 1 second. By default, this creates a full save of all simulation data every second:

0s

1s

2s

3s

4s

5s

6s

7s

8s

9s

Full

Full

Full

Full

Full

Full

Full

Full

Full

Full

Setting the Full Data Save Every option to 3 for example, intervals results in a full save only every 3 seconds (the first write-out is always a full save):

0s

1s

2s

3s

4s

5s

6s

7s

8s

9s

Full

Partial

Partial

Full

Partial

Partial

Full

Partial

Partial

Full

 

To enable selective save:

  1. Select the Selective Save checkbox.

  2. Enter a value into Full Data Save Every to set the frequency of full data saves. For example, set this to create a full save every 5 intervals.

  3. Click Configure Save.

    The Data Save Configuration window is displayed.

  4. Select which particle, geometry, and interaction attribute data to save in a partial save. Use the appropriate checkbox to include an attribute in the save. Any other required attributes will also be enabled. Unselect a data group to exclude related attributes.

The Data Save Configuration window also displays an estimate of the per-particle or per-triangle reduction in data size for each Time Step.

If you stop the simulation early then switch to the analyst, the current Time Step will be a full save irrespective of the full save interval.

Particle Data

Data Group Attribute data
Base Particle Data ID
Position
Orientation
Number of particles
Volume
Voidage
Mass
Moment of Inertia
Potential Energy
Velocity Velocity
Kinetic Energy
Angular Velocity Angular Velocity
Rotational Kinetic Energy
Total Energy
Force and Torque Compressive Force
Total Force
Torque
Custom Properties Custom Property

Geometry Data

Data Group Attribute Data
Base Geometry Data ID
Position
Surface Normal
Node
Number of Geometry Elements
Velocity
Angular Velocity
Force and Torque Compressive Force
Total Force
Torque
Custom Properties Custom Property

Interaction Data

Data Group Attribute Data
Contacts (Particle-Particle)     All particle-particle contact attribute data
Contacts (Particle-Geometry) All particle-geometry contact attribute data
Collisions (Particle-Particle) All particle-particle collision attribute data
Collisions (Particle- Geometry) All particle-geometry collision attribute data
Bonds All bond element attribute data
Custom Properties All interaction-based custom property data

Output Results

While simulating, EDEM can export simulation results. This is useful to assess the behavior of your simulation during processing without the need for stopping and post-processing in the EDEM Analyst.

First setup a config query in the EDEM Analyst > File > Export Results data. Multiple export data Configs can be setup however only one can be used to output results in the Simulator.

When in the EDEM Simulator, enable the Output Results and select one of the available export data Configs. The data exported is governed by the Configuration ID chosen.

The exported data corresponds directly to the query defined in the Analyst, including name and location of the CSV file. See Exporting Data for more information.

Exporting data during the simulation

You can export csv files from your simulation during runtime. This allows you to generate results from your simulation without the need to save timestep data out, therefore, reducing the data storage requirements for the simulation.

In order to do this, you need to set up queries. This includes the attribute you wish to export, the start and end time of export and the frequency of the export. A separate csv file is created per query and different queries can be written at different start and end points with different frequencies.

Stopping and restarting a simulation which has the Simulator Queries option selected will affect the results. Attributes which are relative to the whole simulation, such as average are calculated during the run period. Therefore, stopping and starting the simulation will generate two or more values for average.

This approach supersedes the Output Results option currently in the simulator. If a simulation has already been run and the simulation is restarted, the data will be overwritten or appended to the end of the file. The point at which the simulation is restarted/started is indicated by the repeat of the header in the exported csv file.

Selection and bins can be added in the analyst for use with data export.

Adding queries to your simulation

When you select the Simulator Queries checkbox, the Setup Simulator Queries dialog box is displayed where you can define queries.

In the Setup Simulator Queries dialog box, the options to define queries can all have a unique Start Time, End Time, and Interval Time similar to those in EDEM Analyst.

After you have defined the queries, start the simulation. The csv files will be copied to the folder which contains the .dem file associated with the simulation.

 

Simulator Grid (OpenCL and CPU Engine only)

EDEM calculates the smallest particle size in the simulation (Rmin). You then set a grid cell size based on this particle size. 3 Rmin is the default value, typical ranges are 3-6 Rmin, the Estimate Cell Size option provides guidance on the optimal Cell Size for a specific simulation Time Step. The grid does not impact on the simulation results, only the simulation speed. A smaller grid size results in more memory (RAM) usage; reducing the grid cells size below 2 Rmin can result in a significant slow-down for the simulation.

Click the Show Simulator Grid  icon to display the CPU engine/ Particle-Particle grid in the Viewer.

EDEM GPU has a different grid size for Particle-Particle and Particle-Geometry interactions.  The Particle-Particle Rmin size is set in the Simulator Settings tab, the Particle-Geometry cell size can be defined in the Advanced Settings. This is to allow users to specify the optimal grid setting for the GPU Particle-Geometry interactions. Users can use the default ‘recommended grid cell size’ or a custom value. Typically the optimal Particle-Geometry grid setting for GPU is larger than the optimal CPU or Particle-Particle value.

The main computational challenge in DEM simulation is the detection of contacts. By dividing the domain into grid cells, the simulator can check each cell and analyze only those that contain two or more elements (and therefore a possible contact), thus reducing processing time. The results achieved by a simulation are not affected by the number of grid cells, only the time taken to reach them.

The simulation process is as follows:  

  1. Draw the grid, dividing the domain into cells of a specified size.

  2. Identify active cells (those containing two or more elements) and check for contacts.

  3. Calculate forces on elements.

  4. Reposition elements as a result of any force acting upon them.

  5. Active cells are again identified and the process repeats.

As the grid length decreases, fewer elements are assigned to each grid cell and contacts become easier to resolve. The fewer particles there are 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 idealized length of a grid cell is 2-6Rmin where Rmin is the minimum particle radius in the simulation.

The CUDA solver uses a different contact detection method to Multi-Sphere eliminating the need for a grid. Therefore, there is no option to set a grid size in the CUDA solver.

Collisions (CPU only)

Storing Collision Data

Example force-time graph for a single particle-geometry collision where each point is a contact.

During a simulation, data can be recorded about both contacts and collisions.

  1. Contacts are the impacts occurring between elements at data write-out points. In other words, the contact is in progress when the write-out takes place. The contact has an associated force, position and so on - these are discrete values. If two elements stay in contact with each other for some time such as over 4 write-out points, four contacts will be stored and each of these may have a different force, position and so on.
  2. Collisions are complete impacts.  When two elements collide it will register as one collision, regardless of how long the elements stay in contact for. Data is collected for the duration of the collision. for example, total energy loss, min/max/average normal force data and so on. Collisions may occur in-between write-outs and never register as contacts.

EDEM records all contact data as standard. To record collision data, enable Track Collisions. Storing collision data will significantly increase memory usage and reduce the speed of the simulation. Collision data is stored in memory until it is written out at the rate specified in the Simulator. If a large number of collisions are occurring and the write out frequency is too low, the amount of data being stored in memory will become very large and use up all memory resources. To minimize this, be sure data is written out frequently.

As of EDEM 2020.1, the forces reported by EDEM for collisions are undamped.

Energy Loss

Energy loss in a collision between two elements (particle-particle or particle-geometry) lasting n contacts over time is calculated by:

where

F

=

Contact force [N]

Vi

=

Relative velocity after contact [ms-1]

Vi-1

=

Relative velocity before contact [ms-1]

dt

=

Time step [s]

Simulator Engine

A simulation can run in CPU mode or in GPU mode. GPU mode requires supported GPU hardware. There are two GPU engines, the CUDA engine and the OpenCL engine.  The CUDA engine will run Polyhedral, Sphero-Cylinder and Multi-Sphere simulations and requires a suitable Nvidia graphics card. The OpenCL engine will run Multi-Sphere simulations and will run on any graphics card which support OpenCL.

Selecting Engines

You can select CPU, OpenCL or CUDA Engine. If the GPU option is not available, verify GPU compatibility using the CPU Solver as follows:

You can select the number of CPU cores, the number available depends on the CPU hardware available.


The Selected Engine allows you to select the GPU solvers.The number of GPU devices can be set. In addition,you can select the number of CPU Cores, as the processing is handled by the GPU card up to 4 CPU’s are recommended as the optimal value.

Checking CUDA GPU Compatibility

GPU CUDA engine requires your GPU device to support Nvidia CUDA 11.2 or above. To check hardware compatibility with the GPU go to Tools > Options > Simulator Engine and select the GPU’s from the list and then choose Start test. As shown below EDEM will report if the test and GPU setup is successful. If multiple GPU devices are found a test should be run on each GPU device required to run EDEM.

The test is a standard hardware test for Nvidia CUDA GPU. If the test fails, ensure that your Graphics Card drivers are up to date and try again or contact support with details of the GPU device used.

Only once the test has been run successfully will the GPU option be accessible from the Selected Engine dropdown menu.

Simulator Engine – GPU CUDA Solver

When you select the CUDA GPU Solver engine, you are presented with the following options:

Number of CPU Cores

The CUDA GPU engine works with both CPU and GPU. The recommended number of CPU cores when running CUDA GPU is 4 as this provides a good balance of speed vs. CPU use.

Total available memory size

This value shows the value in Megabytes that the percentage above represents for the selected GPU device.

GPU CUDA Advanced Settings

The advanced options for the CUDA GPU solver allow users to modify the precision used for the simulation and disable FMA optimizations.

EDEM allocates a set number of bytes of memory to store simulation information, such as particle position or velocity. The larger the number of bytes it allocates the greater the precision EDEM can work with. By default, EDEM simulations use 8 byte or "Double" precision storage. This means that information is stored at a very high precision. In many applications this level of precision is excessive and has a negligible benefit to the accuracy of simulations. High precision also slows down simulations due to the extra computational expense required to perform operations and slower memory storage/management.

Therefore, there are significant speed benefits to using the lower precision "Single" data type which only uses 4 bytes. It is possible that only using Single precision data may lead to noticeable differences in simulation results, compared to Double precision. Rather than solely using either Single or Double precision a combined, Hybrid, approach can be taken. This is achieved by storing key simulation parameters (such as particle position) in double precision and using Single precision for the remaining properties. The result of this method produces simulations running nearly as fast as solely using single precision, whilst maintaining most of the accuracy of double precision. In order to maintain most of the accuracy of Double precision, storage of key simulation properties is, whilst gaining the computational speed a mixture of these data types can be used in a Hybrid method.

The following precision methods are available in EDEM:

Double

  1. Standard data type for EDEM
  2. Highest precision
  3. Slowest simulation speed

Single

  1. Lowest precision
  2. Computational speeds up to 2.5x faster than double

Hybrid

  1. Strategic usage of Double and Single precision
  2. Computational speeds up to 2.5x faster than double

Disabling FMA in CUDA

There is an optimization applied by the CUDA compiler known as 'fused-multiply-add' which combines addition and multiplication into a single instruction. More information is available at the following location: 

https://docs.nvidia.com/cuda/floating-point/index.html#fused-multiply-add-fma

This will give improved performance, however there are some cases where it can cause the simulation results to change by a small amount. Therefore it can be helpful to disable this option when developing new code and trying to compare results between versions. This optimization can be disabled by passing the command line option --nofma=1 or by disabling it in the Advanced Setting dialog in the simulator options.

This is a technical option that be enabled as it is the default setting.

Checking OpenCL GPU Compatibility

EDEM GPU OpenCL engine requires your GPU device to support OpenCL 1.2 or above. To check hardware compatibility with the GPU, go to Tools > Options > Simulator Engine > OpenCL and select the GPU’s from the list and then select Start test. As shown, EDEM will report if the test and GPU setup is successful. If multiple GPU devices are found, a test should be run on each GPU device required to run EDEM.

The test is a standard hardware test for GPU. If the test fails, please make sure your Graphics Card drivers are up to date and try again or contact support with details of the GPU device used.

Only once the test has been run successfully will the GPU option be accessible from the Selected Engine dropdown menu.

Simulator Engine – GPU OpenCL Solver

When the OpenCL GPU Solver engine is selected, you are presented with the following options and information:

  1. Number of CPU Cores
    The GPU engine works with both CPU and GPU. The recommended number of CPU cores when running GPU is 4 as this provides a good balance of speed vs. CPU use. If using the GPU with the EDEM API then the API models run on CPU when the contact detection runs on the GPU. As such, depending on the complexity and definition of the API model more than 4 CPUs may provide the optimal speed.

  2. Number of GPU Devices
    This displays the Number of GPU Devices available on the installed GPU hardware, this is not a value that can be modified. The definition of Compute Unit differs depending on the GPU manufacturer. A compute unit is a Stream Multiprocessor for an NVidia GPU or a SIMD engine in an AMD GPU. For Nvidia each stream multiprocessor has a certain number of processing elements or what Nvidia calls ‘CUDA Cores’. Typically the more processing elements the faster the GPU card.

  3. Available memory percentage
    Indicates the maximum % of the computer’s graphic memory that EDEM is going to use. The default value is set to 75% in order to allow some memory for other non-EDEM related processes.

  4. Total available memory size
    This value shows the value in Megabytes that the percentage above represents for the selected GPU device.

GPU OpenCL– Advanced Settings

When selecting the GPU solver engine, the GPU Advanced settings are available:

  1. Sphere-Geometry Grid Settings

    You can set the Sphere-Geometry (Particle-Geometry) grid settings to be a different value to the Sphere-Sphere grid. The default recommended value targets the fastest simulation speed for GPU. However, you can also set your own custom value.

  2. Alternative Contact Detection

    The alternative contact detection Method is a hybrid contact detection option which switches between two algorithms depending on simulation settings.  The algorithms primarily offer benefits when working with a large particle size distribution or with a domain consisting of small amounts of empty space. In these situations memory usage should be reduced resulting in an ability to run larger simulations in comparison to the standard contact detection Method.

    This feature is available to use but it is recommended that you test if gains are achieved before activating for mainstream work.

  3. Multi-GPU Settings

    “Memory Compact Time” defines an interval at which Multi-GPU simulations will do a memory compact - reducing the physical GPU memory used while running Multi-GPU simulations. This is achieved by removing unused blocks of memory generated when particles pass from one GPU domain to another. This same process happens during regular save internals so “Memory Compact Time” will only have a significant impact when saving infrequently (i.e. when Save Interval > Memory Compact Time). Default value is 0.5 s and it is not advised to use very small values since this will impact simulation performance.

  4. GPU Factory

    If ‘Use Factory Group’ is selected then this allows you to group particle factories together. All the particles in a simulation are created and tracked within factory domains by the CPU. The CPU will stop processing these particles and hand them over to the GPU once they leave the factory domain. If they re-enter or cross any factory domain afterwards, the CPU will not acknowledge them. Any particles re-entering the factory will likely lead to a particle explosion in the factory domain.

    To avoid this unexpected behavior, if several factories are close to each other and the particles might pass through each other’s factory domain, you can enable “Use Factory Group”. This feature allows you to group several factories together in order to make EDEM deal with them as one factory domain through the CPU.

    The larger the number of particles inside the factory domain (one factory or one group of factories), the higher the CPU usage and the lower the GPU usage involved. In extreme cases, where the factory covers the whole domain, all particles would be processed by CPU.

    At the same time, EDEM will detect when a factory stops generating particles. Hence, the corresponding factory domain would become invalid and all the particle information within it would be handed over from CPU to GPU to proceed with the calculations.

    1. Use Factory Group checkbox
      Enable/Disable the use of factory groups in the GPU simulation.

    2. Groups
      The dropdown list shows all the factory groups already defined. Add/delete a new group by clicking on the green/red crosses next to the selected group. You can also rename a Factory Group.

    3. Factories
      The box shows the Grouped Factories within the highlighted Group in the “Groups” dropdown list. Factories can be added and removed with the green/red cross below the Factories box. Any factory defined in the creator that has not been used in any other Factory Group will be selectable for a new grouping.

Number of Cores

This enables the number of processor cores used in the simulation to be specified via the Number of Cores dropdown. When you start a simulation, EDEM checks out the requested number of units from the license system (if available).

If your computer has hyper-threading enabled, EDEM will include these in the number of processors but these will not provide the same performance improvement as real cores.

Visualization

While simulating, frozen particles are shown in blue/black, while unfrozen particles are shown in yellow:

The black coloring is shown only on the CUDA solver. It indicates that the particles are not only frozen but, have also been completely offloaded from the GPU (further increasing performance). The difference is only visible while simulating; it has no impact on results.

When a geometry object is defined as Visualization, all material inside the Object will be active and any stationary material outside the object will be excluded from any calculations, which improves simulation speed.  A particle excluded from any calculation is called a frozen particle. If a frozen particle re-enters the Visualization then it is automatically included in the calculations again.

To use this feature, a geometry section must first be defined as a Visualization in the Creator. To do this, right click on the Geometries section, select Add Geometry and choose Box. Rename the new geometry and set the Type to Visualization. Please note, since the Bulk Material will not physically interact with the Visualization object, there is no option to assign material when Visualization has been selected.

Next, set the dimensions of the Visualization Object suitable for the simulation, any material inside the domain will be active and any outside may become frozen.

In the Simulator there are three main parameters for Visualization.

Check Interval

If the particle does not move in this time interval and it is outside the Visualization then the particle is flagged to be frozen.

Number of Checks

This determines the number of times EDEM will perform the check to see if a particle is to be frozen.

Displacement of Particles as a Percentage of the Radius

This is the condition that determines if the particle is stationary or moving. If the displacement of the particle within the Check Interval is greater than this value then the particle is considered to be moving, otherwise it is stationary and can be removed from the force and contact detection calculations.

Visualization is based on the method outlined in Mio et al., 2009.

Visualization Known Issues

  1. Visualization is not compatible with Multi-GPU.

  2. Frozen particles do not apply forces on geometry sections.

  3. Frozen particles are excluded from Contact Detection, forces and velocities are not computed.

Starting and Stopping a Simulation

The start/stop button is used to start or stop the simulation.

The current simulation time is shown in the Viewer Controls pane. All previous time steps are also listed. You can start and stop the simulation from any Time Step (current or previous) using the start/stop button. Simulations can also be stopped using the keyboard shortcut Ctrl + Shift + K.

Reducing Simulation Time

The following can help reduce processing time:

  1. Adjust the Simulator grid size.
  2. Check the Factory is working effectively.
  3. Save less data to the disk.
  4. Turn off the display auto-update option (minor).
  5. Activate the Visualization to freeze non-moving particles.
  6. Turn off data compression.

Simulation Parameters

The time taken by the Simulator to perform a single iteration, titeration, is significantly affected by the simulation parameters. An obvious parameter is the number of elements (particle surfaces and geometry elements) to be simulated. Consider if everything currently within the simulation is necessary to achieve a good result.

Extra parameters such as geometry dynamics and contact models can add to the computational overhead, especially complex models such as Hertz Mindlin with Bonding.

Grid Size (CPU and OpenCL only)

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 idealized 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. With large simulations, you must be aware of the total amount of RAM which EDEM is consuming and ensure this is below the RAM available. 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 size of the Domain will also affect the number of grid cells required so consider if it can be reduced.

Estimating 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:

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.

Particle Factories

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 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.

Save Less Data

Writing data to a hard disk is much slower than writing to memory so make sure only required data is saved. Increase the write-out period if possible or use Selective Save to only store the data which is of interest.

Auto Update Option

When the Auto Update option is selected (from the Viewer controls pane in the Simulator), 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.

Turn off data compression

When the data compression option is turned on 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.

This is set to 'off' by default.

Hardware and Drivers

titeration is affected by the amount of memory available to the software. Of equal importance is the type of memory, the processor(s) and the communication between the two. 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. The EDEM team has good links with hardware vendors and tests are continuously under way on possible speed improvements through hardware.

In addition to the hardware, maintaining up-to-date drivers can also help.

Preserving Contact Between Triangles

When working with physics models which have a contact history, particles can be seen to ‘jump’ (contact force spikes) when the particle moves from one geometry element to the next. This is because EDEM regards this as a new contact so the contact history is not preserved. In the Advanced settings menu, the option Preserve Contacts Between Triangles is available.  This will keep the contact history for a particle passing from one element to another.

A user-defined tolerance is required for this option to allow for geometries with minor variation in angle to be considered continuous.  The tolerance is defined by an angle, and is the maximum angle between planes at which they would be considered co-planar.

Example

A difference in angle of 10 degrees where contact is considered continuous vs an angle of 70 where it is considered as a separate contact.  The default value is 0.01 degrees. 10 degrees would be considered an extreme value.

(c) 2023 Altair Engineering Inc. All Rights Reserved.

Intellectual Property Rights Notice | Technical Support