이번 포스팅에서는 MESA 프로그램의 설치 과정에 대해 설명하려 합니다.
MESA는 'Modules for Experiments in Stellar Astrophysics'의 약자로, 항성 천체물리학에 대한 1D 시뮬레이션을 계산을 수행하는 오픈 소스의 코드입니다. MESA 코드를 잘 활용할 수 있다면, 원하는 항성의 조건을 설정하여 그 항성이 어떻게 진화해 나가는 지에 대해 연구할 수 있습니다. MESA는 오랜 기간동안 발전되어 온 정교한 계산 도구인 만큼 실제 연구에서도 많이 활용되는 도구입니다.
그럼 Apple Silicon을 사용하는 MacOS 환경에서 설치 과정을 알아보도록 하겠습니다. (Windows와 Linux의 경우 아래 링크로 들어가 설치 방법을 참고하시기 바랍니다: https://docs.mesastar.org/en/release-r22.05.1/installation.html)
1. XQartz 설치하기:
우선 MESA를 설치하기 전에 필요로 하는 프로그램들을 설치해야 합니다. 첫째로 XQaurtz라는 프로그램인데요. XQaurtz는 맥OS 환경에서 그래픽 사용자 인터페이스 (GUI)용 X11을 사용하는 크로스 플랫폼 애플리케이션을 사용할수 있도록 해주는 소프트웨어입니다. 설치를 위해 아래 홈페이지를 방문하여 pkg파일을 다운받습니다.
위에 보이는 XQaurtz의 pkg 파일을 다운받고, 파일을 열어 설치를 진행하시면 됩니다.
2. MESA SDK 설치하기
MESA를 설치하고 돌리는 데 있어 다양한 컴파일러 및 라이브러리들이 필요합니다. 필요한 것들을 모두 제각각 설치하는 것은 상당히 불편한 일입니다. 다행히도, MESA에서는 이러한 불편을 줄여주기 위해 MESA SDK를 제공합니다. MESA SDK 설치를 통해 MESA에서 필요로하는 사전 요소들을 세팅할 수 있습니다.
우선 아래 홈페이지를 방문하여 MESA SDK를 다운받습니다.
(운영체제에 따라 여러 파일들이 있습니다. ARM MacOS를 사용하므로, 관련 부분을 찾아 최신 파일을 다운받습니다.)
http://user.astro.wisc.edu/~townsend/static.php?ref=mesasdk#Prerequisites_2
pkg파일을 다운받고 가이드를 따라 설치를 진행해 줍니다. 설치가 완료되었으면, 터미널을 열고 아래 Applications 폴더로 이동하여 설치가 잘 되었는지 확인합니다.
cd /Applications
3. MESA 설치하기
3.1 MESA 파일 다운받기
이제 사전작업이 완료되었으니, MESA를 설치하도록 하겠습니다. 아래 링크로 들어가 MESA.zip 파일을 다운받고 압축을 풀어줍니다 (용량이 약 20GB 정도 됩니다) :
https://zenodo.org/records/7983526
3.2 환경 변수 설정
그 다음 터미널을 열고 환경변수 설정을 다음과 같이 해줍니다. 참고로 저는 zsh과 vim을 사용하며, 따라서 아래와 같은 명령어를 이용하여 환경변수 설정을 바꿔주겠습니다.
vi ~/.zshrc
zshrc 파일에서 아래를 입력해주고 저장합니다. (설치 경로에는 압축을 푼 후에 MESA 폴더가 설치된 경로를 적어주시면 되며, OMP_NUM_THREADS 역시 각자 컴퓨터 환경에 맡게 설정을 변경할 수 있습니다.)
export MESA_DIR = /설치 경로/mesa-r23.05.1
export OMP_NUM_THREADS=2
export MESASDK_ROOT=/Applications/mesasdk
source $MESASDK_ROOT /bin/mesasdk_init.sh
바꿔준 환경변수를 아래 명령어를 통해 적용해 줍니다.
source ~/.zshrc
3.3 설치 진행
그럼 이제 아래 명령어를 통해 MESA 폴더로 들어가 설치를 진행해 줍니다. (시간이 조금 걸리니 인내를 갖고 기다립시다.)
cd $MESA_DIR
./install
마지막에 아래와 같은 메시지가 뜨면 설치가 성공적으로 완료된 것입니다.
고생하셨습니다!
'Astrophysics > Stellar Astrophysics' 카테고리의 다른 글
MESA Tutorial - 항성 진화 시뮬레이션 (1) | 2024.02.26 |
---|