Programming a micro-mechanical model of granular materials in Julia. (July 2020) - Xiong, Hao; Yin, Zhen-Yu; Nicot, François
Highlights: An effective micromechanical modeling (MM) framework is proposed. The entire code of the MM model is programmed in a dynamic coding language Julia. The computational efficiency and accuracy of the DEM and MM models are compared. Abstract: 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.