[mesa-users] MESA, reaction network

Bill Paxton paxton at kitp.ucsb.edu
Wed May 18 11:34:46 EDT 2011

Hi Ilka,

I'm glad to hear that you are digging into mesa.  
And don't hesitate to send emails with questions (please send them to mesa-users).

There are a lot of changes happening in mesa related to nets.  The jina reaclib rates are now
available in a separate module (called reaclib) and the net module is now able to call reaclib
and weaklib for rates.  Net is also able to take a set of isotopes and automatically add all
relevant reactions.  With those changes, the jina module was redundant and it has been removed.

In terms of sparse matrix solvers, we no longer support sparskit, but PARDISO works fine.
I suggest you start by running some 1 zone burns using the new tool provided in net/test.
Edit net/test/inlist_one_zone_burn to select the net and set other control parameters.
For a start, use a small net (basic.net is the smallest there is), and set which_decsol = 1 ! lapack
Once you have that working you can try bigger nets and other matrix solvers (e.g. which_decsol = 3 ! mkl_pardiso)
Then do ./burn to run it. 

You can take a look at the code in net/test/src/one_zone_burn.f to get an idea for what it is doing.
For doing net definitions for large number of isotopes using all relevant reactions from reaclib and weaklib,
you can just create a simple text file such as this one from mesa/data/net_data/nets:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rp.net
Type: application/octet-stream
Size: 1172 bytes
Desc: not available
URL: <https://lists.mesastar.org/pipermail/mesa-users/attachments/20110518/7eb9b27a/attachment.obj>
-------------- next part --------------

To run with this, just edit inlist_one_zone_burn to say net_name = 'rp.net'
You can create your own net file, 'ilka.net', and set net_name = 'ilka.net'

To build mesa with PARDISO enabled, edit your makefile_header in mesa/utils
You'll need to set MKL_PATH and a few other things.  Seach for MKL in the file.

Finally, to use all of this you need to have the current version of mesa.
To find what is current, visit the website (http://mesa.sourceforge.net/getting_started.html#download)

Good luck!


On May 18, 2011, at 3:39 AM, ilka at um.edu.my wrote:

> Dear Prof. Paxton,
> I started working as a Visiting Research Fellow at the University of Malaya, Kuala Lumpur, Malaysia some weeks ago.  Working with my group here and Raphael Hirschi from Keele, UK, I just entered the topic of stellar evolution and started using the MESA code.
> During my Phd, I was mainly working on r-process network calculations, and one part of my work was the
> implementation of the most relevant fission processes, which resulted in networks containing up to 350000 reactions for 7000 nuclei. Although fission was included, the Jacobian remained sparse, and we used the
> PARDISO sparse matrix solver in these cases. Despite these large sets of nuclei are in principle not necessary in the implemented environments used in MESA, we decided to continue in this direction, maybe to flexibly allow for larger sets of reactions whenever necessary.
> Currently, I am looking in more detail in the structure of the MESA-Code to understand the setup of the network-part, and I tried to follow the structure of the 'call'-statements and subroutines referring to. However, I arrived now at  a point where I do not know how to understand and continue.
> I hope, you would't mind asking you these questions directly.
> Following 'do_create_network'  one arrives at 'get1_reaction_handle': do the subroutines complement or do they substitute those reactions read in from the reaclib (together with 'compute_some_lambdas') and is the subroutine reaclib commonly in use?
> (I am confused with 'reaclib' and 'jina': for the fission stuff I expanded a 'reaclib'-datafile mainly based on data from Basel - but a JINA-reaclib is in principle using the same arrangement of reactants, products, parameters,...)
> Following 'stardata_init' the 'reaclib_init' reads in/ sets up the data for the reactions - is the 'jina_init' in 
> principle supposed to do something similar (as it has in principle the same structure)?
> I could not find setups for the pardiso-solver, but for the sparskit-solver: is their performance in general the same for large sparse matrices or could using pardiso maybe speed up the calculations?
> Are the subroutines 'sparskit_work_sizes', 'isolve_work_sizes', 'isolve' in use?
> Some of the *.f-routines contain .f90-code - can this be just renamed and adjusted when compiling? 
> I am sorry for my collection of stupid questions...
> Thank you in advance and best regards,
> Ilka Petermann

More information about the Mesa-users mailing list