Installation instructions |
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:
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.
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:
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.