A free C++/Python discrete Element workbench

Learn more

About this project

Welcome to GranOO, a robust and versatile workbench to build 3D dynamic simulations based on the Discrete Element Method (DEM) distributed under the free GPLv3 license.

What is GranOO ?

GranOO is not a software, GranOO is a collection of C++ libraries and tools that help users for building a specific DEM simulation. Python bindings have been recently released to improve user experience.


GranOO is modular ! You can build your own simulation by plugin specific treatments in any order. This design is perfectly adapted to conduct high level simulations for research activities with DEM.


GranOO is licensed under the GPLv3 license. It means that it is free... absolutely free ! You can redistribute it and/or modify its sources under the terms of the GNU General Public License.
Visit our gallery for getting a quick overview !

Quick tour

Main features

GranOO is a dynamic explicit DEM code specialized in modeling continuous materials with high amount of discontinuities. GranOO embeds mechanical, thermal and electrical models in order to perform multi-physic simulation. GranOO can also be used for granular simulation with arbitrary shapes and state-of-art contact detection processing.

Application field

GranOO implements regular contact laws, different kind of joints (for continuous modeling) and several explicit time schemes. This configuration is well adapted to solve multi-physical discontinuous dynamic problems like wear, multi-fracturation, impact

How using GranOO ?

GranOO does not make any assumption on your simulation. Each family of simulation requires to build a kind of application. In this process, you can both use Python or C++. For beginners, we recommend Python. You can deploy your simulation and set it through easy-to-read XML input files that describe the main steps of your simulation.


GranOO is not a commercial software. We are a small developer team and we do not have any time for developing nice and smart graphical interfaces. We choose to focus on the essential : models and physics. Since the 2.0 version, GranOO can use python as an easy interface language. So if you are ready to program with Python or C++, GranOO may be yours !

A simple example

The different simulation steps are described through C++ or Python plugins. GranOO embeds a huge collection of plugins that you can reuse at your convenience. However, if your simulation requires specific treatments, you can write your own plugins. This is easy, you just have to follow and fill the provided template files.

The example below shows the XML input file related to the granular rain example.

<GranOO TotIteration="20000" TimeStep="2e-5" OutDir="Results"/>
  <PlugIn Id="_NewSupportShape" Type="Box" DimX="1." DimY="0.25" DimZ="1."/>
 <Processing>  <!-- The time loop -->
  <PlugIn Id="AddElement"/>
  <PlugIn Id="_ClearLoad"/>
  <PlugIn Id="_ApplyGravity" X="0." Y="-10." Z="0."/>
  <PlugIn Id="_ManageCollision" Between="DiscreteElement/SupportShape"  ...some options here.../>
  <PlugIn Id="_ManageCollision" Between="DiscreteElement/DiscreteElement"  ..some options here.../>
  <PlugIn Id="_IntegrateAcceleration" Linear="Yes" Angular="Yes"/>

Ready-to-start ?

Please visit our installation instructions in order to install GranOO or go below to get a list of rigorous scientific productions related to this project.

Scientific production


Mohamed Jebahi, Damien André, Inigo Terreros, Ivan Iordanoff,
Discrete Element Method to Model 3D Continuous Materials,
ISTE, Wiley, Numerical Methods in engineering series, 2015

Mohamed Jebahi, Frédéric Dau, Jean-Luc Charles, Ivan Iordanoff,
Discrete-Continuum Coupling Method to Simulate Highly Dynamic Multi-Scale Problems,
ISTE, Wiley, Numerical Methods in engineering series, 2015

Damien André, Jean-Luc Charles, Ivan Iordanoff,
3D Discrete Element Workbench for Highly Dynamic Thermo-Mechanical Analysis : GranOO,
ISTE, Wiley, Numerical Methods in engineering series, 2015

Papers in peer-reviewed journal

André, D., Levraut, B., Tessier-Doyen, N. & Huger, M. (2017),
A discrete element thermo-mechanical modelling of diffuse damage induced by thermal expansion mismatch of two-phase materials,
Computer Methods in Applied Mechanics and Engineering, 318, 898-916.

C. Hubert, D. André, L. Dubar, I. Iordanoff, J.L. Charles, (2017),
Simulation of continuum electrical conduction and Joule heating using DEM domains,
International Journal for Numerical Methods in Engineering, 110, Issue 9, pp. 862-877 (2017)

L. Maheo, F. Dau, D. André, J.L. Charles, I. Iordanoff,
A promising way to model cracks in composite using Discrete Element Method,
Composites Part B: Engineering, Vol. 71, pp. 193-202, 2015

André D., Charles J.L., Iordanoff I., Néauport J.,
The GranOO workbench, a new tool for developing discrete element simulations and its application to tribological problems,
Advances in Engineering Software, Vol. 74, pp. 40-48, 2014

Goupil A., Iordanoff I., Charles J.L., Rinchet A.,
Modelling of Polishing Tools for High Spatial Frequency Defect Correction on Aspherical Surfaces,
Key Engineering Materials, Vol. 554-557, pp. 1232-1241, 2013

Jebahi M., Charles J.L., Dau F., Illoul L., Iordanoff I.,
3D coupling approach between discrete and continuum models for dynamic simulations (DEM–CNEM),
Computer Methods in Applied Mechanics and Engineering, Vol. 255, pp. 196-209, 2013

Terreros I., Iordanoff I., Charles J.L.,
Simulation of continuum heat conduction using DEM domains,
Computational Materials Science, Vol. 69, pp. 46-52, 2013

Pennec F., Alzina A., Tessier-Doyen N., Naït-ali B., Mati-Baouche N., De Baynast H., Smith D.S.,
A combined finite-discrete element method for calculating the effective thermal conductivity of bio-aggregates based materials,
International Journal of Heat and Mass Transfer, Vol. 60, pp. 274-283, 2013 preprint version

Jebahi M., André D., Dau F., Charles J.L., Iordanoff I.,
Simulation of Vickers indentation of silica glass,
Journal of Non-Crystalline Solids, Vol. 378, pp. 15-24, 2013

André D., Jebahi M., Iordanoff I., Charles J.L., Néauport J.,
Using the discrete element method to simulate brittle fracture in the indentation of a silica glass with a blunt indenter,
Computer Methods in Applied Mechanics and Engineering, Vol. 265, pp. 136-147, 2013

André D., Iordanoff I., Charles J.L., Néauport J.,
Discrete element method to simulate continuous material by using the cohesive beam model,
Computer Methods in Applied Mechanics and Engineering, Vol. 213-216, pp. 113-125, 2012

Duplessis-Kergomard Y., Dau F., Iordanoff I.,
Implementation of a Discrete Element Method for the space-time modeling of loading in the case of a soft shock: qualitative approach,
International Journal of Computations and Modelling, vol.1, no.2, 39-72, 2011


Damien André, Jean-luc Charles, Jérémie Girardot, Cédric Hubert, Ivan Iordanoff, Iñigo Terreros and a lot of contributors !


To contact us please send an email to team@granoo.org