プラズマのエネルギー収支方程式
核融合に関する基本的な方程式として、例えばプラズマのエネルギー収支方程式があります。
これはプラズマ内でのエネルギーの生成と損失を表します。
ここでは、プラズマのエネルギー収支方程式を簡単なモデルで表現し、Pythonで解いてグラフ化する方法を示します。
以下の例では、プラズマ内のエネルギー生成と損失を表す関数を定義し、微分方程式を解いて時間変化をプロットします。
1 | import numpy as np |
このコードでは、プラズマのエネルギー収支方程式を定義し、SciPyのsolve_ivp
関数を使用してこの微分方程式を解いています。
そして、プラズマのエネルギーが時間とともにどのように変化するかをグラフ化しています。
[実行結果]
ソースコード解説
以下にソースコード詳細な説明を示します。
ライブラリのインポート
1 | import numpy as np |
numpy
:数値計算を行うための基本的なライブラリ。scipy.integrate.solve_ivp
:常微分方程式を解くための関数を提供するSciPyのモジュール。matplotlib.pyplot
:データの可視化を行うためのグラフ描画ライブラリ。
プラズマのエネルギー収支方程式の定義
1 | def plasma_energy_balance(t, E): |
plasma_energy_balance
関数:プラズマのエネルギー収支方程式を定義します。
この関数は、時間t
と現在のエネルギーE
を受け取り、時間変化率dEdt
を計算して返します。
初期エネルギーの設定
1 | E0 = 0.0 |
E0
:初期のプラズマのエネルギーを設定します。
時間範囲の設定
1 | t_span = (0, 10) # 0から10までの時間 |
t_span
:解析する時間範囲を設定します。
ここでは、$0$から$10$までの時間を指定しています。
時間点の設定
1 | t_eval = np.linspace(0, 10, 100) |
t_eval
:グラフ化する際の時間点を設定します。
ここでは、$0$から$10$までの時間を$100$等分した時間点を指定しています。
常微分方程式の解く
1 | sol = solve_ivp(plasma_energy_balance, t_span, [E0], t_eval=t_eval) |
solve_ivp
関数:プラズマのエネルギー収支方程式を解きます。
初期エネルギーE0
から始まり、t_span
の時間範囲で解析し、t_eval
で指定された時間点で解を計算します。
結果のグラフ化
1 | plt.figure(figsize=(10, 6)) |
- プロットの設定:グラフのサイズ、ラベル、タイトル、凡例などを設定します。
plt.plot
:解析結果をグラフにプロットします。
横軸に時間、縦軸にプラズマのエネルギーを設定し、ラベルを付けています。plt.show
:グラフを表示します。
これにより、プラズマのエネルギー収支方程式を解いて時間変化をグラフ化する完全なプロセスが実行されます。
結果解説
[実行結果]
このグラフは、時間に対するプラズマのエネルギーの変化を示しています。
- 横軸は時間を表し、縦軸はプラズマのエネルギーを表します。
- グラフ上の曲線は、時間とともにプラズマのエネルギーがどのように変化するかを表します。
- 最初の時点では、初期エネルギーが$0$であるため、グラフの始点は原点になります。
- 曲線の傾きは、プラズマのエネルギーの時間変化率を示しており、この例では定数の生成率と損失率に基づいています。
- 時間が経過するにつれて、エネルギー生成と損失の影響により、プラズマのエネルギーが変化します。
- グラフ全体の形状は、生成率と損失率によって異なります。
生成率が損失率よりも大きい場合、エネルギーは増加し続ける傾向がありますが、逆の場合はエネルギーが減少します。 - グラフが時間の経過とともにどのように振る舞うかは、定義したエネルギー収支方程式に基づいています。
このようなグラフを通じて、時間に対するプラズマのエネルギーの挙動を直感的に理解することができます。