Programming a micro-mechanical model of granular materials in Julia

Hao Xiong, Zhen Yu Yin, François Nicot

Research output: Journal article publicationJournal articleAcademic researchpeer-review

21 Citations (Scopus)


Modelling the mechanical behaviour of granular materials using the insight of physics, such as discrete element method (DEM), usually costs a lot of computing resources as a result of the storing and transferring of a large amount of particle and contact information. Unlike DEM, the micro-mechanical (MM) model, based on statistics of directional inter-particle contacts of a representative volume of an element, imposes a much lower computational demand while retaining granular physics. This paper presents such a kinematic hypothesis-based MM modelling framework, programmed by a dynamic coding language, Julia. The directional local law of a recently developed model is selected as an example of the implementation. The entire code of the MM model programmed by Julia is structured into several functions by which multilevel loops are called in an order. Moreover, a global mixed-loading control method is proposed in this study by which the stress control and strain control can be achieved simultaneously. Using this method, conventional triaxial tests and proportional strain tests are simulated to calibrate the model according to experimental data. The same experiments are also simulated by DEM for comparison with the MM model to estimate the computational efficiency and accuracy, which demonstrates a significant advantage of the MM model. This study can be directly used for modelling other materials by changing the directional local law and provides helpful guidance for programming of similar multiscale approaches.

Original languageEnglish
Article number102816
JournalAdvances in Engineering Software
Publication statusPublished - Jul 2020


  • Granular materials
  • High-performance dynamic programming
  • Julia language
  • Micromechanics
  • Microstructure
  • Multiscale

ASJC Scopus subject areas

  • Software
  • General Engineering


Dive into the research topics of 'Programming a micro-mechanical model of granular materials in Julia'. Together they form a unique fingerprint.

Cite this