Getting Started
This page has information to help you get started using MESA++. It includes a sketch of the
overall organization of the MESA++
interfaces, then gives steps for downloading, installing, and using MESA++.
Which Compilers?
MESA++ organization
Downloading MESA++
(revision 115 is current as of 2012-1-29)
Installing MESA++
Previous releases
MESA++ is under construction—and probably will be for the indefinite future.
Before you can build MESA++, you will
need to have built the corresponding version of MESA. Instructions for
doing so can be found here.
Which Compilers?
You must use the same Fortran 95 compiler for your MESA++ build that you use for your MESA build. This means either ifort or gfortran. As of January 2012, mesa required at least version 11.1 of ifort or version 4.6.1 or later of gfortran.
You must then select a matching C++ compiler. We
have built and tested MESA++ using g++, which corresponds to the
gfortran compiler. We have not tested MESA++ using icpc, which is the C++
compiler
corresponding
to
the
ifort
compiler,
but
would
welcome
reports
from
adventurous
souls
willing
to
give
it
a
try.
MESA++ organization
The organization of MESA++ closely parallels that of MESA, so that
the mtx directory contains the C++ interface for the MESA mtx
directory, the mlt directory contains the C++ interface for the MESA
mlt directory, and so on. Each module in MESA is represented by a
header file in MESA++, which contains the low-level C++ functions that
call the corresponding MESA routines. There are also a few files
containing higher-level interfaces to MESA functionality, such as interp_1d/public/Table.hh,
which contains a class interface to the set of functions for
interpolation of one-dimensional data, and star/public/Star.hh, which is the
ultimate high-level interface to MESA.
Downloading MESA++
Before you download MESA++, you will need
to download and build MESA. Instructions for doing so can be found here. Each
version of MESA++ is tied to a specific version of MESA. The current
release of MESA++, release 115, is tied to release 3851 of MESA.
To check out MESA++, use the command:
svn co -r 115 http://mesapp.svn.sourceforge.net/svnroot/mesa mesa
Similarly, if you’ve previously done a checkout, and now you want to update to the most recent released version, do
svn update -r 115
After you do an svn update, you should do ./clean before redoing ./install for the new stuff. That will force it to recompile everything just to be safe.
Whether you’re doing a checkout or an update, always use “-r” to get an officially released version.
Installing MESA++
Before doing an install, you need to give MESA++ some information such as what compiler you’d like to use. The relevant info is in a file called “makefile_header” that lives in the “utils” directory. Open that file now, follow the step-by-step instructions, and then return here.
If at some point you’d like to redo the installation process (for example, after changing something in the makefile_header), you can run the “clean” script and then reinstall.
If something goes wrong during the installation, first thing to do is check to see if you are using the current version of the compiler. MESA++ is tested on current versions of gfortran and g++, and it may not work on older versions. So as a first check, you’ll want to make sure you are using a current compiler version. If you are convinced that the problem is from something other than having an out-of-date compiler, please send a message to mesa-users (remember to join the mailing list before posting!). In the message, explain the problem and be sure to include what operating system you are using and what compiler, including the exact version number of the compiler.
Previous releases
MESA++ 115, built on MESA 3851 (2012-1-29)
MESA++ 106, built on MESA 3290 (2011-5-23)
MESA++ 99, built on MESA 3251 (2011-5-3)
MESA++ 96, built on MESA 3201 (2011-4-21)
MESA++ 92, built on MESA 3107 (2011-3-22)
MESA++ 88, built on MESA 3075 (2011-3-17)
MESA++ 83, built on MESA 3075 (2011-3-3)
MESA++ 78, built on MESA 3065 (2011-3-1)
MESA++ 58, built on MESA 2987 (2011-2-12)
MESA++ 56, built on MESA 2941 (2011-2-11)
MESA++ 42, built on MESA 2941 (2011-1-28)
MESA++ 20, built on MESA 2941 (2011-1-22)
MESA++ 4, built on MESA 2891 (2011-1-11)
website
design
by
Andreas Viklund