コンテンツにスキップ

2025年度

25/06/13 進捗報告

📈 Inflow / Outflow 質量フラックスのプロットログ(Msun/yr)

このスクリプトでは、事前に計算された Positive_MassFlux(outflow)および Negative_MassFlux(inflow)を用いて、サブハロの時系列プロットを行う。加えて、各スナップショットにおける中央値(全サブハロの代表値)を太線として描画する。

🧾 処理概要

🎯 目的

  • 各サブハロにおける質量流出(outflow)・流入(inflow)量(Msun/yr)の進化を視覚化する。
  • 全サブハロに対する中央値を計算し、代表的な進化傾向を把握する。

🔁 データ取得とループ処理

1. 対象サブハロ一覧を取得

SubhaloIDs = ...
  • スナップショット snap=20 におけるサブハロIDを取得。

2. サブハロごとの progenitor tree をたどり、スナップショットごとの ID を取得

prog_data = pd.read_csv(...)

3. 各スナップショットにおける inflow / outflow の読み込みと格納

data_main = pd.read_feather(...)
  • 保存済みの .mass_flux.feather ファイルから Positive_MassFlux / Negative_MassFlux を読み込む。

📊 プロット処理

4. 各サブハロの個別曲線の描画

plt.plot(minemine.redshift[x] + 1, inflow_list, c="gray", alpha=0.5)
  • 赤方偏移 z+1 を横軸にして、各サブハロの inflow または outflow の進化をグレーカーブでプロット。

📉 中央値の計算と描画

5. スナップショットごとの inflow / outflow 値を蓄積

inflow_dict[snap].append(inflow)

6. 中央値の算出と太線プロット

median_values = [np.median(dict[snap]) for snap in sorted_snaps]
plt.plot(redshifts, median_values, c="black", lw=2, label="Median inflow/outflow")
  • 全サブハロの中での中央値を用いることで、全体の代表的な進化傾向を抽出。
  • 黒線で表示。

🖼️ 描画設定

plt.xscale("log")
plt.yscale("log")
plt.xlabel("redshift")
plt.ylabel("Mass inflow/outflow [Msun/yr]")
plt.xticks([1,2,3,4,5,6,7], ["0", "1", "2", "3", "4", "5", "6"])
plt.legend()
plt.show()
  • 対数スケールを採用(急激な変動を視覚化しやすくするため)
  • 軸ラベルは物理単位(Msun/yr)で記載
  • 赤方偏移は観測者視点で z=0〜6 を明示

📁 出力内容

プロット種類 色・表現 説明
個別 inflow/outflow グレー 各サブハロの質量流入/流出曲線
中央値 黒の太線 全体としての代表的な進化傾向

image-20250616034859309

image-20250616034912137

image-20250616034920521

image-20250616034926521

📌 備考

  • inflow と outflow は Negative_MassFluxPositive_MassFlux によって区別。
  • inflow の場合は符号を反転(-Negative_MassFlux)してプロット。