mesa介绍

  在前面(停更之前)已经介绍了恒星的四个静力学平衡方程以及化学成分演化方程,将这五个方程结合起来,并加上恒星的初始条件以及边界条件,就可以使用数值模拟的方式去模拟恒星的演化了

  mesa(Modules for Experiments in Stellar Astrophysics)便是一个实现了上述功能的软件,有了这个软件,就不需要再自己专门花时间去探究数值模拟中的各种问题了。这个软件既可以模拟单个恒星在各个阶段的演化过程,也可以模拟各种双星系统的演化。除了用户自定义配置外,mesa还提供了大量的不同演化情形下的模板(例如前主序的演化、低质量恒星从前主序到白矮星、高质量恒星从前主序到铁核坍缩……),这样就省去了用户挨个设置参数可能会耗费的大量时间和精力

  除此之外,对于mesa输出的各种数据文件,都可以用官方提供的、在Python上运行的mesa_reader模块

去读取,这样就可以很方便地对输出的数据进行更好、更自由的分析以及可视化处理:

mesa可以在Windows上使用吗_bash


video_M_12_Z_0p02_m


mesa可以在Windows上使用吗_mesa_02


video_M1_9_M2_5


  但是,mesa的安装却似乎不是一件特别容易的事。尽管在官网上也有详细的教程(

,但在安装的时候也总会遇到各种各样的问题。在先后给不同的环境安装了三四次mesa后,我决定总结出一种尽可能地将各种可能遇到的坑绕开的安装方法

mesa的安装

安装必备库——mesa SDK

  mesa的安装和运行需要许多库(以fortran为主)的支持,这些库官方都打包在了mesa SDK中。因此在安装mesa前,需要先安装这些必备的库

  首先,使用包管理器(ArchLinux亲测可以直接通过包管理器安装)或在官网(

下载mesa SDK,将其放在任意路径,随后编辑本地配置文件(对于使用默认的bash shell的用户,这个文件是~/.bashrc,而如果使用的是zsh shell,则对应的是~/.zshrc,以此类推,后面都默认用户使用的是~/.bashrc,如有不同可以自行修改),在里面设置路径变量,并再添加一行初始化mesa SDK的命令(初始化的时候会自动将路径添加到$PATH变量中,所以不用再单独手动设置$PATH)。以本人的下载地址/opt/mesasdk为例:

# you should have done this when you set up the MESA SDK
export MESASDK_ROOT=/opt/mesasdk
source $MESASDK_ROOT/bin/mesasdk_init.sh

  (设置结束后需要source ~/.bashrc或重启命令行以使得改动生效,下同)

  至此,必备库的安装便完成了,接下来便是mesa的安装

安装并配置mesa

  mesa这个软件可以直接从官网上的release中进行下载

,下载解压后,也是可以放在任意路径下,随后将这个路径添加到~/.bashrc中(假定安装在目录/home/abc/def/mesa下),并设置最大占用核数(这个可以根据自己的需求或机器的情况调大一些,也可以不设置,但如果不设置,在运行的时候就会占满所有的核,当时我就把服务器的104个核全占满了……):

# set MESA_DIR to be the directory to which you downloaded MESA
export MESA_DIR=/home/abc/def/mesa

# set OMP_NUM_THREADS to be the number of cores on your machine
export OMP_NUM_THREADS=2

  设置完成后,就可以开始安装了。分别按下述指令依次操作,即可完成安装:

cd $MESA_DIR
./install

  如果仍有报错,则需要检查一下$PATH、$LIBRARY_PATH和$LD_LIBRARY_PATH这几个变量,看看是不是有什么包含了fortran库的路径被放在了mesa SDK库的前面,或者是mesa SDK没有被放进去(这里确实比较玄学……)

  如果想要重新安装,则可以先clean再重新install:

cd $MESA_DIR
./clean
./install

  正常情况下,等上几分钟到数十分钟就可以完成安装,完成后就可以开始按照官网的教程一步一步地进行学习了

mesa的各种使用方法

  关于mesa这个软件的使用方法,官网上有非常详细的教程