Yamamoto's Laboratory
 
 
入力
  初期粒子分布
 
電磁場取り込み
 
User elemetns
 
 
Python
 
 
 
 
 
 
 
 

ツイスパラメーターと分布関数

ここでは,ツイスパラメーターから GPT での粒子の位相空間分布を設定する方法を示します.

横方向エミッタンスとツイスパラメーター

基本量の定義

初期ビームの位相空間分布は,ツイスパラメーターとエミッタンスで与えられることが多いです.この場合の GPT での粒子の分布を作成する方法を示します.手順は (1)傾きのない楕円を作成,(2)それに角度を加える — です.そのためには,ツイスパラメーター・エミッタンスと GPT での位相空間分布の関係を表す式が必要になります.ここでは,これらの関係を表す式を示します.

位相空間の分布関数を\(f(x,\,x^\prime)\)とします.それぞれについては,以下の量を定義します.

\begin{align} \langle x \rangle &= \iint xf(x,\,x^\prime)\diff x\diff x^\prime & \langle x^\prime \rangle &= \iint x^\prime f(x,\,x^\prime)\diff x\diff x^\prime \\ \sigma_x^2 &= \iint(x-\langle x \rangle)^2f(x,\,x^\prime)\diff x\diff x^\prime & \sigma_{x^\prime}^2 &= \iint(x^\prime-\langle x^\prime \rangle)^2f(x,\,x^\prime)\diff x\diff x^\prime \\ \sigma_{xx^\prime} &= \iint(x-\langle x \rangle)(x^\prime-\langle x^\prime \rangle)f(x,\,x^\prime)\diff x\diff x^\prime \end{align}

ここで,$\sigma$は rms で,$\langle x \rangle$ や $\langle x^\prime \rangle$ は平均を示します.rms エミッタンスの定義は,

\begin{align} \varepsilon_{rms} = \sqrt{\sigma_x^2\sigma_{x^\prime}^2-\sigma_{xx^\prime}^2} \label{eq:diff_emittance} \end{align}

です.これは標準偏差のラインの面積を円周率で割った値です.ハミルトン系の場合,これは保存量です.そのため,ツイスパラメーターには以下の関係があります.

図1: 横方向 \((x,\,y)\) エミッタンスを表す楕円とツイスパラメーターの関係

基本量の定義

分布関数が二つの正規分布の積で表される場合,

\begin{align} f(x,\,x^\prime) = \cfrac{1}{\sqrt{2\pi\sigma_x^2}}\exp\left[-\cfrac{(x-x_0)^2}{2\sigma_x^2}\right]\times \cfrac{1}{\sqrt{2\pi\sigma_{x^\prime}^2}}\exp\left[-\cfrac{(x^\prime-x_0^\prime)^2}{2\sigma_x^{\prime 2}}\right] \end{align}

を考えます.この場合は,

\begin{align} &\iint xf(x,\,x^\prime)\diff x\diff x^\prime=x_0 & &\iint x^\prime f(x,\,x^\prime)\diff x\diff x^\prime=x_0^\prime \\ &\iint(x-x_0)^2f(x,\,x^\prime)\diff x\diff x^\prime = \sigma_x^2 & &\iint(x^\prime-x_0^\prime)^2f(x,\,x^\prime)\diff x\diff x^\prime =\sigma_{x^\prime}^2 \\ &\iint(x-x_0)(x^\prime-x_0^\prime)f(x,\,x^\prime)\diff x\diff x^\prime = 0 \end{align}

となります.

\begin{align} \gamma = \cfrac{1+\alpha^2}{\beta} \end{align}

通常の加速器の場合,バンチの横方向の平均位置 \(\langle x^\prime \rangle\) と平均角度 (あるいは運動量) \(\langle x^\prime \rangle\) はゼロです.面倒なことを避けるため,これらの平均量はゼロとして以降の議論を進めます.無論,これらの平均値がゼロでない場合も同じ結論です.

図1 の青線で表した楕円が正規分布の場合の rms エミッタンスを表すラインです.これは,図中に示すようにツイスパラメーター \((\alpha,\,\beta,\,\gamma)\) とエミッタンス \(\varepsilon\) で表すことができます.

次に図の赤色の楕円を考えます.これは青色と同じエミッタンスで,$x$方向サイズも同じ大きさを持ちます.$x$ 軸に比例した値でオフセットさせます.すると,図中の赤い楕円は青い楕円へ一致させることができます.これが,GPTで位相空間分布を作る方法です.すなわち,

\begin{align} x^\prime \leftarrow x^\prime - \cfrac{\alpha}{\beta}\,x \end{align}

とします.この場合でも,式(\ref{eq:diff_emittance})で計算される面積 (エミッタンス) は変化しません.

以上で,与えられたツイスパラメーターとエミッタンスを用いて,対応する位相空間を GPT で作成するために必要な関係を示すことができました.すなわち,GPT では図1の赤線の分布を作り,傾きを与えることで青線(ツイスパラメーターとエミッタンスで表現)に変換することができます.

粒子分布の作成方法

粒子の初期分布がツイスパラメーターの $(\alpha,\,\beta)$ とエミッタンス $\varepsilon$ や平均エネルギー$E$で与えられた場合の GPT での入力方法を示します,GPT では,図1の赤線の分布を作ります.この場合,$x$方向と$x\prime$方向は正規分布で,お互いに相関はありません.そのため,独立に分布を作ることができます.

初期分布のパラメーター
パラメーター 記号
ツイスパラメーター $\alpha$
$\beta$
エミッタンス $\varepsilon$
平均エネルギー $\langle E \rangle$
粒子の静止質量 $m_0$
粒子の電荷 $q$

$x$ 方向の分布は GPT のコマンド: setxdist() で作成可能で,標準偏差を指定します.標準偏差$\sigma_x$は $\sqrt{\beta_x \varepsilon_x}$で計算可能です.

$x^\prime$ 方向の分布は GPT のコマンド setGBxdist() を使います.このコマンドは $\beta_x\gamma$ で運動量の分布 をつくります.この $\beta_x$ は $v_x/c$ でツイスパラメーターと異なります.かたや図1の $x^\prime$ は $p_x/p_z=\beta_x/\beta_z$ です.

90% エミッタンスとRMSエミッタンス

初期ビームのエミッタンスが 90% エミッタンスで与えられている場合を考えます.一方,GPTの初期ビームは規格化 rms エミッタンスで指定します.したがって,両者の関係を導いておくと便利です.まずは,rms エミッタンスの楕円に含まれる粒子の割合 $\eta$ を計算します.これは,図2 の赤線の内部の分布関数の積分に等しくなります.これは,

\begin{align} \eta &= \cfrac{4}{2\pi\sigma_{x^\prime}\sigma_x}\int_0^{\sigma_x^\prime}\int_0^{\sigma_x\sqrt{1-(x^\prime/\sigma_{x^\prime})^2}} \exp\left(-\cfrac{x^{\prime\,2}}{2\sigma_{x^\prime}}\right) \exp\left(-\cfrac{x^2}{2\sigma_{x}}\right) \diff x\,\diff x^\prime\nonumber \\ & =1-\exp\left(-\cfrac{1}{2}\right) \nonumber \\ &=0.393469340287367 \end{align}

と計算できます.

次に,図2に示す 90% エミッタンスと rms エミッタンスの比を計算します.図の rms エミッタンスは,あきらかに

\begin{align} \varepsilon_{rms} = \sigma_x\sigma_{x^\prime} \end{align}

です.90% エミッタンスの方は少しばかり面倒な計算が必要です.この場合の楕円内部の積分は,

\begin{align} 0.9 &= \cfrac{4}{2\pi\sigma_{x^\prime}\sigma_x}\int_0^{\xi \sigma_x^\prime} \int_0^{\xi\sigma_x\sqrt{1-(x^\prime/\xi\sigma_{x^\prime})^2}} \exp\left(-\cfrac{x^{\prime\,2}}{2\sigma_{x^\prime}}\right) \exp\left(-\cfrac{x^2}{2\sigma_{x}}\right) \diff x\,\diff x^\prime\nonumber \\ & =1-\exp\left(-\cfrac{\xi^2}{2}\right) \nonumber \\ \end{align}

となります.この式の解は,

\begin{align} \xi^2 &= 2\log 10\nonumber \\ & = 4.6051701859 \end{align}

です.従って,90% エミッタンスは,

\begin{align} \varepsilon_{90\%} &= \xi^2\sigma_x\sigma_{x^\prime}\nonumber \\ & = 4.6051701859\,\varepsilon_{rms} \end{align}

となります.

図2: 90% エミッタンスと rms エミッタンス

縦方向エミッタンスとツイスパラメーター

図3: 縦方向 \((z)\) エミッタンスを表す楕円とツイスパラメーターの関係

GPTのrms規格化エミッタンス

GPT では,ツイスパラメーターとエミッタンスを使いビームの初期位相分布を指定します.この場合,エミッタンスは rms 規格化エミッタンスを使います.GPT の規格化エミッタンスが通常 (電子の場合?) と異なるので注意が必要です.GPT の規格化 rms エミッタンスは (nemixrms, nemiyrms, nemizrms) で,それぞれは

\begin{align} \text{nemixrms} &= \langle\gamma\rangle\sqrt{ \langle (x-x_c)^2 \rangle\langle(\beta_x-\beta_{xc})^2\rangle- \langle (x-x_c)(\beta_x-\beta_{xc}) \rangle^2 } \end{align}

と定義されています.

GPT の初期粒子分布の設定の実際

nps   = 3000;                            # Number of particles
m0    = 1.662064828936e-27;              # mass [kg]
q0    = 5.340588736000e-20;              # charge [C]
Qtot  = q0*nps ;                         # Total charge [C]
Eo    = 100e3;                           # Energy [ev]
G     = 1-qe*Eo/(m0*c*c);                # Corresponding Lorentz factor G
dG    = (G-1)*6.600000000000e-03;        # Energy Spread
Beta  = sqrt(1-1.0/G^2) ;                # Corresponding normalized velocity
GB    = sqrt(G^2-1);                     # Corresponding Gamma*Beta
GBx   = 1.460600000000e-04;
GBy   = 1.482500000000e-04;
rx    = 1.170000000000e+00*mm;           # Bunch radius x [m]
ry    = 1.188000000000e+00*mm;           # Bunch radius y [m]
xdiv  = -5.330000000000e-02;
ydiv  = -5.250000000000e-02;
dz    = 1.499547967996e-03;              # Bunch length [m]
emittanceX = 1.637500000000e-07;
emittanceY = 1.687000000000e-07;         # emittance [m-rad]

setparticles("beam", nps, m0, q0, Qtot);
setxdist("beam", "g", 0, rx, 2.000, 2.000);
setydist("beam", "g", 0, ry, 2.000, 2.000);
setzdist("beam", "g", 0, dz, 2.000, 2.000);
setGBxdist("beam", "g", 0, GBx, 2.000, 2.000);
setGBydist("beam", "g", 0, GBy, 2.000, 2.000);
setGdist("beam", "g", G, dG, 2.000, 2.000);
setGBxemittance("beam", emittanceX);
setGByemittance("beam", emittanceY);
addxdiv("beam", 0, xdiv);
addydiv("beam", 0, ydiv);

ページ作成情報

参考資料

  1. GPT のユーザーマニュアル

更新履歴

2021年07月18日 ページの新規作成


no counter