Release Notes

This section contains information about the EDEM release, such as key features, enhancements, bug fixes, and known issues.

Key Features

This section describes the key features in EDEM version 2025.

Volume Packing

  • Volume Packing has the following major updates to improve usability and functionality:
    • The ability to set Total Mass instead of Solid Fraction
    • The EDEM Simulator Progress Bar now indicates the progress of Volume Packing prior to the start of a simulation
    • The ability to cancel Volume Packing before completion, with particles being retained

Fibers Bonding Model

The Fibers Bonding model has been introduced specifically for the modeling of fibers. It accurately handles the stiffness of cylindrical-section, curved and heterogeneous fibers, where the thickness and material properties can change along the fiber. It features bending-caused fiber breakage and plasticity.

Liquid Bridge Model

The Liquid Bridge Model introduces a cohesive force between two particles (or between one particle and a Geometry) when particles are wet. Consider the use of this model when the material is slightly wet or partially saturated, but not when it is fully saturated.

Linear Elastic Bonding Model

The previous implementation of the LEBM required the contact radii to overlap to maintain the bonds. With the addition of the Preserve Contact functionality to the API, bonds can now extend beyond the contact radius and will break only when the specified force is reached.

Enhancements

This section describes the enhancements in EDEM version 2025.

EDEM Creator

  • Contact Radius for Polyhedral Particles
    Polyhedral particles can now be given a contact radius.
    Note: The contact radius for polyhedral particles is defined as the distance from the polyhedral surface which differs from Multi-Sphere particles where the contact radius is calculated from the respective sphere center.
  • Unique names are now enforced for Factories

    A restriction has been added to the Creator where two factories cannot have the same name. By default, EDEM Creator will increment names. For example, 'New Section 0' (geometry) would have 'New Factory 0' and 'New Section 1' would have 'New Factory 1'. However, you can override this restriction and set the name of both factories to 'My Factory'. Legacy decks can still be opened and will run as expected, but this restriction will apply to any new factories made in this version and later. This increases usability with external tools such as EDEMpy, allowing referencing of factories by name alone (for example, 'My Factory 1'), instead of requiring the Geometry section and name (for example, 'My Factory Geometry':'My Factory 1').

API

  • API Managers are now extended with lists of all Materials, Particle Types, and Geometries

    New API functions have been added to list all of the materials (bulk and equipment), particle types, and Geometries in a simulation deck.

  • Particle Body Force access to scale

    Particle Scale can be now accessed in the Particle Body Force model via the Particle Manager.

  • Custom Counter Property

    A new Custom Counter Property has been created to allow easy and efficient data collection during runtime. The Custom Counter Property essentially creates an array of variables from Min, Max, and Number of Bins as defined by the contact model (values can also be supplied using the API GUI). Each variable or bin can be incremented using integers to keep track of events within the defined range. The range can be defined as either a linear scale or lognormal and EDEM will also track the number of values which are out-of-range to allow you to assess suitability in post-processing.

    The new Custom Counter Property is fully compatible with EDEMAnalyst with a new graphing option called Frequency Spectra designed to display data collected by this counter property. For this version of EDEM, the Custom Counter Property is only available for Interactions, for example, one counter per interaction pair, but will be extended in the coming releases to cover Particle Types, Geometry Sections, and Simulation.
    Note: Example contact models demonstrating how to use this property will be available on Altair Community soon.
  • Particle Body Force access to Moment of Inertia

    A new version of particle data structure SParticle is now available which includes the Moment of Inertia of the particle. This structure is used as an input to the externalForce() function in the APIParticle Body Force. Also, a new IParticleManagerApi_1_7 is now available, which supports the new structure SParticle.

  • Preserve Contact Status

    Preserve Contact capability has been added to force EDEM to return the same contact at the next Time Step even if it does not meet the usual contact conditions. For example, this allows a bond to be extended beyond the limit of the contact radius which reduces the contact radius dimension needed. This, in turn, leads to a reduction in unnecessary contacts being processed and a greater return in performance.

    The Preserve Contact capability is activated with an API flag (preserveContactEnabled) and the new API Contact Manager is used to set Preserve Contact.
    Note: The Preserve Contact has a maximum distance for detection which is 4 Rsub by default, but this can be increased in the settings. Extending this value will impact performance in simulations running on multi-GPU and multi-CPU systems as more particles will need to be available across regions.
  • Increased buffer size for parameterData

    The maximum value for GPU parameter data has been increased to 10 MB.

  • API flags to enable specific functionality

    A new system of flags has been introduced for the API models to easily enable or disable features such as the use of Custom Properties or Contact Factor. New flags have also been added to allow the API model to show CPU/CUDA support and compatible particle types. Flags should be set in the setup() function and will default to disabled if not set.

  • API Particle Manager has extended access to Particle Prototype data

    The API Particle Manager has new functions to access Mass, Volume, and the Moment of Inertia for the Particle prototype, as defined in EDEM Creator. These values can then be scaled using the scaling factor for individual particles as required.

  • API Managers have an improved workflow
    From EDEM API Version 3.8, API Managers can be accessed from any function, with a simple getter: 'getApiManager()- ... ' function. It is no longer necessary to dynamic cast to get the required manager, or set any version. The getter function will always return the latest available manager version.
    Note: Although API Managers can be called from the calculateForce() and externalForce() functions, they are primarily intended to gather required information ahead of the simulation. There will be an impact on performance by calling the API Managers repeatedly during simulation. Hence, a better approach is to retrieve data using the starting() function and make it available as parameter data to ensure the best simulation performance.
  • Geometry Section ID added to CUDA

    The CApiGeomTriangleInfo class has been extended to include a new getTypeIndex() function. This allows the API writer to retrieve the ID of the Geometry section to which the triangle element belongs.

EDEMpy version 1.7.0

EDEMpy Version 1.7.0 contains the following updates:
  • EDEMpy: Collision Type ID

    A new getCollisionTypeIDs() function has been added for the Collision Type ID.

  • Deck name and path available when running script in EDEM Analyst

    Variables have been added to the global python environment so the user-written script can access the path and name of the simulation deck.

  • EDEMpy: Create empty deck

    The EDEMpy.Deck() function has been extended so that the 'w' flag will create a new EDEM deck if the specified name does not already exist.

System

Bug Fixes

This section lists the fixes for issues in EDEM version 2025.

  • Large logo scaling values was causing EDEM to shut down.
  • Deleting particles in the Creator was causing EDEM to shut down.
  • Geometries copied with an attached volume packing factory was allowing incorrect settings.
  • OpenGL features missing error were shown for OpenGL versions between 2.1 and 4.0.
  • Repeatedly accessing the API Model Parameter dialog box was causing EDEM to shut down.

Known Issues

This section describes the known issues in EDEM version 2025.

Non-manifold Geometry sections from legacy decks

In versions prior to EDEM 2024, Geometries could incorrectly be assigned as volume (closed) Geometries instead of surface (open) Geometries. From EDEM 2024 onwards, if non-manifold Geometries (when more than two triangles share the same edge) are loaded from an older deck, they will be converted to surface (open) Geometries. This will not affect simulation behavior unless the Geometry has volume packing, a factory attached, or if the mass, center of mass, or Moment of Inertia was being used (in which case, it is recommended to recompute them in the Geometry Mass tab or re-import the CAD file). A warning will be displayed when this conversion happens.

EDEM Solver Compatibility

The EDEM Solver Engine has some restrictions on the types of simulations it can run in the current version. For more information about solver capabilities, see EDEM Solver Capabilities.

MotionView Geometry import

To use the parent-child functionality in EDEM with a rotating Geometry imported from MotionView, the Geometries local origin must be moved using the local origin offset to the center of the geometry. If the local origin is not at the center of the rotating geometry, the child will move around an axis relative to the automatic local origin (0,0,0). This will cause the child to move in unwanted directions.

EDEM CPU utilization can be higher than expected

On some computers, the Windows Task Manager can show that EDEM is using significantly more CPU threads than expected. This will typically happen when there are many idle CPU threads available. As a workaround, you can create the following environment variable: OMP_WAIT_POLICY=passive. This will restrict the number of CPU threads EDEM is using to the number that you have specified. Testing has not shown this issue to have any noticeable effect on simulation performance.