Installation instructions
As of 25 May 2004, micrOMEGAS_1.1 has been downloaded 441 times
The compressed file micromegas_1.1.1.tar.gz is about 350 kb.
DOWNLOAD

When unpacked and compiled the program will need at least 10Mb of disk space.

First, unpack it. For example on UNIX this is done  by typing successively:

gzip -d micromegas_1.1.1.tar.gz
tar -xvf micromegas_1.1.1.tar
 

This will create an archive or working directory called micromegas_1.1.1 which contains the C source files.
This directory should contain the following files and directories:
 

  • makefile :   This is what is needed for the compilation . Note that for mSUGRA type models we have not included Isajet. If you need to use micromegas with Isajet. You need to specify the exact path for the Isajet libraries by editing this file ( see the commented line SUGRA in the makefile).
  • data : This directory contains some sample data file, that we have used for testing.
  • datap: This directory contains the data files that reproduce the results in Table 3 of the manual.
  • omg.c : This is the  main program to call for calculating the relic density in the case of an unconstrained MSSM model. All input parameters are to be given at the weak scale. The input data file should follow the input of any of the files in the directories data and datap. By default the result will show on the screen. To make write on a outputfile replace stdout by filename in the printMasses command, refer to the  manual    for more info.
  • sugomg.c : as in omg but in the case of a mSUGRA model. This requires the isajet libraries that should be installed independently of micromegas. make sure to specify the correct path of the SUGRA variable in the makefile. The input parameters here: m0,mhf (m1/2),a0,tb,sgnmu,mtop,model (1 or 2 exact unification or not, see Isajet).
  • scycle.c : This is an example of how to scan over a set of parameters, in this case (m0,mhf) for mSUGRA. You should specify the remaining input parameters (a0,tb,sgnmu,mtop,model). The output data file is scan.res
  • sources : All the sources are stored here.

  •  

     
     
     

    Compilation goes as follows (for more details and possible problems with some compilers and redefining some default options, click here)
    A. To compile the main program  omg.c (unconstrained MSSM) just type
    make
    This will create an exec file
    omg
    to run (with a specific set of parameters defined in a datafile with the format as in the directory data), type
    omg datafile
    if no datafile is specified the default values use the datafile defined in data/datap1.
    Warning: The first time new processes need to be linked, compilation can take up to a few minutes depending on how many processes need to be generated.
     
     

    B. To compile the program sugomg.c (mSUGRA) just type
    make main=sugomg
    This will create an exec file
    sugomg
    to run a model with  m0=100 mhf=400 a0=0 tb=10 sgnmu=1 mtop=175 , type
    sugomg 100 400 0 10 1 175
    The output will be on the screen
    Warning: The first time new processes need to be linked, compilation can take up to a few minutes depending on how many processes need to be generated.
     
     
     

    C. To compile the program scycle.c (mSUGRA with scan of parameters) just type
    make main=scycle
    This will create an exec file
    scycle
    to run a scan with  a0=0 tb=10 sgnmu=1 mtop=175, type
    scycle  0 10 1 175
    By default the scan over m0 and mhf is in the range 0-2000. This is specified in scycle.c. To change this edit scycle.c
    The output is in scan.res
    Warning: The first time new processes need to be linked, compilation can take up to a few minutes depending on how many processes need to be generated.
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     



    The compilation is realized by means of standard "make" command. make compiles the package with the omg.c  main program and creates the "omg" executable file. "make" is managed by  the "makefile" stored in the root directory of the package. If your are on one of the platforms listed below
  • Linux (PC)
  • IRIX/IRIX64 (Silicon Graphics workstation)
  • OSF1 (DEC Alpha workstation)
  • SunOS
  • HP-UX

  • the "makefile" should set automatically all the needed compiler options. If you are on some other platform and encounter difficulties send us a message.

    2. Fortran and C compiler names. These are defined in the first line of the  makefile:

    FC = f77
    CC = cc

    This is a standard for all platforms. But there are exceptions. Some Linux versions have g77 instead of f77. Sometimes cc is not installed, but one can use the  gcc compiler.

    3.  C-compiler options.
    These are specified  via  the parameter "COPT".
    We need two options
    a) type "char" should mean "signed char"
      For Linux and OSF1 it is a default.
      For IRIX/IRIX64 it is set by    "-signed"
      In case of gcc compiler      "-fsigned-char"

    b) C-compiler should  support features of the IEEE Standard for Binary Floating-Point Arithmetic, especially the   treatment of denormalized numbers, NaNs, and infinities.
    This option is a default for Linux and IRIX/IRIX64 but should be set for OSF1 by "-ieee".
    This is not a hard requirement. But if you use the package for scanning a large number of MSSM parameters, you can meet a case when some constrains can not be evaluated, for example like in the case  of a division by zero or evaluating the  squared root from a negative number. If IEEE is not supported then the program will terminate  with a diagnostic like "Float exception".

    4. C-linker options.  We specify them via  parameter "LDOPT".
    Sometimes you need  a special  library to support the dynamic loader.
    In case of Linux it is "-ldl" also the option "-rdynamic" is needed for loader.  For OSF1/IRIX/IRIX64  one can use default options.
    Look at "man dlopen" to find these options.
    If  you  use the Fortran ISAJET package to solve the RGE equations  "make" will link  our package  with ISAJET if SUGRA variable is defined in the makefile. SUGRA should describe
    the  name  of the library  including  the path (See commented line at the top of  the makefile). In this case one has  to attach  special Fortran library. It should be added to "LDOPT" too. The name of this library depends on the platform:

  • For Red Hat  Linux it is  "-lg2c", but for some other versions it can be  "-f2c".
  • For IRIX/IRIX64 it set by "-lftn".
  • For OSF1 one can use "-lfor".

  •  

     
     
     
     
     
     
     
     
     
     
     

    If you have a problem with this option, write a primitive Fortran program and compile it by
       f77 -v <you_program>.f
    -v means verbose. F77 will show on the screen what it actually  does.
    In particular, it pass to  loader "ld" some libraries.