(57)【要約】【課題】多数の粒子の軌跡のモンテカルロシミュレーション計算を安定的に、かつ、高速に実行する。【解決手段】半導体内部のキャリアの運動をシミュレーションする場合、キャリアの分布状態から計算する電場と、キャリアにランダムに働く力によって散乱される系でシミュレーションの計算をする。このとき電場は、キャリアの位置分布が変わるとともに変化する。時間間隔設定部５２で、時間間隔Δτを決めて、この電界を更新する。時間間隔設定部５２は、系の変化が激しい初期では電界の変化が大きいため、かつ、計算精度を確保するために、この時間間隔Δτを極力短く設定し、十分時間が経過して定常状態になった場合、更新間隔を長くする。すなわち、モンテカルロ計算における時間更新間隔を固定ではなく可変とし、かつ電界の変化に応じて、時間間隔Δτを設定する。【選択図】        図３
2005252009.tif 000002
【特許請求の範囲】
【請求項１】
粒子の分布状態をシミュレーションする粒子シミュレーション方法において、
粒子分布状態の変化に応じて、系の状態を更新する時間間隔を変化させる工程を備えたことを特徴とする粒子シミュレーション方法。
【請求項２】
上記時間間隔を変化させる工程は、粒子の移動数の変化の割合に応じて、時間間隔を変化させることを特徴とする請求項１記載の粒子シミュレーション方法。
【請求項３】
上記粒子シミュレーション方法は、メッシュ状に分割した複数領域における粒子の分布状態をシミュレーションする方法であり、
上記時間間隔を変化させる工程は、時間間隔を、粒子がメッシュ領域を通過してしまう時間以下に設定することを特徴とする請求項１又は２記載の粒子シミュレーション方法。
【請求項４】
上記粒子シミュレーション方法を、コンピュータに実行させることを特徴とするプログラム。
【請求項５】
モンテカルロ法によりある時間間隔で粒子の分布状態をシミュレーションする粒子シミュレーション装置において、
粒子の分布状態の変化に基づいて時間間隔を設定する時間間隔設定部と、
時間間隔設定部が設定した時間間隔の間、モンテカルロ法を用いて粒子の運動を計算し、粒子の分布状態を更新する分布状態更新部と、
上記分布状態更新部が更新した粒子の分布状態を用いて、上記時間間隔設定部と分布状態更新部とを繰り返す繰り返し部と
を備えたことを特徴とする粒子シミュレーション装置。
【請求項６】
上記時間間隔設定部は、移動する粒子の数が多い場合に、時間間隔を短くし、移動する粒子の数が少ないとき、時間間隔を長くすることを特徴とする請求項５記載の粒子シミュレーション装置。
【請求項７】
上記時間間隔設定部は、粒子の移動速度が速い場合に、時間間隔を短くし、粒子の移動速度が遅い場合に、時間間隔を長くすることを特徴とする請求項５記載の粒子シミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば、モンテカルロシミュレーションの高速計算法に関するものであり、多数の粒子の軌跡を計算するモンテカルロシミュレーションにおいて、系の状態の更新時間間隔を可変とする方法に関するものである。すなわち、この発明は、更新間隔を系の状態の変化によって決定する方法に関するものである。
【背景技術】
【０００２】
従来、モンテカルロ法でデバイスの電気的特性を計算するとき以下のようなステップで行っている。
（１）ある時間間隔Δτを決める（典型的な値は、例えば、１ｆｓ）。
（２）粒子の初期の分布状態からデバイス内部の電界を計算する。
（３）Δτ時間の間モンテカルロ法を用いて粒子の運動を計算する。
（４）Δτ時間の後の粒子の分布状態からデバイス内部の電界を計算する。
（５）上記（３）にもどる。
【０００３】
特に、シミュレーションの初期では粒子の位置の統計的な時間的変化が大きいため、高い計算精度を確保するには上記ステップ（１）の時間間隔をなるべく短くする。十分な時間が経過すると粒子のデバイス内部の分布状態がほとんど変化しなくなる。
【非特許文献１】Ｃａｒｌｏ  Ｊａｃｏｂｏｎｉ  ａｎｄ  Ｌｉｎｏ  Ｒｅｇｇｉａｎｉ，  Ｔｈｅ  Ｍｏｎｔｅ  Ｃａｒｏｌｏ  ｍｅｔｈｏｄ  ｆｏｒ  ｔｈｅ  ｓｏｌｕｔｉｏｎ  ｏｆ  ｃｈａｒｇｅ  ｔｒａｎｓｐｏｒｔ  ｉｎ  ｓｅｍｉｃｏｎｄｕｃｔｏｒ  ｗｉｔｈ  ａｐｐｌｉｃａｔｉｏｎｓ  ｔｏ  ｃｏｖａｌｅｎｔ  ｍａｔｅｒｉａｌｓ．  Ｒｅｖｉｅｗｓ  ｏｆ  Ｍｏｄｅｒｎ  Ｐｈｙｓｉｃｓ，  Ｖｏｌ．  ５５，  Ｎｏ．  ３，  Ｊｕｌｙ  １９８３  ｐ６４５
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のモンテカルロ法での電気的特性を計算するとき、上記ステップ（４）の「デバイス内部の電界を計算する」場合には、ポアソン方程式を解くが、長時間のモンテカルロ計算をするには何度も電界を計算しなければならずそのため時間がかかるという課題がある。
【０００５】
また、従来のモンテカルロ法では、ステップ（１）の時間間隔Δτを固定にしているため、粒子のデバイス内部の分布状態の変化がないばあいでも、モンテカルロ計算をしてしまうという課題がある。
【０００６】
この発明は、モンテカルロ法での電気的特性を計算するとき、計算時間を短時間にすることを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る粒子シミュレーション方法は、粒子の分布状態をシミュレーションする粒子シミュレーション方法において、
粒子分布状態の変化に応じて、系の状態を更新する時間間隔を変化させる工程を備えたことを特徴とする。
【０００８】
上記時間間隔を変化させる工程は、粒子の移動数の変化の割合に応じて、時間間隔を変化させることを特徴とする。
【０００９】
上記粒子シミュレーション方法は、メッシュ状に分割した複数領域における粒子の分布状態をシミュレーションする方法であり、
上記時間間隔を変化させる工程は、時間間隔を、粒子がメッシュ領域を通過してしまう時間以下に設定することを特徴とする。
【００１０】
また、この発明のプログラムは、上記粒子シミュレーション方法を、コンピュータに実行させることを特徴とする。
【００１１】
また、この発明に係る粒子シミュレーション装置は、モンテカルロ法によりある時間間隔で粒子の分布状態をシミュレーションする粒子シミュレーション装置において、
粒子の分布状態の変化に基づいて時間間隔を設定する時間間隔設定部と、
時間間隔設定部が設定した時間間隔の間、モンテカルロ法を用いて粒子の運動を計算し、粒子の分布状態を更新する分布状態更新部と、
上記分布状態更新部が更新した粒子の分布状態を用いて、上記時間間隔設定部と分布状態更新部とを繰り返す繰り返し部と
を備えたことを特徴とする。
【００１２】
上記時間間隔設定部は、移動する粒子の数が多い場合に、時間間隔を短くし、移動する粒子の数が少ないとき、時間間隔を長くすることを特徴とする。
【００１３】
上記時間間隔設定部は、粒子の移動速度が速い場合に、時間間隔を短くし、粒子の移動速度が遅い場合に、時間間隔を長くすることを特徴とする。
【発明の効果】
【００１４】
この発明は、例えば、モンテカルロ法での電気的特性を計算するとき、粒子のデバイス内部の分布状態の変化をモニターしその変化に応じて最適な時間間隔を決定するので、モンテカルロ法の計算時間を短時間にすることができる。
【発明を実施するための最良の形態】
【００１５】
実施の形態１．
この実施の形態では、多数の粒子の軌跡のモンテカルロシミュレーション計算を安定に、かつ、高速に実行する方法を説明する。
以下、この実施の形態では、外部からの力と粒子間に力が働くある系の状態をシミュレーションで計算する場合を考える。例えば、半導体内部のキャリアの運動をシミュレーションする場合、キャリアにはキャリアの分布状態から計算する電場と、キャリアにランダムに働く力によって散乱される系で計算する。このとき電場は、キャリアの位置分布が変わるとともに変化する。
【００１６】
従来の方法では、ある時間間隔Δτを一定値に決めてこの電界を更新していた。特に、系の変化が激しい初期では電界の変化が大きいため、さらに、計算精度を確保するために、この時間間隔Δτを極力短く設定していた。このため、十分時間が経過して定常状態になった場合、かえって更新間隔が短過ぎるために、無駄に、電界の更新をしてきた。
【００１７】
この実施の形態は、モンテカルロ計算における時間更新間隔を、固定ではなく可変とし、かつ、電界の変化に応じて時間間隔Δτを設定するものである。
【００１８】
図１は、実施の形態１におけるシミュレーションシステムの外観を示す図である。
図１において、シミュレーションシステム１００は、システムユニット２００、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）表示装置１４１、キーボード（Ｋ／Ｂ）１４２、マウス１４３、コンパクトディスク装置（ＣＤＤ）１８６、プリンタ装置１８７、スキャナ装置１８８を備え、これらはケーブルで接続されている。
【００１９】
さらに、シミュレーションシステム１００は、ＦＡＸ機３１０、電話器３２０とケーブルで接続され、また、ローカルエリアネットワーク（ＬＡＮ）１０５、ウェブサーバ５００を介してインターネット５０１に接続されている。
【００２０】
図２は、実施の形態１におけるシミュレーションシステムのハードウェア構成図である。
図２において、シミュレーションシステム１００は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１３７を備えている。
【００２１】
ＣＰＵ１３７は、バス１３８を介してＲＯＭ１３９（記憶装置の一例である）、ＲＡＭ１４０（記憶装置の一例である）、通信ボード１４４、ＣＲＴ表示装置１４１、Ｋ／Ｂ１４２、マウス１４３、ＦＤＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）１４５、磁気ディスク装置１４６（記憶装置の一例である）、ＣＤＤ１８６、プリンタ装置１８７、スキャナ装置１８８と接続されている。通信ボード１４４は、ＦＡＸ機３１０、電話器３２０、ＬＡＮ１０５等に接続されている。
【００２２】
例えば、通信ボード１４４、Ｋ／Ｂ１４２、ＦＤＤ１４５は、入力部の一例となる。或いは、入力部が行う処理をプログラムで構成する場合、プログラムは、例えば、通信ボード１４４、Ｋ／Ｂ１４２、ＦＤＤ１４５という入力装置を用いて処理を行ってもよい。或いは、ＣＰＵ１３７を用いてＣＰＵ１３７の内部処理としておこなってもよい。
【００２３】
また、例えば、通信ボード１４４は、出力部の一例となる。出力部が行う処理をプログラムで構成する場合、プログラムは、例えば、通信ボード１４４という出力装置を用いて処理を行ってもよい。或いは、ＣＰＵ１３７を用いてＣＰＵ１３７の内部処理として行ってもよい。
【００２４】
また、例えば、ＲＯＭ１３９、ＲＡＭ１４０、磁気ディスク装置１４６は、記憶部の一例となる。記憶部が行う処理をプログラムで構成する場合、プログラムは、例えば、ＲＯＭ１３９、ＲＡＭ１４０、磁気ディスク装置１４６という記憶装置を用いて処理を行ってもよい。
【００２５】
上記以外の各部がハードウェアで構成される場合、例えば、ＣＰＵ１３７は、上記以外の各部の一例となる。上記以外の各部が行う処理をプログラムで構成する場合、プログラムは、ＣＰＵ１３７に処理をさせる。
【００２６】
ここで、通信ボードは、ＬＡＮ１０５に限らず、直接、インターネット、或いはＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）に接続されていても構わない。直接、インターネット、或いはＩＳＤＮ等のＷＡＮに接続されている場合、シミュレーションシステム１００は、インターネット、或いはＩＳＤＮ等のＷＡＮに接続され、ウェブサーバ５００は不用となる。
【００２７】
磁気ディスク装置１４６には、オペレーティングシステム（ＯＳ）１４７、ウィンドウシステム１４８、プログラム群１４９、ファイル群１５０が記憶されている。プログラム群は、ＣＰＵ１３７、ＯＳ１４７、ウィンドウシステム１４８により実行される。
【００２８】
上記プログラム群１４９には、以下に述べる実施の形態の説明において「〜部」として説明するものにより実行されるプログラムが記憶されている。ファイル群１５０には、以下に述べる実施の形態の説明において「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明するものが、「〜ファイル」として記憶されている。
【００２９】
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータの入出力を示し、そのデータの入出力のためにデータは、磁気ディスク装置、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）、光ディスク、ＣＤ（コンパクトディスク）、ＭＤ（ミニディスク）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のその他の記録媒体に記録される。あるいは、信号線やその他の伝送媒体により伝送される。
【００３０】
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、ＲＯＭ１３９に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、ハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
【００３１】
また、以下に述べる実施の形態を実施させるプログラムは、また、磁気ディスク装置、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）、光ディスク、ＣＤ（コンパクトディスク）、ＭＤ（ミニディスク）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のその他の記録媒体による記録装置を用いて記憶されても構わない。
【００３２】
以下、モンテカルロ法でデバイス特性を計算する場合を例にする。
モンテカルロ法では、キャリア（電子又はホール）を量子化粒子として扱うため、以下、キャリアを、単に、粒子とも呼ぶことにする。
【００３３】
図３は、この実施の形態のシミュレーションシステム１００の構成図兼フローチャートである。
図４は、２次元的な構造でデバイスの特性を計算する場合の、デバイスのメッシュ点分割を示す図である。
図４において、黒丸印は、メッシュ点、Δｘｉは、メッシュのＸ方向間隔、Δｙｊは、メッシュのＹ方向間隔である。Ｎｘは、Ｘ方向のメッシュ点の数、Ｎｙは、Ｙ方向のメッシュ点の数である。
図５は、２次元的な構造でデバイスの特性を計算する場合の、メッシュ点に属するキャリアの説明図である。
図５において、白丸印は、キャリアである。また、破線に囲まれた領域を、メッシュ領域という。
【００３４】
図３を用いて、この実施の形態のシミュレーションシステム１００の構成と動作について説明する。
１．初期値設定部５１の動作説明
初期値設定部５１は、入力部から初期値を入力して記憶部に記憶する。初期値は、キャリア（電子又はホール）を量子化粒子として扱う領域（量子化領域）を定義する。例えば、２次元的な構造でデバイス特性を計算する場合、図４に示すようにデバイスの量子化領域を、細かいメッシュ状に分割する。そして、初期値設定部５１は、そのデバイス内部にランダムにキャリアを配置する。それぞれのキャリアは例えばそのキャリアに最も近いメッシュ点に属するものとする。例えば、図５の例では、キャリア１はメッシュ点Ａのメッシュ領域に属し、キャリア２，３はメッシュ点Ｂのメッシュ領域に属し、キャリア４はメッシュ点Ｃのメッシュ領域に属する。
【００３５】
また、初期値設定部５１は、モンテカルロ法でデバイス特性を計算するためのその他の初期値を設定してその結果を記憶部に記憶する（Ｓ１１）。
【００３６】
２．時間間隔設定部５２の動作説明
時間間隔設定部５２は、モンテカルロ法でデバイス特性を計算するための時間間隔Δτを設定して記憶部に記憶する。時間間隔設定部５２は、多数の粒子の軌跡を計算するモンテカルロシミュレーションにおいて、系の状態の更新する時間間隔Δτを可変とする。
【００３７】
すなわち、時間間隔設定部５２は、更新間隔を系の状態の変化によって決定してその結果を記憶部に記憶する（Ｓ１２）。その詳細については、後述する。ここでは、ある時間間隔Δτが求められたものとする。
【００３８】
３．分布状態更新部５３の動作説明
分布状態更新部５３は、それぞれのメッシュ点に属するキャリアの数を用いて、次のポアソン方程式の差分式から、それぞれのメッシュ点のポテンシャルを計算してその結果を記憶部に記憶する（Ｓ１３）。
【００３９】
【数１】
2005252009.tif 000003
【００４０】
ここで、
φｉ，ｊは、（ｉ，ｊ）番目のメッシュ点上のポテンシャル、
Ｎｉ，ｊは、（ｉ，ｊ）番目のメッシュ点のメッシュ領域に属するキャリアの数、
Γｉ，ｊは、イオン化した不純物の濃度、
Δｘｉは、ｘ軸方向のｉ番目とｉ＋１番目のメッシュ点の間隔、
Δｙｊは、ｙ軸方向のｊ番目とｊ＋１番目のメッシュ点の間隔、
εは、誘電率、
である。
【００４１】
分布状態更新部５３は、上記（１）式を用いてポテンシャルを計算し、更に、
【００４２】
【数２】
2005252009.tif 000004
【００４３】
を、以下の（２）式を用いて計算して、その結果を記憶部に記憶する（Ｓ１４）。
【００４４】
【数３】
2005252009.tif 000005
【００４５】
分布状態更新部５３は、キャリアの運動すなわち軌跡を、以下の運動方程式を解いて計算して求め、その結果を記憶部に記憶する（Ｓ１５）。
【００４６】
キャリアの位置を、
【００４７】
【数４】
2005252009.tif 000006
【００４８】
ｑを単位電荷、キャリアの質量をｍとすれば、以下の（３）式が成り立つ。
【００４９】
【数５】
2005252009.tif 000007
【００５０】
更に、分布状態更新部５３は、ランダムに粒子の方向をある物理モデルに基づいて変化させる。この粒子を散乱させる処理の詳細は、例えば、非特許文献に記載されているので、ここでは説明を省略する。その変化結果は、記憶部に記憶される（Ｓ１６）。
【００５１】
このようにして、分布状態更新部５３は、処理時間がΔτになるまで、上記ポテンシャルを計算する工程Ｓ１３と、電界を計算する工程Ｓ１４と、キャリアの運動を計算する工程Ｓ１５と、キャリアを散乱させる工程Ｓ１６とを複数回繰り返して、キャリアの軌跡を追跡し、その結果を記憶部に記憶する（Ｓ１７）。
【００５２】
時間Δτが経過したとき、キャリアを散乱させる工程Ｓ１６後の粒子の位置を用いて、先に述べた方法でキャリアが属するメッシュ点を決定し、その結果を記憶部に記憶する。また、分布状態更新部５３は、（１）式を用いてポテンシャルを更新してその結果を記憶部に記憶する。
【００５３】
４．繰り返し判定部５４の動作説明
繰り返し判定部５４は、分布状態更新部５３の動作を繰り返すか否かを判定する（Ｓ１８）。
図６は、メッシュ点に属する粒子数Ｎｉの時間変化を示す図である。
図６の横軸は、シミュレーション時間である。
図６の縦軸は、あるメッシュ点に属する粒子数Ｎｉである。
従って、図６に示す実線は、あるメッシュ点の粒子数Ｎｉの時間変化を示す。
図６に示すように、シミュレーション時間の初期においては、メッシュ点に属する粒子数Ｎｉは大きく変化するが、次第に変化は少なくなり緩和状態になる。
【００５４】
繰り返し判定部５４は、例えば、図６に示すように、メッシュ点に属する粒子数Ｎｉの変化が大きく変化するようであれば、分布状態更新部５３の手順を繰り返してモンテカルロシミュレーションの計算を行うことを決定する。
【００５５】
一方、十分な時間が経ち、例えば、図６に示すようにメッシュ点に属する粒子数Ｎｉの変化が少なくなるかある値の幅で変化するようになれば、繰り返し判定部５４は、デバイス内部のキャリアの状態が緩和したとして、分布状態更新部５３の動作を終了する。
その後、システムは、必要なデバイス特性を計算してシミュレーションを終える。
【００５６】
次に、時間間隔設定部５２の動作に付いて詳細に説明する。
図７は、時間間隔設定部５２の動作フローチャートである。以下、図７を用いて、時間間隔設定部５２の動作を説明する。
【００５７】
「パラメータ入力工程Ｓ２１の処理内容」
時間間隔設定部５２は、記憶部から、以下のパラメータを入力する。
（１）メッシュ間隔Δｘｉ、メッシュ間隔Δｙｊ
（２）Ｘ方向のメッシュ点の数Ｎｘ、Ｙ方向のメッシュ点の数Ｎｙ
（３）各粒子のｘ方向速度ｖｘ
（４）各粒子のｙ方向速度ｖｙ
（５）時刻τの各メッシュ領域の粒子数
（６）時刻（τ−Δτ）の各メッシュ領域の粒子数
（７）係数α
【００５８】
「不通過時間計算工程Ｓ２２の処理内容」
時間間隔Δτは粒子があるメッシュ領域を完全に通過するよりも短い時間である必要がある。すなわち、粒子が、時間間隔Δτで移動する距離をメッシュ間隔Δｘｉ以下、かつ、メッシュ間隔Δｙｊ以下にする。その理由は、粒子の変化を追えなくなり解析が困難になるからである。
【００５９】
時間間隔Δτは粒子があるメッシュ領域を完全に通過するよりも短い時間であるということは、粒子の速度を、
【００６０】
【数６】
2005252009.tif 000008
【００６１】
とすれば、
【００６２】
【数７】
2005252009.tif 000009
【００６３】
でなければならない。不通過時間計算工程Ｓ２２では、（４）式により、各粒子のメッシュ領域を通過しない不通過時間（Ｘ方向の不通過時間とＹ方向の不通過時間）を求め、すべての粒子がメッシュ領域を通過しない不通過時間（Ｘ方向の不通過時間とＹ方向の不通過時間）を記憶部に記憶する。
【００６４】
「変化割合計算工程Ｓ２３の処理内容」
更に、メッシュ点に属するキャリア数の変化はなるべく小さい必要がある。その理由は、メッシュ点に属するキャリア数の変化が大きい場合に、（１）式が解けなくなる場合があるからである。
変化割合計算工程Ｓ２３は、メッシュ点に属するキャリア数の変化に応じた更新時間間隔を決める。時刻τと一つ前の時刻（τ−Δτ）の粒子数をＮτ、Ｎτ−Δτとし、ある係数（閾値）をαとすれば、変化割合計算工程Ｓ２３は、更新時間間隔を、
【００６５】
【数８】
2005252009.tif 000010
【００６６】
とする。
【００６７】
（５）式の左辺の分母は、時刻τのメッシュ領域の粒子数と時刻（τ−Δτ）のメッシュ領域の粒子数との差である。また、分子は、時刻τのメッシュ領域の粒子数である。従って、（５）式の左辺では、前回の時間間隔Δτにおけるあるメッシュ領域の粒子の変化の割合（移動の割合）を求めて、この粒子の変化の割合（移動の割合）に係数αを乗算して時間に変換している。ここで、係数αは、粒子の変化の割合（移動の割合）を、時間に変換する変換係数であり、あらかじめ、求められた値である。例えば、係数αは、１０−１５などである。
【００６８】
粒子の変化の割合（移動の割合）が大きければ、係数αの乗算結果である更新時間間隔の値は、小さくなる。すなわち、モンテカルロシミュレーションにおいて、系の状態の変化が大きければ、系の状態の更新時間間隔を小さくすることになる。
【００６９】
例えば、図６に示すように、メッシュ点に属する粒子数Ｎｉの変化が大きく変化する初期であれば、更新時間間隔は小さな値となる。
逆に、十分な時間が経ち、例えば、図６に示すようにメッシュ点に属する粒子数Ｎｉの変化が少なくなるかある値の幅で変化するようになれば、更新時間間隔は大きい値なる。
【００７０】
このように、変化割合計算工程Ｓ２３は、系の更新時間間隔を系の状態の変化によって決定する。変化割合計算工程Ｓ２３では、各粒子について、（５）式から求めた更新時間間隔を求め、全粒子の更新時間間隔を記憶部に記憶する。
【００７１】
「最小値選択工程Ｓ２４の処理内容」
最小値選択工程Ｓ２４では、上記（４）式、（５）式の関係式で得られた不通過時間と更新時間間隔を記憶部から読み出し、以下の（６）式で得られる最小値を次回の時間間隔Δτとして記憶部に記憶する。
Δτ＝ｍｉｎ（Δτｘｉｊ，Δτｙｉｊ，ΔτＮｉｊ；１≦ｉ≦Ｎｘ，１≦ｊ≦Ｎｙ）  （６）
（但し、Ｎｘ，Ｎｙは、それぞれＸ方向、Ｙ方向のメッシュ点の数）
すなわち、最小値選択工程Ｓ２４は、全粒子のＸ方向の不通過時間と全粒子のＹ方向の不通過時間と全粒子の更新時間間隔との最小値を時間間隔Δτと決定する。
つまり、（６）式により、粒子がメッシュ領域を通過することがなく、かつ、系の状態の変化によって最適であると考えられる時間のいずれかが、次回の時間間隔Δτとして決定される。
【００７２】
なお、（６）式において、全粒子の更新時間間隔の変わりに、全粒子の更新時間間隔の平均値を用いてもよい。
【００７３】
以上のように、この実施の形態では、多数の粒子の軌跡のモンテカルロシミュレーション計算を安定に、かつ、高速に実行する方法を説明した。
この実施の形態では、モンテカルロ計算における時間更新間隔を固定ではなく可変とし、かつ、電界の変化に応じて時間間隔Δτを設定する方法を説明した。
【００７４】
この実施の形態によれば、モンテカルロシミュレーションの時間間隔Δτを常に最適な値に設定するために、常に短い一定の更新間隔で計算するよりも高速でかつ高精度な計算ができる。
【００７５】
なお、モンテカルロシミュレーションに限らず、他のシミュレーション計算方法において、時間更新間隔を固定ではなく可変とする場合でも構わない。
【図面の簡単な説明】
【００７６】
【図１】実施の形態１におけるシミュレーションシステム１００の外観を示す図である。
【図２】実施の形態１におけるシミュレーションシステム１００のハードウェア構成図である。
【図３】実施の形態１のシミュレーションシステム１００の構成図兼フローチャートである。
【図４】２次元的な構造でデバイスの特性を計算する場合の、デバイスのメッシュ点分割を示す図である。
【図５】２次元的な構造でデバイスの特性を計算する場合の、メッシュ点に属するキャリアの説明図である。
【図６】メッシュ点に属する粒子数Ｎｉの時間変化を示す図である。
【図７】実施の形態１における時間間隔設定部５２の動作フローチャートである。
【符号の説明】
【００７７】
５１  初期値設定部、５２  時間間隔設定部、５３  分布状態更新部、５４  繰り返し判定部、１０５  ＬＡＮ、１３７  ＣＰＵ、１３８  バス、１３９  ＲＯＭ、１４０  ＲＡＭ、１４１  ＣＲＴ表示装置、１４２  Ｋ／Ｂ、１４３  マウス、１４４  通信ボード、１４５  ＦＤＤ、１４６  磁気ディスク装置、１４７  ＯＳ、１４８  ウィンドウシステム、１４９  プログラム群、１５０  ファイル群、１８６  ＣＤＤ、１８７  プリンタ装置、１８８  スキャナ装置、１００  シミュレーションシステム、２００  システムユニット、３１０  ＦＡＸ機、３２０  電話器、５００  ウェブサーバ、５０１  インターネット。
【図１】
2005252009.tif 000011
【図２】
2005252009.tif 000012
【図３】
2005252009.tif 000013
【図４】
2005252009.tif 000014
【図５】
2005252009.tif 000015
【図６】
2005252009.tif 000016
【図７】
2005252009.tif 000017