Version 2 (modified by obina, 15 months ago) (diff) |
---|
ビームサイズを調整する例
機械学習環境を個人用PCにセットアップする に続いて、もっと 加速器に近い例を示します。評価関数をどのようにすべきか、など、色々な テストにも使えますので活用してください。なにかの参考になれば幸いです。
GPyTorch + Ocelot でビームサイズ最小化
下図に示すようにQM2台でビームサイズを調整する例を考えます。 初期条件(Twiss parameter; α, β)は適当です。
実際の加速器ではQMの極性(QF/QD)が決まっていることが多いとは思いますが、 例としてバイポーラ電源がつながっていると想定します。
軌道計算
これくらいの例ならば自分で転送行列を書けば良いです。 ただし、今後の発展性を考えて、ここでは Ocelot を使います。 インストール方法はOcelotインストール方法を参照してください。
GPyOptによるビームサイズ最小化
コードをそのまま書きます。本当は適切にクラス化するべきですが、 この長さならベタ書きで分かると思うので global 変数を使ってQMのk値を関数側で変えてしまいます。
パラメータを変える例
- 簡単のためには円形ビーム(βx = βy )にして、αx=αy=0 にすると、もっと単純
Attachments (6)
- 2QM_layout.png (16.4 KB) - added by obina 15 months ago.
- result1.png (199.4 KB) - added by obina 15 months ago.
- result2.png (251.3 KB) - added by obina 15 months ago.
- Pasted image 20240722231055.png (291.1 KB) - added by obina 4 months ago.
- Pasted image 20240722231605.png (291.1 KB) - added by obina 4 months ago.
- Pasted image 20240722231223.png (298.4 KB) - added by obina 4 months ago.
Download all attachments as: .zip