Code: microMegas

Revision as of 11:42, 2 September 2010 by Florina (Talk | contribs)

Jump to: navigation, search
Name microMegas (mM)
Status released
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)
Known problems None
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 [1]. 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 [2]
    • serial version mM
    • parallel version (openMP) mMpar

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.


microMegas can be freely downloaded from the original development site at the French Aerospace Lab. It can also be downloaded from the CAVS Cyberinfrastructure Repository of Codes in two versions:

  • 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.

Input files

The input files are located in the mM/in directory. The following files are needed to run the mM simulation.

  • ContCu

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) 
  • Cu

This is the file containing the material variables. See the existing file for more details. An example of this file is given below.

26.6            ModuleG0                : G(0)=Shear modulus (GPa) at T = 0 K
0.0             dmusurdT                : rate of the Shear modulus temperature dependency
0.347D0         DPOISS                  : Poisson modulus

30.D6           TAUIII                  : stress defining the begining of stage III (GD) in Pa
0.9             BETA                    : 1st cross-slip parameter - pre-exp term (GD)
0.6             ALPHA                   : 2d cross-slip parameter - Ratio TauG TauD (GD)

CFC             crystal_structure       : Cristallographic symetry of the material (VARMVT)[2]
1               Nb_slip_types           : Number of slip system family (VARMVT)

2.86378         VecBurgers              : Norme of the Burgers vector (en Angstrom)
-1 -1 -1        Slip % planes           : ireference glide plane
-1 0 1          Slip % directions       : reference gliding direction
12              Slip % Nsystemes        : number of slip systems (all of the same crystallographic type)
2 2 2 2         Numero_loi_brute        : velocitu law applied to the vis,mixte1,edge,mixte2 dislocation caractere

2               NLV                     : Number of velocity law to consider

1               Nloi                    : velocity law index
0               Slip % Arrhenius        : clef : /=0 thermally activated, 0 = athermal
1.D-4           Slip % Coef_visqueux    : viscous friction coeficient
0.              Slip % Max_friction     : dry friction coeficient (Peierls) in MPa

2               Nloi                    : velocity law index
0               Slip % Arrhenius        : clef : /=0 thermally activated, 0 = athermal
5.5D-5          Slip % Coef_visqueux    : viscous friction coeficient
0.5             Slip % Max_friction     : dry friction coeficient (Peierls) in MPa

Velocity law exemples

-Please notice that one simulation can use several friction law, for different slip systems or even different line characters
-the law with index 1, is the one used during the initial configuration relaxation step (if defined).

Viscous law:

1               Nloi                    : velocity law index
0               Slip % Arrhenius        : clef : /=0 thermally activated, 0 = athermal
1.D-4           Slip % Coef_visqueux    : viscous friction coeficient
0.              Slip % Max_friction     : dry friction coeficient (Peierls)

Thermally activated law:

2               Nloi                    : Velocity law index
0               Slip % Arrhenius        : clef : /=0 thermally activated, 0 = athermal
262.0D6         Slip % taueff0          : effectif tau at zero K  (Pa)
1600.           Slip % V0               : constante de la loi de vitesse en m/s
5.D-6           Slip % L0               : longueur de refernce des vis pour la loi de vitesse en m.
1.06            Slip % deltaG0          : Energie d'activation totale en eV (pour T = 0 K pour les vis)
0.757           Slip % coef_p           : exposant p de la loie de vitesse (pour les vis)
1.075           Slip % coef_q           : exposant q de la loie de vitesse (pour les vis)


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.

back to the Material Models home

Personal tools

Material Models