はじめに
我々のまわりを構成している物質(原子)のほとんどは、夜空に輝く星(恒星)の進化過程でその内部で核融合反応により作られたものだ。天文学に興味を持った頃、そのような事実を知って、とっても興味を持った。自分の体を構成する炭素、今飲んでいる水を構成する酸素など、全て恒星が作ったものだと。その興味そのまま、今に至っている。
星の進化をシミュレーションするソフトウェアが、今回のテーマであるMESA(Modules for Experiments in Stellar Astrophysics)だ。
MESA関連情報
- MESAのページ 本家のページ
- MESA SDKのページ MESAインストールに必要なSDKのページ
- MESAマーケットプレイス MESAを使ったモデルの共有場所
- 2019 MESA Summer School ここから過去のSummer Schoolも参照できる。
全て、本家のページから辿れる。今後、興味深いページを見つけたらここに追加する。
MESAインストール手順
MESAのインストールは、次の2つのステップで完了する。
- MESA SDKのインストール
- MESA本体のインストール
以下の説明は、自分の使用環境であるUbuntu 18.04.5を前提としいる。したがって、「Linux(Intel)」の節に従って実行した。またシェルについてはbashを使っているので、Bourne shellの項に従った。
MESA SDKのインストール
MESA SDKのページの「Linux(Intel)」の記述通りに進めれば、特に問題もなく、インストールできた。
手順は次の通り。
- 最新版(current)のMESA SDKをダウンロードする。現時点の最新版は、March 25 2020のリリース12778である。自分もこれをダウンロードした。
- ダウンロードしたtarファイルを解凍。次のコマンドは、自分のホームディレクトリにmesasdkディレクトを作成しそこに解凍する。
$ tar xvfz mesasdk-x86_64-linux-20.3.2.tar.gz -C ~/
- PATHを設定する。例えば、次の.bashrcに追加する。
export MESASDK_ROOT=~/mesasdk
- 事前に必要なこと「Prerequisites」の表に従って、パッケージをインストールする。 自分の場合は、既にインストールされていたパッケージもあるので、実質的には、次を実行したことになる。 ともかく、何も考えずに、上から順番にパッケージ名をインストールすれば良い。
$ sudo apt install libx11-dev
$ sudo apt install zlib1g-dev
$ sudo apt install tcsh
- SDKの初期化のため、以下を実行。
$ source $MESASDK_ROOT/bin/mesasdk_init.sh
※ 実は、上記コマンドは、ここで一回実行すれば終わりではなく、MESAに関連する環境変数設定と共に実行する必要がある(.bashrcに記述する必要ある)。
※ 自分は、これに気づかず、MESAのコンパイル時に、「ndiffをインストール必要がある」とのエラーが発生した。
- インストール確認する。自分の実行結果は次の通り。
$ fortran --version
GNU Fortran (GCC) 9.2.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
MESAのインストール
MESAのインストールは、本家のページに従って実行すれば良い。
自分が実行した手順は、次の通り。
- MESAをダウンロードする。自分がダウンロードしたzipファイルは、mesa-r12778.zip。
- 自分のホームディレクトリに解凍する。次を実行すると、ホームディレクトリにmesa-r1228ディレクトが作成され、そこに解凍される。
$ unzip mesa-r12778.zip -d ~/
- 環境変数に、MESA_DIRとOMP_NUM_THREADSを設定する。MESA関連で.bashrcに追加した内容は次の通り。
export MESA_DIR=~/mesa-r12778
export OMP_NUM_THREADS=4
export MESASDK_ROOT=~/mesasdk
soruce $MESASDK_ROOT/bin/mesasdk_init.sh
最下行のsource行は、MESA SDKで実行したからと言って忘れずに記述すること。さもないと、MESAコンパイルでエラーとなる(MESA SDKで説明済)。
- MESAのコンパイル。
$ cd $MESA_DIR
$ ./install
・・・暫く待つと、次のようが表示され、正常にインストールされた。
MESA installation was successful
チュートリアルの実行
MESAのページの「getting started」の「How do you get started using MESA star?」に従って、チュートリアルを実行する。
以下の手順で、チュートリアルのモデルのmakeする。
$ cd $HOME
$ mkdir workspace/mesa
$ cd workspace/mesa
$ cp -r $MESA_DIR/star/work tutorial
$ cd tutorial
$ ./mk
以下で実行すると、モデルに従った星の進化過程のグラフが表示される。
$ ./rn
モデルの意味、記述方法など、全く理解できていないので、今後学んで行こう。
結果は、またここにポストする。全て英語なので、時間がかかりそうだけど。