Installation instructions for Micromegas_1.3.7(MSSM)


The compressed File micromegas_1.3.7.tgz is about 0.65Mb.   
DOWNLOAD
When unpacked and compiled the program will need at least 20Mb of disk space.

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

gzip -d micromegas_1.3.7.tgz
tar -xvf micromegas_1.3.7.tar
 

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




Compilation goes as follows (for more details and possible problems with some compilers and redefining some default options, click here)



A.
To compile the program sugomg.c (mSUGRA) just type

 ./micro_make sugomg.c
This will create an exec file
./sugomg

 to run a model with m0=100 mhf=400 a0=0 tb=10 sgnmu=1, type
./sugomg 100 400 0 10 1
The default values for standard model parameters are assumed.
to run a model with m0=100 mhf=400 a0=0 tb=10 sgnmu=1, mt=179, mb(mb)=4.3, alsMz=.119
 type ./sugomg 100 400 0 10 1 179 4.3 .119
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.

B.
To compile the main program omg.c (unconstrained MSSM) just type

./micro_make omg.c
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

C.
To compile the program s_cycle.c (mSUGRA with scan of parameters) just type

./micro_make s_cycle.c
This will create an exec file s_cycle
To run a test scan,
type ./s_cycle
To modify parameters of the SUGRA model
edit scycle.c
The output is in s_cycle.res

 D.
To compile the program cs_br.c (mSUGRA) just type

./micro_make cs_br.c
This will create an exec file cs_br. The input parameters are written in the file , modify if you wish and then type ./cs_br The default values for standard model parameters are assumed.
The output for a selection of decay widths and cross-sections will be on the screen.
To add new processes, the file should be modified accordingly.



 
 



Compilation Issues
The compilation is realized by means of standard "make" command. micro_make compiles the package with a main.c program and creates the "main" 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.