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:
micro_make : This is what is
needed for the compilation . For SUGRA model
only SUSPECT is included in our package. If you rather want to use
SOFTSUSY or SPHENO you need to specify the directory where you have
already installed these packages by editing this file. Likewise, to use
ISAJET you should specify the exact path for the Isajet libraries by
editing the micro_make file ( see the commented line EXTLIB).
data :
This directory contains some sample data file, that we have used for
testing.
sugomg.c : main program to call
for calculating the relic
density
in the case of SUGRA model. All input parameters are to be
given at the GUT scale.
If you want to use a RGE package other than SUSPECT make
sure to modify the micro_make file appropriately. The
input parameters are: m0,mhf (m1/2),a0,tb,sgnmu. Additional parameters
are understood to be mtop,mb(mb), alphas(MZ)_MS.
Non-universal boundary conditions at the high scale can be set directly
in this file.
sugomg_f.f : the Fortran version
of sugomg.
omg.c : 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. By default the result will show
on the screen. To write on an outputfile replace stdout by filename in
the
printMasses command, refer to the manual for more info.
omg_f.f: the
Fortran version of omg.
s_cycle.c : This is an example
of how to scan
over a set of parameters, in
this case 13 mSUGRA points of Battaglia et al. The output is given on
the screen.
cs_br.c: sample main program to
call for calculating widths
and cross-sections within the SUGRA model. The SUGRA parameters are
specified directly in the file. The user can add any process with two
particles in the final state in the MSSM.
sources : All the sources are
stored here
calchep : move to this directory
to start an interactive
calchep session by calling calchep.
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
Thecompilation 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.