加速器の設計とビームシミュレーションに計算コードは不可欠な時代になっていた。ところが、実際に使用されているコードは30年位前に作られたものであった。長年にわたり数々の改良が加えられているとはいえ、新しいリニアック(高エネルギーで大強度ビーム)を設計するには不十分であるという感覚が日毎に増していた。懸案のリニアックで一番重要な問題は空間電荷効果といわれるものである。簡単に言えば、加速される粒子同士のクーロン力が引き起こすいくつかの問題である。昔の計算コードでも空間電荷効果は計算出来るようになっていた。しかし、それは相当の単純化という仮定のもとで簡単に計算されているものである。空間電荷効果を評価したという報告がよくなされていたが、どのようにしているかが、実は一番の問題点であったのだ。よく使われている方法は、ビームを軸対称と仮定し、進行方向に直角の向きに円盤に切り分け、次ぎにその円盤を何層かのドーナツに切り分けてから、それぞれの区分の間の力を計算する方法である。この計算をリニアックの場合では、加速ギャップ1個につき、1回行うのである。この計算法でも大雑把な事はわからないわけではないが。大強度高エネルギーリニアックでは、ビームの微量な損失が強い放射能汚染をもたらすという事で、ハローと呼ばれるビーム分布の裾野が問題視されている時、この計算方法では何か結果は得られるが、その評価は出来ないという状態であった。ビームのハローを計算する場合には、加速ギャップ1個につき1回の計算では、あまりに粗雑である事もほとんど自明であった。そこで、次の三つを織り込んで全く新しい計算コードを作った。
1. 空間電荷効果は全ての粒子について勘定する(p-p法)。
2. 加速ギャップを細かくわけ、ギャップ内の加速電場の形をきちんと入れて、計算を行う。
3.独立変数を場所ではなく、時間とする。この採用により、正確な計算が可能となる。
この方法を使うと膨大な計算時間がかかってしまう。そこで、KEKにあるスーパーコンピュータを使えるようなコードの書き方をして、計算スピードを高めた。それでもまだ充分な計算スピードは得られていないが、そのしわ寄せは計算に使うマクロ粒子数の限界となって表れる。実用上での粒子数限界は10万個である。
1994年につくばで開かれたリニアック国際会議でこのコードを発表した。当時、次世代のシミュレーションコードの開発としては、おそらく群を抜いていたと思われ、眼にとまる人にはとまった。外国からの問い合わせなどが何件もあった。
このコードを作った時に、それまでのコンピュータのスピードの進展を考えていた。p-p法は今のコンピュータの性能ではかなり荷が重すぎるが、将来、これまでのスピードを同じ進展があれば、必ずや道が開けるのではないかと。実際には、期待通りのスピード進化が起こっていないので、後10倍速くなれば、大分面白いと考えている。
参考文献:KEK Preprint 94-84, 1994 Beam Simulation Code Using Accurate Gap Field Distribution in a Drift Tube Linac