Micromegas v_5 for the calculation of e
Relic density (freeze-out and freeze-in)
Direct detection rates
Indirect detection rates
Code to calculate the properties of one or two stable massive particles  in a generic model.  First developed to compute the relic density of a stable massive particle, the code also computes the rates for direct and  indirect detection rates of dark matter. It is assumed that a discrete symmetry like R-parity ensures the stability of the lightest odd particle. All annihilation and coannihilation channels are included in the computation of the relic density. Specific examples of this general approach include the MSSM and various extensions. Extensions to other models can be implemented by the user. The New Physics model first requires to write a new  CalcHEP model file,  a package for the automatic generation of squared matrix elements.  This can be done through LanHEP. Once this is done, all annihilation and coannihilation channels are included automatically in any model.
The cross-sections for both spin dependent and spin independent interactions of WIMPS on protons are computed automatically as well as the rates for WIMP scattering on nuclei in a large detector.
The neutrino flux and the induced muon flux from DM captured in the Sun and the Earth are computed as well as the exclusion from IceCube22.
Annihilation cross-sections of the dark matter candidate at zero velocity, relevant for indirect detection of dark matter, are also computed automatically. The propagation of charged particles in the Galactic halo is handled with a new module.

The decay widths of all particles in the model as well as the cross-sections for production of any pair of new particles at colliders are computed automatically as well as the production of a pair of dark matter particles with a jet.

Starting from version 4.2, the relic density of two stable massive particles as well as their direct and indirect detection rates are computed. It is assumed that the model contains two dark sectors, each with different transformation properties under a discrete symmetry.

Version 4.3 includes links to HiggsSignals, Lilith and SmodelS to confront a dark model with LHC results on the Higgs and on searches for new particles. Version 5.0 allows to compute the relic density of feebly interacting dark matter candidates via the freeze-in mechanism. The package includes the minimal supersymmetric standard model (MSSM), the NMSSM, the MSSM with complex phases (CPVMSSM), the little Higgs model (LHM), the inert doublet model (IDM), a inert doublet model with a Z3 discrete symmetry (Z3IDM), a model with inert doublet and singlet with a Z4 symmetry (Z4IDSM), a model with two scalar singlets and a Z5 symmetry (Z5M), a model with a Z' portal and a fermion DM (ZpPortal), the scalar singlet model (SingletDM), a model with a singlet vector lepton and a scalar DM (LLL_scalar). Facilities to include an arbitrary model are provided.

Other models available:
RHNM : right-handed neutrino dark matter
SM4 : SM with a fourth generation of lepton
UMSSM : MSSM with additional U(1) gauge symmetry

Present version (December 2021) is micromegas 5.2.13


micromegas 5.2.13 (02/12/2021)

1. The interface to NMSSMTools has been upgraded to the most recent version (5.6.0) - the mirror interface to this version of micrOMEGAs can be found on the NMSSMTools webpage.

micromegas 5.2.11 (24/11/2021)

I. Indirect Detection

a)  A new function that calculates the spectra of decaying DM including 1->2 and 1->3 decays.

b) When there are no 1->2 decay mode, the 1-> 3 decay mode of outgoing particles is used in calculating the spectra from DM annihilation.

c) The effect of the polarization of W and Z is included also for DM annihilation in two-component DM models.

d) We have fixed a bug where  the photon spectra generated in the WW channel was overestimated.

2. Direct Detection: a problem  caused by particle widths in t-channels was found in some special cases. The bug is now fixed.

3. In the recasting of Direct detection limits, there was a noticeable level of exclusion from DarkSIDE even in the case of zero DM signal. We consider it as a problem of DS statistical treatment. We have improved the code  such that the exclusion rate in case of zero signal  is 0.5.

4. A new interface to SMODELS 2.1.1 has been implemented, see

5.  To improve the speed in the calculation of DM annihilation into final states with virtual W/Z, we interpolate the 2->3 cross section. Some inconsistencies between the fast=0 and fast=1 mode were noted by T. Robens in the IDM model. We have improved the parameters of interpolation to solve this problem. Note that for the mode "fast=-1" we do not apply interpolation, thus allowing to check the quality of the approximation. Of course darkOmega works very slowly when choosing the flag fast=-1 together with VWdecay,VZdecay!=0.

6. Recent MAC compilers do not allow some C-code negligence that only lead to warnings in previous versions. The code has been improved correspondingly.

micromegas 5.2.7.a (01/04/2021)

1-  Removed a bug introduced with the new structure functions NNPDF31_lo_as_0118 and PDF4LHC15_nlo_mc (NaN in alphaQCD at low scale)

micromegas 5.2.7 (15/03/2021)

1-  In the interface to HiggsBounds/HiggsSignals the Higgs couplings to photons and gluons are now defined as couplings rather than coupling squared as required by the new HB/HS versions.

2-  It is now possible to activate the HiggsBounds and HiggsSignals switches independently.

3- HB/HS and Lilith are called using the same command for all models (hbBlocksMO and LilithMO respectively)

4- We have removed bugs present only in version 5.2.6, namely: a) information about the exclusion channels in HB/HS is now printed and b) the auxiliary directory for generation of matrix elements is now always deleted at the end.

micromegas 5.2.6 (03/03/2021)

1-  A  bug in the Direct Detection module for Xenon1T exclusion has been fixed, it had only a mild impact on the exclusion.

2-  A bug in the relic density calculation  for processes with virtual W’s has been fixed, this bug was inadvertently introduced in versions 5.X and could change Omega by less than 10%. Thanks to Tania Robens for reporting it.

3- Improved interface with  SModels_2.X, the current version downloads SModelS_2.0.0-beta.

4- Default PDF  is changed to NNPDF31_lo_as_0118, other PDFs  such as NNPDF31_lo_as_0130 and  PDF4LHC15_nlo_mc are included in the code.

5- The program  micrOMEGAs/CalcHEP_src/bin/lhapdf2pdt  whose purpose is to import LHAPDF distribution  has been improved to allow to import distributions represented by several tables.

6- The routines   slhaValFormat   and   slhaSTRFormat intended for reading  information from SLHA files have been improved to take into account the fact that  the standard C-routine  sscanf( source, format, ..) ignores space symbols in format.

7- The parameter feebleParticles is now always initialised, otherwise it could lead to crashes.

8- We have improved the interpolation of  cross sections vsXXXXF(T)  in darkOmega2 as well as the interpolation of the abundance YF(T)  obtained by darkOmega.

9- A bug  in  the function which relates   temperature T and Entropy(T) for T>10TeV is fixed. This bug could occur only in the  calculation of relic abundance of DM with mass>100TeV.  Thanks to Stefan Kiebacher for reporting it.

10- The Version of Lilith-2 is updated to Lilith-2-2.1db19.09patch1 .

micromegas 5.2.4 (17/06/2020)

1- Improved recasting of PICO, CRESST-III, DarlSide-50 and Xenon1T results - numerically the difference in the excluded cross-sections is insignificant.

2- A bug was fixed in the implementation of direct detection limits for models with multi-component DM.

3- micrOMEGAs can now be compiled without a Fortran compiler even if it is required by some applications, for example the Optimal Interval Method used for recasting the results of CRESST-III is coded in Fortran. If the Fortran compiler is not found, a dummy code replaces the original one, thus allowing compilation.

4- We fixed the problem with new MAC compilers which do not allow auto-prototyping and multiple definition of global variables.

5. The Z5M model files are now included in the distribution, see G. Belanger, A. Pukhov, C. E. Yaguna, O. Zapata, JHEP09 (2020) 030, 2006.14922 [hep-ph].

micromegas 5.2.1 (17/06/2020)

1. Updated CalcHEP version 3.8.4

2. darkOmegaTR and darkOmegaTR2 have new argument[s] which allow to specify abundance[s] at a given reheating temperature.

3. micrOMEGAs downloads a new version SMODELS_1.2.3 when the user calls SMODELS. Note that on the first call SMODELS downloads a 800Mb database in the directory .cashe/smodels

4. Improvement of the diagnostics in the SMODELS interface in the case where the cross sections for all processes are too small to be considered in SMODELS.

5. Change in the interface which allow to set SD form factor for a given Direct Detection experiment, see the description of setSpinDepFF in the manual.

6. Removed a bug which appear when linking the maxGap.so library which calculates experimental limits using the Optimum Interval method. This bug was generated when the user launched the micrOMEGAs main executable from a directory other than the one where main was compiled. Thanks to Mark Goodsell and Sarif Khan who noticed this problem.

7. Typos in LLL_scalar/main.c and MSSM/main.c in the Direct Detection routines were removed.

8. A couple of bugs in darkOmega2 which were relevant for the Z5 model were fixed. Thanks to Carlos Yaguna for finding these bugs.

micromegas_5.2.0 (23/03/2019):

1) New routines to determine whether a specific DM candidate is excluded by current direct detection experiments.

2) New switch useSLHAwidth : when an SLHA file is read within a specific model, if the switch is set to (1) micrOMEGAs will use particle widths and decay fractions written in the file, if it is set to (0) micromegas will calculate particle widths. If the SLHA file does not contain particle widths then micrOMEGAs will calculate it ignoring this switch.

3) In the new version of CalcHEP there is an option for calculating matrix elements with quadruple precision, it can be used in micromegas as well, see calcHEP page for details.

micromegas_5.0.9 (27/03/2019):

1) Minor bugs and typos removed

micromegas_5.0.8 (13/02/2019):

1) Bug removed in loopGamma for large neutralino masses, thanks to Andrzej Hryczuk.

2) A warning "error in nffet1" is sometimes generated by LoopTools when calculating neutralino annihilation into Z and photon. This warning which occur on some operating system results from optimization flags used by LoopTools, we have removed the optimization flags. We thank Thomas Hahn for explanation.

3) A new option (RGE tree) to compute the MSSM spectrum at tree-level in EWSB scenarios is provided. We have also added a routine to transform an existing SLHA file into a tree level one, treeMSSM().

4) Implementation of a new function for DM velocity distribution, SHM++ (based on arXiv:1810.11468).

5) Several warnings from the simpson integration routine that signal a lost of precision in calculation of Indirect Detection and Neutrino telescope signals where analyzed, we improved the integrands to avoid these warnings.

6) micrOMEGAs automatically downloads SuperIso (for MSSM and NMSSM) when this option is chosen by the user.

micromegas_5.0.6 (29/11/2018):

1) Automatic installation of external codes, HiggsBounds, HiggsSignals, SModels, Spheno (v.4.0.3), Softsusy (4.1.7)

2) Improved interface to SmodelS (v.1.2.2) and bug removed for computation of LHC8 and LHC13 cross-sections

3) Improved interface to HiggsBounds (v.5.3.0beta)

4) Improved interface to HiggsSignals (v.2.2.2beta)

5) In MSSM, introduced new parameter nmmEpsMax which allows to determine whether the code uses the tree-level or loop-improved neutralino mass matrix. In the main.c file a new section CheckMassMatrix allows to print both the loop-improved and tree-level neutralino mass matrices, more information can be found in the manual.

6) A new switch, useSLHAwidth, determines how the particle widths are computed, they are either read from an SLHA file (1) or calculated internally (0, the default option).

7) A new routine, printPartialWidth, prints the branching ratio, partial width for each decay channel.

micromegas_5.0.4 (15/05/2018):

1) Interface to new version of SmodelS (v.1.1.1)

micromegas_5.0.2 (08/03/2018):

1) possibility to compute freeze-in for models with two dark matter candidates

2) Bug removed in printChannels.

3) Expanded error code for darkOmegaFi.

4) Improved model files for ZpPortal model.

micromegas_5.0 (11/01/2018):

1) Possibility to compute the relic density using the freeze-in mechanism.

micromegas_4.3.5 (21/06/2017):

1) LanHEP is included.

2) We have removed a bug in the computation of the loop integral to DM-quark scattering relevant for direct detection calculation.

3) We have removed a bug which lead to zero elastic scattering for direct detection.

micromegas_4.3.4 (19/05/2017):

1) Contains new functions (LilithMO and hbBlocksMO) to generate automatically the input files for Lilith and HiggsBounds(HiggsSignals) for any model. The functions LilithMDL and hbBlocksMDL which generate the same input files for specific models are also provided, bugs contained in previous versions were removed.

2) Two separate flags are now available to call HIGGSBOUNDS and HIGGSSIGNALS.

3) Includes new version of NMSSMTools_5.1.1, Lilith_1.1 and SmodelS_1.1.0patch1.

4) Previous versions of micrOMEGAs used a function, parton_alpha(Q), which depends on the PDF for the calculation of QCD corrections. In this version parton_alpha(Q) is used only for collider processes, otherwise the function alphaQCD(Q) which is independent of the parton distribution is used.

5) The numerical instability found in the computation of Omega has been fixed. This occurred in scenarios with a narrow resonance with a mass larger that 2Mcdm and was problematic only in a region where the relic density was very small Omega~0.0001 and with the flag fast=0. We have also implemented an option fast=-1 for a more robust calculation of DM (co-)annihilation in the presence of resonances.

micromegas_4.3.2 (09/11/2016):

1) Automatic check of python version, version 2.X is needed for Lilith and SmodelS.

2) Includes new version of NMSSMTools_5.0.1.

3) One-loop corrections to direct detection for scalar and vector dark matter.

micromegas_4.3 (02/06/2016):

1) Interfaces to Lilith, SmodelS, HiggsBounds and HiggsSignals have been updated.

2) HiggsBounds and HiggsSignals are not included in the distribution and are downloaded from this site at the first compilation.

3) The model UMSSM is included in the distribution.

micromegas_4.2.5 (30/10/2015):

1) Routines for limits from IceCube22 are updated, see arXiv:1507.07987.

2) We fixed a bug for direct detection in case of two component DM.

3) In the interface with SModelS we now check the existence of a SM Higgs and pass this information to SModelS.

4) In CalcHEP we have improved the routine which defines the electric charge of particles.

micromegas_4.2.3 (05/10/2015):

1) CalcHEP has been upgraded to version 3.6.26. It allows parallel calculations for Monte Carlo integration and for generation of matrix elements.

2) The neutrino module is updated, it includes recently obtained neutrino spectra for DM annihilation in the Sun, WimpSim and PPPC4DM. Moreover functions to compare the predicted neutrino flux from DM captured in the Sun with the data of IceCube and to calculate an exclusion level are available.

3) Loop corrections for direct detection of vector and scalar DM as computed in arXiv:1012.5455 and arXiv:1502.02244 are implemented.

4) A new model is available (UMSSM).

micromegas_4.1.7 (19/02/2015):

1) Improvement of the numerical routine for stiff equations from Numerical Recipes.

2) Removed a bug that led to segmentation fault on MAC when calculating the gamma-ray line in NMSSM and Z3 models.

3) Fixed a bug in gammaFluxTabGC (this function returns zero in 4.1.5).

4) Fixed a bug in the summation of the contributions of two DM components for direct and indirect detection.

5) Removed a bug that led to segmentation fault for calculation of Omega in Z5M model.

micromegas_4.1.5 (05/01/2015):

1) Modification of CalHEP including a) unpdate of batch routines b) the keys ^+ and ^- allow to change the size of window c) generated events can be read by Pythia-8 d) Recently implemented LanHEP trick for generation of effective vertices is supported.

2) slhaDecayPrint has new argument which allows to decay virtual W/Z.

3) Bug removed in slhaPlus for negative PDG numbers. It appeared when in the slha file a decay was defined for a negative PDG or when trying to get width/branching.

4) In the CPVMSSM, the coupling Am is now passed to CPsuperH.

5) Bug removed in lib/hbBlocks.c files for IDM, LHM, MSSM, Z3MH, SM loop-induced Higgs couplings are no longer evaluated in models files but with a universal procedure lGGhSM(Mh,aQCD, Mcp, Mbp,Mtp,vev); lGGhSM(Mh,aQCD, Mcp, Mbp,Mtp,vev)

6) For direct/indirect detection in models with 2DM components, we fixed a bug in defining the fraction of each DM component.

7) Codes of HIGGSBOUNDS/SIGNALS are not included anymore in micrOMEGAs distribution.

micromegas_4.1.4 (12/12/2014):

1) Bug fixed in computation of 3-body decay rates when running micromegas in a cycle, thanks to Jonathan Da Silva and Ursula Laa.

micromegas_4.1.3 (5/12/2014):

1) All features of micromegas_3.6.9 were merged with those of micromegas_4.1 so that the new code can treat both one and two dark matter candidates.

2) Bug fixed in displaying individual channel contributions to sigma_v in micromegas_4.1, the total cross section was correct.

3) Modification of the hCollider function, possibility to define a) renormalization and factorization scales b) option to include jet with minimal value for transverse c) option to restrict the number of quarks taken into account ( both for incoming/outgoing particles), see the manual.

4) New function vSigmaCC(T,cc) to calculate the thermally average sigma_v for both 2->2 and 2-> 3 process. new arguments to define the scale, see the manual

micromegas_3.6.9.2 (14/05/2014):

1) Compilation problem fixed

micromegas_3.6.9 (27/04/2014):

1) The model files for Z3MH were modified to agree with the notation in http://arxiv.org/abs/arXiv:1403.4960 : the masses of the non standard Higgses are used as input parameters and the mixing angle between the dark Higgses is redefined.

2) Sign corrected in the HGG effective vertices for all models (no incidence on the partial widths).

micromegas_3.6.8 (07/04/2014):

1) The SLHAplus package contains both C and Fortran code (for users who prefer to write main programs in Fortran). Unfortunately some MAC computers have installed 64-bit gcc together with 32-bit Fortran leading to a fatal problem in compilation. In order to avoid this problem for users working with C main programs, the corresponding Fortran code CalcHEP_src/lib/faux.o is not included in the SLHAplus library.

2) The obsolete function "finite" is replaced by "isfinite" in accordance with C99, POSIX.1. This avoids numerous warnings during compilation on MAC.

3) The parameter BWrange that determines the range of application of the Breit-Wigner formula when computing a cross-section near a resonance can now be set by the user. Details can be found in the on-line manual.

4) A bug in constructing the decay spectra of new particles when the produced particles have very small momenta is fixed.

5) The Makefile generated by the newProject command has been improved to link automatically all static libraries disposed in the MODEL/lib directory. (Thanks to Andreas Goudelis)

6) HiggsSignal is updated to version 1.2.0

micromegas_3.6.7 (02/02/2014):

1) Interface with HiggsSignals.

2) A bug in spin dependent nuclear form factor for Xe129 and Te125 is fixed.

micromegas_3.3 (01/10/2013):

1) A bug (infinite cycle) in calculating particle widths is fixed.

2) The calculation of the relic density taking into account virtual W/Z works faster now.

3) The LanHEP source files now include an option to declare public variables.

4) The PDG codes of squarks are corrected.

5) In the MSSM model we have corrected a mistake in reading tb from an SLHA file input (thanks to Andre Lessa).

6) The Mass Limit function in the MSSM was updated.

7) The call of "newProcess" in NMSSM/main.[c/F] is corrected.

8) We have removed one parameter in the vSigma function.

9) More channels are included in the generation of gamma bremsstrahlung.

10) calcSpectrum now prints the relative weights of subprocesses (previously this was done in vSigma).

11) We have added processes with gamma bremsstrahlung to the list of processes printed by calcSpectrum.

12) We have fixed a bug (due to numerical instability) in the positron spectra computed with gamma bremsstrahlung.

13) To work with low mass DM we set a lower limit of 1 GeV for the QCD scale parameter in micrOMEGAs.

micromegas_3.2 (17/06/0213):

1) A bug in some LINUX operating systems led to a segmentation fault on some computers, this problem is bypassed.

2) We have corrected a bug in the implementation of the option to access parameters in func1.mdl via the findValW(varName) command.

3) In the Direct Detection module, we have added an instruction to restore the quark nucleon form factors used as default in version 2.4.5.

4) A bug in the computation of h->GG and h->AA in the IDM model is removed ( the mass of the pseudoscalar Higgs was used instead of mass of charged one) ( thanks to Beranger Dumont).

5) In MSSM-like model files a star(*) is added before the hGG and hAAcouplings to make these variables public and ensure that they can be accessed when calculating the reduced Higgs couplings.

6) A bug in cleaning the HiggsBounds directory is fixed.

7) The CALCHEP model files for the CPVMSSM and the LHM are updated.

8) The parameter Am (trilinear coupling of the muon) is now added to the list of parameters of the NMSSM and is passed to NMSSMTools.

9) A misprint in a commented instruction contained in all main.c files is fixed (ZWdecay -> VWdecay)

micromegas_3.1 (01/06/0213):

1) Problem with small memory leak was fixed (thanks to Kees Jan de Vries)

2) VVdecay is replaced with VWdecay and VZdecay, by default 3 body final states are switched off (VW/VZdecay=0). VW/VZdecay=1 takes into account processes with virtual W/Z for DM annihilation only while VW/VZdecay=2 include virtual W/Z in co-annihilation processes as well.

3) For the calculation of the relic density in modes VW/VZdecay>0 we implement a matching procedure between 2->3 and 2->2 processes. It leads to an increase of the relic density when DM annihilate into on-shell W/Z and only 2->2 processes are included. The effect is caused by a kinematical cut on Breit-Wigner distribution.

4) A new directory mdlIndep contains routines for model independent calculation of DM observables.

5) Parameter names with underscore symbol are now permitted in models.

6) Mb_pole and Mc_pole masses calculated at 1-loop are used for h->GG (similar to hdecay).

7) Widths of W and Z are calculated automatically in all models. It is needed for a more precise calculation of processes with virtual W/Z.

8) Makefile for SuSpect is corrected (extra space symbol is deleted)

9) NMSSMTools_4.0.0 is updated

micromegas_3.0.24 (16/05/0213):

1) Bug removed in the assignment of MH3,mu and MSOFT in the SUGRA option of the MSSM.