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 | グレー | 各サブハロの質量流入/流出曲線 |
| 中央値 | 黒の太線 | 全体としての代表的な進化傾向 |




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