|Release Date||mM v. 1.0 - 09/2009; mMpar v. 1.0 - 01/2010|
|Authors||Developers Team at CNRS ONERA, France; mMpar v.1.0=extension of original mM v. 3.2 + OpenMP additions, by Florina Ciorba|
|Contact||CNRS-ONERA The Developers' Team or Sebastien Groh|
|License||GNU GPL License|
|Repository||mM v1.0 or mMpar|
|Documentation||mM: README.txt (mM/trunk); README.txt (mM/tags/1.0) or||mMpar: README.txt (mMpar/trunk); MSU.CAVS.CMD.2010-R0002.pdf (mMpar/doc)|
|Description||MicroMegas is a 3-D DDD (Discrete Dislocation Dynamics) simulations|
To report bugs, problems or to make comments please use the discussion tab above.
Overview of microMegas
MicroMegas (also known as 'mM') is an open source program for DD (Dislocation Dynamics) simulations originally developed at the 'Laboratoire d'Etude des Microstructures', CNRS-ONERA, France. mM is a free software under the terms of the GNU General Public License as published by the Free Software Foundation. Discrete dislocation dynamics (DDD) is a numerical tool used to model the plastic behavior of crystalline materials using the elastic theory of dislocations . DDD is the computational counterpart to in site TEM tests. MicroMegas is a legacy simulation code used to study the plasticity of mono-crystalline metals, based on the elasticity theory that models the dislocation interactions into an elastic continuum. In crystalline materials, plastic deformation may be explained by (i) twinning, (ii) martensic transformation or/and (iii) dislocation interactions (see Figure 1).
MicroMegas is used at CAVS for modeling dislocation interactions and reactions in an elastic continuum. The code is used in a hierarchical multiscale framework of the plasticity to obtain information related to the hardening of the material (see for example, the multiscale framework presented in this review paper). Details of the discrete dislocations model can be found in the methodology paper and in the references at the bottom of the page.
The discrete dislocation simulation code can be used for HCP, BCC and FCC materials.
Available DDD Codes
Micromegas is written in a mix of Fortran 90 and Fortran 95, consists of 16 source modules and contains roughly 25,000 lines of code. The pseudocode of the MAIN module in Micromegas is shown below.
! Module MAIN: simulation time loop TIME: do = 1, STEPS ... call SOLLI ! Apply load call DISCRETI ! Discretize the simulation volume !into dislocation lines/segments call FORCE ! Calculate interaction forces !FORCE calls SIGMA_INT_CP to calculate short !range interaction forces !FORCE calls SIGMA_INT_LP to calculate long !range interaction forces call DEPPREDIC ! Predict moving segments call UPDATE ! Search for obstacles, determine & make contact reactions, update positions of segments call CORRIGER_CONFIG ! Check the connections between all segments ... enddo TIME
A typical simulation run in Micromegas requires somewhere between 10^6 to 10^9 time steps to gain more insight about the plastic deformation range. Simulations with a smaller number of steps will very likely not capture the plastic range of deformation – the region of interest for the materials scientists studying plastic deformation. A simulation run over 10,000 steps using serial version of Micromegas requires 68 hours on average and reaches 0.2% of the plastic deformation on a Nehalem quad-core Xeon W3570 processor, with 6GB of triple channel 133MHz DDR-3 RAM. Simulations of about 10^9 time steps are needed to reach the desired percentage of deformation, that is, the strain rate as high over 1% as possible.
- mM ver 1.0 – serial mM [original ver. 3.2] with various Intel Compiler Optimizations, or
- mMpar ver. 1.0 – parallel version of mM [original ver. 3.2], where force calculations for each segment are calculated in parallel using OpenMP threads.
In this page we describe how to install, configure and run DDD simulations using mM ver. 1.0 (with Intel Compiler optimizations) and mMpar ver. 1.0 (with Intel Compiler optimizations and OpenMP threads). Installation instructions for mM ver. 1.0 and mMpar ver. 1.0 can also be found in the ‘readme’ files provided in each directory and subdirectory of the code. mM can be run in batch mode to get data analyzed with conventional graphical display programs (exemples of Gnuplot scripts are provided) or it can be used in interactive mode to simply visualize dislocations activity. Herein, we describe how to run the code in batch mode. For instructions on how to run mM in interactive mode, please refer to the ‘readme’ files provided with the code.
Before compiling microMegas on any of the HPC-CAVS computing systesm, one needs to route to the proper compiler and MPI path on the system using:
- swsetup intel - to use the latest Intel Fortran Compiler installed on the system, and
- swsetup openmpi-intel-64 - to use the latest version of the OpenMPI libaries, compiled with the Intel compiler for 64-bit systems.
The input files are located in the mM/in directory. The following files are needed to run the mM simulation.
The input file with parameters used for the simulation. For instance, one can select the type of simulation (initial or restart from previous simulation) via the parameter SIDEJA. One can also select whether cross-slip displacement of dislocations is desired by setting the GLDEV parameter accordingly (‘T’ for enabled and ‘F’ for disabled). Also, one can set the total number of simulation steps via the NSTEP parameter. Each simulation time step corresponds to 10-9 real time seconds. Therefore, for a very small simulation use NSTEP=500 while for a long running simulation set NSTEP to anything from 106 and above. Finally, one can also select how often should the simulation save the current state of the code, via the KISAUVE, KISTAT, KKIM and KPREDRAW parameters. For more details, check the file that comes with code. An example of the content of this file is given below.
0 SIDEJA Simulation state key: 0=New or restart with control modification; 1=simple restart 0 mode_deformation 0=strain rate.; 1=make carto; 2=run carto; 3=stress rate.; 4=creep; 5=fatigue; 6=metalofute; 7=metalofute2 14.8 echelle simulation reference scale, i.e. size of the elementary BD vectors. (unit = Burgers vectors) F Shear Applied stress is the resolved shear stress on the slip system with the highest Schmid factor (false = uniaxial stress) 4.0 Sigma0 Initial stress (MPa) 1.00D-9 DELTAT0 Elementary time step (s) 1000000 SigmaPoint Elementary stress increments (units ?) (mode_deformation=3,6,7) 20 EpsilonPoint Imposed strain rate (s-1) (mode_deformation=0,5,6,7) 1.5 RAID Apparente Young modulus (mode_deformation=0,5,6,7) 3.0D-5 EPSMAX Maximum plastic strain per cycles (mode_deformation=5) 1.D0 FSIG Sign of the loading for the first cycle (mode_deformation=5) 2 LINTEN Line tension key: 0 -> Friedel approx; 1 -> Isotropic; 2 -> Isotropic Foreman; 3 -> Anisotrpic solution F GLDEV Cross slip key:GLDEV=True means cross-slip active 0 0 1 Tensile_axis Tensile or compression uniaxial test direction (miller indices) 300. TEMPERATURE Tenperature (Kelvin) 100 Facteur_Depmax Maximum displacement tolerate for a dislocation segment (unit=BD vectors) 50 NstatControl Number of steps accounted for in the simulation control feedback procedure ((mode_deformation=0,5,6,7) 0 relax_TL Number of steps for the intial relaxation with only a line tension 0 relax_INT Number of steps for the intial relaxation with no applied loading and no contact reactions 0 relax_reac Number of steps for the intial relaxation with no applied loading 500 NSTEP Number of steps for the simulation 0.25 Ldis_act Reference mean length to force segments discretization (micron) 0.50 Ldis_nact Reference mean length to force segments discretization on inactive slip systems (micron) 20 Period Step periodicity at which the force on waiting (quasi-imobile) segments is recalculate 10 KRC Step periodicity at which the long-range contribution to the internal stress is recalculated (if Greengard method) 3.0 L_Boite Linear mean size of the domaines used in the Greengard method (micron), negative value means dynamically defined 5.0 AB_LENGTH_SEUIL Maximum length of segments neglected in the long range contribution (if Greengard method) 5 DCFJ Distance at which stress is calculated on the segments connected to a junction (unit: vector BD) 0 GB Barriers key: 0-> inactives, 1-> planes, 2->spherical, 3->regular 3D network (polycristal) 100 TauINT_LIMITE Critical stress at which the segments are considered as singular (MPa) 400 KISAUVE Writing periodicity of the simulation segment configuration and information needed to restart a computation 400 KSTATS Writing periodicity if simulation results 400 KKIM Writing periodicity of the trajectory film information 100 KPREDRAW Periodicity of the graphical interaface refresh 0 shift_rotation Key for the translation and rotation of the simulation box boundary conditions (see the file shift_rotation) -6542 iterinfo step of debbug (negative means no debbug) -2 sysinfo slip system of interest in the debbug procedure (needed in simulations with many segments)
Please remember to cite the relevant references from the list below when publishing results obtained with microMegas:
- F. M. Ciorba, S. Groh and M. F. Horstemeyer. Parallelizing discrete dislocation dynamics simulations on
multi-core systems. 10th Int. Conf. on Computational Science, Procedia Computer Science, 1:1, pp. 2129-2137, 2010.
- S. Groh, E. B. Marin, M. F. Horstemeyer, and H. M. Zbib. Multiscale modeling of the plasticity in an aluminum single crystal. Int. J. of Plasticity, 25, pp. 1456-1473, 2009.
- S. Groh and H. M. Zbib. Advances in Discrete Dislocations Dynamics and Multiscale Modeling, J. Eng. Mater. Technol. vol. 131:4, 041209 (10 pages), 2009.
- Multiscale Modeling of Heterogenous Materials: From microstructure to macro-scale properties. Chapter 2: Discrete Dislocation Dynamics: Principles and Recent Applications (by Marc Fivel). Edited by Oana Cazacu. Published by Wiley. ISBN: 9781848210479, 2008.
- B. Devincre, V. Pontikis, Y. Brechet, G.R. Canova, M. Condat and L.P. Kubin. Three-dimensional Simulations of Plastic Flow in Crystals. Plenum Press: New York, M. Marechal, B.L. Holian (eds.), 1992, p. 413
- L.P. Kubin and G. R. Canova. The modelling of dislocation patterns. Scripta Metall., 27, pp. 957-962, 1992.