(57)【要約】【課題】専用の演算器を用いることなく座標の差分計算の高速化を図る。【解決手段】まず、記憶部２に基本セルのＸ軸方向の一辺の長さであるＬｘの値を記憶させ、記憶部３にｉ粒子のＸ座標であるＸｉの値を記憶させる。次に、制御部１は、基本セル中におけるｉ粒子を含む微小セルの位置関係から決定される選択信号＃１を出力し、演算部７は、選択信号＃１を基に、記憶部３の値に対し記憶部２の値を加算または減算し、その値を記憶部４に記憶させる。次に、制御部１は、記憶部３，４の値のうち、ｉ粒子を含む微小セルとｊ粒子を含む微小セルとの距離が最小となるような値を選択するための選択信号＃２を出力するとともにｊ粒子の座標の値を出力し、選択部６は、選択信号＃２を基に、記憶部３，４の値のいずれかを選択して出力する。その後、演算部７は、制御部１から出力されたｊ粒子の座標の値から、選択部６から出力された値を減算する。【選択図】図１
2008269130.tif 000002
【特許請求の範囲】
【請求項１】
基本セルを分割して得た複数の微小セルのいずれかに含まれるｉ粒子とｊ粒子の座標の差分を計算する座標差分計算装置であって、
前記基本セルの一辺の長さを予め記憶する第１の記憶手段と、
前記ｉ粒子の座標の値を予め記憶する第２の記憶手段と、
前記第２の記憶手段に記憶された値に対して前記第１の記憶手段に記憶された値を加算または減算した値を記憶する第３の記憶手段と、
前記第２または第３の記憶手段に記憶された値のいずれかを選択して出力する選択手段と、
前記第２の記憶手段に記憶された値に対して前記第１の記憶手段に記憶された値を加算または減算する第１の演算を行い、該演算した値を前記第３の記憶手段に記憶させるとともに、前記ｊ粒子の座標の値から、前記選択手段から出力された値を減算する第２の演算を行う演算手段と、
前記基本セル中における前記ｉ粒子を含む微小セルの位置関係から決定される信号であって前記第１の演算において加算または減算のいずれかを選択するための第１の選択信号を前記演算手段に対して出力するとともに、前記第２および第３の記憶手段に記憶された値のうち、前記ｉ粒子を含む微小セルと前記ｊ粒子を含む微小セルとの距離が最小となるような値を選択するための第２の選択信号を前記選択手段に対して出力し、さらに、前記ｊ粒子の座標の値を出力する制御手段と、を有することを特徴とする座標差分計算装置。
【請求項２】
請求項１に記載の座標差分計算装置において、
前記制御手段は、前記基本セルの一辺の長さを前記第１の記憶手段に予め記憶させるとともに、前記ｉ粒子の座標の値を前記第２の記憶手段に予め記憶させ、さらに、前記第１の選択信号を前記演算手段に対して予め出力し、
前記演算手段は、前記第１の選択信号に基づいて前記第１の演算を行い、該演算した値を前記第３の記憶手段に予め記憶させることを特徴とする座標差分計算装置。
【請求項３】
基本セルを分割して得た複数の微小セルのいずれかに含まれるｉ粒子とｊ粒子の座標の差分を計算する座標差分計算方法であって、
前記基本セルの一辺の長さを予め記憶する第１のステップと、
前記ｉ粒子の座標の値を予め記憶する第２のステップと、
前記基本セル中における前記ｉ粒子を含む微小セルの位置関係から決定される第１の選択信号を出力する第３のステップと、
前記第３のステップで出力された前記第１の選択信号に基づいて、前記第２のステップで記憶した値に対して前記第１のステップで記憶した値を加算または減算し、該加算または減算した値を記憶する第４のステップと、
前記第２および第４のステップで記憶された値のうち、前記ｉ粒子を含む微小セルと前記ｊ粒子を含む微小セルとの距離が最小となるような値を選択するための第２の選択信号を出力する第５のステップと、
前記第５のステップで出力された前記第２の選択信号に基づいて、前記第２または第４のステップで記憶された値のいずれかを選択して出力するとともに、前記ｊ粒子の座標の値を出力する第６のステップと、
前記第６のステップで出力されたｊ粒子の座標の値から、前記第６のステップで出力された、前記第２または第４のステップで記憶された値を減算する第７のステップと、を有することを特徴とする座標差分計算方法。
【請求項４】
請求項３に記載の座標差分計算方法において、
前記ｉ粒子の座標の値と前記基本セルの一辺の長さを予め出力する第８のステップをさらに有し、
前記第１のステップでは、前記第８のステップで出力された前記基本セルの一辺の長さを予め記憶させ、
前記第２のステップでは、前記第８のステップで出力されたｉ粒子の座標の値を予め記憶させ、
前記第３のステップでは、前記第１の選択信号を予め出力し、
前記第４のステップでは、前記第３のステップで出力された前記第１の選択信号に基づいて、前記第２のステップで記憶した値に対して前記第１のステップで記憶した値を加算または減算し、該加算または減算した値を予め記憶させることを特徴とする座標差分計算方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２つの粒子の座標の差分を計算する座標差分計算装置および座標差分計算方法に関する。
【背景技術】
【０００２】
分子動力学において、ｉ粒子に働く力を計算する場合、ｉ粒子以外の全ての粒子をｊ粒子として、ｉ粒子とｊ粒子の各々との間に働く力の総和を求める。一般に、２つの粒子間に働く力は、粒子間の距離に依存するため、まずは、粒子間の距離を求める必要がある。
【０００３】
しかし、ｉ粒子以外の全ての粒子をｊ粒子とすると、計算量は膨大なものとなる。そこで、最近は、周期的境界条件を用いてｉ粒子に働く力を計算することが行われている。
【０００４】
周期的境界条件では、予め決められた直方体形状の基本セルを考え、ｉ粒子と同一の基本セル内に存在する粒子のみをｊ粒子とする。また、その周囲の各基本セルにも同じ配置でｊ粒子が並んでいると仮定し、ｉ粒子と同一の基本セル内およびその周囲の基本セル内に存在するｊ粒子のうち、ｉ粒子との距離が最小となるｊ粒子を計算対象とし、計算対象のｊ粒子からｉ粒子に対して働く力を計算する。
【０００５】
以下、周期的境界条件について図５〜図７を用いて詳細に説明する。
【０００６】
図５〜図７は、基本セルをＸＹ平面上に２次元的に表した図である。なお、図５〜図７において、各基本セルは、Ｘ軸方向の一辺の長さがＬｘ、Ｙ軸方向の一辺の長さがＬｙで、図示しないＺ軸方向の一辺の長さはＬｚとなっている。また、各基本セルは、複数の微小セルに分割されている。また、各微小セル内には、一般に、複数個の粒子が存在しているが、図５〜図７では、説明の簡略化のために、必要な粒子のみが示されている。
【０００７】
図５の例では、ｉ粒子は、中央の基本セルに存在している。また、ｊ粒子は、ｉ粒子と同一基本セル内に存在しているが、その周囲の各基本セル内にも同じ配置で存在していると仮定する。なお、以下では、説明の便宜のため、ｉ粒子と同一基本セル内のｊ粒子をｊ０粒子と称し、その周囲の各基本セル内のｊ粒子をそれぞれｊ１〜ｊ８粒子と称す。これらｊ０〜ｊ８粒子のうちｉ粒子との距離が最小となるのは、ｉ粒子と同一基本セル内のｊ０粒子である。この場合、周期的境界条件では、ｊ０粒子を計算対象とし、ｊ０粒子からｉ粒子に対して働く力を計算する。
【０００８】
これに対して、図６の例では、ｊ０〜ｊ８粒子のうちｉ粒子との距離が最小となるのは、ｉ粒子と同一基本セル内のｊ０粒子ではなく、その周囲の基本セル内のｊ６粒子である。この場合、周期的境界条件では、ｊ６粒子を計算対象とし、ｊ６粒子からｉ粒子に対して働く力を計算する。
【０００９】
同様に、図７の例では、ｊ０〜ｊ８粒子のうちｉ粒子との距離が最小となるのは、ｉ粒子と同一基本セル内のｊ０粒子ではなく、その周囲の基本セル内のｊ８粒子である。この場合、周期的境界条件では、ｊ８粒子を計算対象とし、ｊ８粒子からｉ粒子に対して働く力を計算する。
【００１０】
ここで、粒子間に働く力は粒子の位置によって決まるのではなく、粒子間の距離によって決まるということを利用する。
【００１１】
図８の例では、図５と同様にｉ粒子とｊ粒子が配置されているが、ｊ粒子と同一基本セル内にあるのがｉ０粒子、その周囲の各基本セル内にあるのがｉ１〜ｉ８粒子となっている。このとき、これらｉ０〜ｉ８粒子のうちｊ粒子と距離が最小となるのはｉ０粒子である。このとき、図５におけるｉ粒子とｊ０粒子との距離と、図８におけるｉ０粒子とｊ粒子との距離は全く同一である。
【００１２】
また、図９の例では、図６と同様にｉ粒子とｊ粒子が配置されている。このとき、これらｉ０〜ｉ８粒子のうちｊ粒子と距離が最小となるのはｉ３粒子である。このとき、図６におけるｉ粒子とｊ６粒子との距離と、図９におけるｉ３粒子とｊ粒子との距離は全く同一である。
【００１３】
また、図１０の例では、図７と同様にｉ粒子とｊ粒子を配置が配置されている。このとき、これらｉ０〜ｉ８粒子のうちｊ粒子との距離が最小になるのはｉ１粒子である。このとき、図７におけるｉ粒子とｊ８粒子との距離と、図１０におけるｉ１粒子とｊ粒子との距離は全く同一である。
【００１４】
上述のような周期的境界条件を用いて粒子間の距離を求める方法としては、特許文献１に開示された方法が公知となっている。
【００１５】
特許文献１に開示された方法では、まず、同一基本セル内のｉ粒子とｊ粒子との座標の差分を計算する。続いて、差分の計算結果を、基本セルの一辺の長さの±１／２と比較する。そして、差分の計算結果が基本セルの一辺の長さの１／２よりも大きい場合は差分の計算結果から基本セルの一辺の長さを減算し、差分の計算結果が基本セルの一辺の長さの−１／２よりも小さい場合は差分の計算結果に基本セルの一辺の長さを加算する。これにより、周期的境界条件を用いた粒子間の距離の計算を実現している。
【００１６】
具体的には、図５の例でＸ軸方向の座標の差分を計算する場合、まず、ｉ粒子とｊ０粒子との座標の差分を計算する。ここでは、差分の計算結果がＬｘ／２よりも大きいこと、−Ｌｘ／２よりも小さいことのいずれにも該当しないものとする。そのため、Ｌｘの加減算は行わない。同様に、図８の例でＸ軸方向の座標の差分を計算する場合も、Ｌｘの加減算は行わないことになる。
【００１７】
これに対して、図６の例でＸ軸方向の座標の差分を計算する場合、まず、ｉ粒子とｊ０粒子との座標の差分を計算する。ここでは、差分の計算結果がＬｘ／２よりも大きいものとする。そのため、差分の計算結果からＬｘを減算することで、ｉ粒子とｊ６粒子との座標の差分を計算する。同様に、図９の例でＸ軸方向の座標の差分を計算する場合も、ｉ０粒子とｊ粒子との座標の差分の計算からＬｘを減算することで、ｉ３粒子とｊ粒子との座標の差分を計算することになる。
【００１８】
また、図７の例でＸ軸方向の座標の差分を計算する場合、まず、ｉ粒子とｊ０粒子との座標の差分を計算する。ここでは、差分の計算結果が−Ｌｘ／２よりも小さいものとする。そのため、差分の計算結果にＬｘを加算することで、ｉ粒子とｊ８粒子との座標の差分を計算する。同様に、図１０の例でＸ軸方向の座標の差分を計算する場合も、ｉ０粒子とｊ粒子との座標の差分の計算にＬｘを加算することで、ｉ１粒子とｊ粒子との座標の差分を計算することになる。
【特許文献１】特開平０６−１７６０５２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１９】
しかしながら、特許文献１に開示された方法では、ｊ粒子を変えるたびに、座標の差分の計算結果を±Ｌｘ／２と比較し、その比較結果に応じてＬｘを加減算しており、周期的境界条件を動的に計算する必要がある。そのため、座標の差分の計算量が増大し、計算の高速化が図れない。また、計算の高速化を図るには、周期的境界条件を動的に計算する専用の演算器が必要となり、ゲート量が増大してしまう。
【００２０】
そこで、本発明の目的は、専用の演算器を用いることなく、座標の差分計算の高速化を図ることができる座標差分計算装置および座標差分計算方法を提供することにある。
【課題を解決するための手段】
【００２１】
上記目的を達成するために本発明は、基本セルを分割して得た複数の微小セルのいずれかに含まれるｉ粒子とｊ粒子の座標の差分を計算する座標差分計算装置であって、前記基本セルの一辺の長さを予め記憶する第１の記憶手段と、前記ｉ粒子の座標の値を予め記憶する第２の記憶手段と、前記第２の記憶手段に記憶された値に対して前記第１の記憶手段に記憶された値を加算または減算した値を記憶する第３の記憶手段と、前記第２または第３の記憶手段に記憶された値のいずれかを選択して出力する選択手段と、前記第２の記憶手段に記憶された値に対して前記第１の記憶手段に記憶された値を加算または減算する第１の演算を行い、該演算した値を前記第３の記憶手段に記憶させるとともに、前記ｊ粒子の座標の値から、前記選択手段から出力された値を減算する第２の演算を行う演算手段と、前記基本セル中における前記ｉ粒子を含む微小セルの位置関係から決定される信号であって前記第１の演算において加算または減算のいずれかを選択するための第１の選択信号を前記演算手段に対して出力するとともに、前記第２および第３の記憶手段に記憶された値のうち、前記ｉ粒子を含む微小セルと前記ｊ粒子を含む微小セルとの距離が最小となるような値を選択するための第２の選択信号を前記選択手段に対して出力し、さらに、前記ｊ粒子の座標の値を出力する制御手段と、を有することを特徴とする。
【発明の効果】
【００２２】
上述したように本発明によれば、ｉ粒子に働く力を計算する間は一定となる周期的境界条件として、ｉ粒子の座標の値、ｉ粒子の座標に対して基本セルの一辺の長さを加算または減算した値を予め計算して保持しておく。ここで、加算または減算のどちらを行うかは、基本セル中におけるｉ粒子の位置関係によって決定される。ｉ粒子とｊ粒子の座標の差分を計算する際には、まず、ｉ粒子を含む微小セルとｊ粒子を含む微小セルとの距離が最小となるような周期的境界条件を選択する。そして、ｊ粒子の座標から、選択した周期的境界条件を減算することで座標差分の計算を行う。
【００２３】
従って、従来技術のように、ｊ粒子が変わるたびに周期的境界条件を動的に計算する必要はないため、専用の演算器を用いなくても、座標差分の計算を高速に行うことができるという効果が得られる。また、専用の演算器を用いる必要がないため、ゲート量を削減し、消費電力を低減することができるという効果も得られる。
【００２４】
また、周期的境界条件は、同一の微小セル内のｊ粒子について計算を行っている間は固定することができるため、周期的境界条件の選択は、ｊ粒子が変わるたびに行う必要はなく、ｊ粒子を含む微小セルが変わるたびに行えば良い。よって、座標差分の計算量が削減されるため、さらに高速に計算することができるという効果が得られる。
【００２５】
また、ｉ粒子の座標に対して基本セルの一辺の長さを加算した値と、ｉ粒子の座標に対して基本セルの一辺の長さを減算した値の両方を記憶する必要がないため、計算時間をさらに短縮できるという効果が得られる。また、記憶装置を削減できるため、ゲート量を削減し、消費電力を低減することができるという効果も得られる。
【発明を実施するための最良の形態】
【００２６】
まず、本発明の座標差分計算装置の動作原理について説明する。以下では、説明の簡略化のため、Ｘ座標についてのみ説明する。
【００２７】
ここでは、周期的境界条件を用いて、ｉ粒子に働く力を計算する場合を考える。このとき、ｉ粒子の座標を（Ｘｉ，Ｙｉ，Ｚｉ）とし、ｉ粒子と同一基本セル内のｊ０粒子（図４〜図６参照）の座標を（Ｘｊ，Ｙｊ，Ｚｊ）とする。なお、ｊ０粒子は、ｉ粒子と同一基本セル内の全粒子となるため、一般に複数個存在する。
【００２８】
周期的境界条件を用いた粒子間の距離は、次の数１で表される。
【００２９】
【数１】
2008269130.tif 000003
【００３０】
数１において、Ｌｘは、基本セルのＸ軸方向の一辺の長さである。このとき、ｉ粒子に着目すると、ｉ粒子に働く力を計算する間は、ｉ粒子の座標の値は固定されている。また、Ｌｘも固定値である。そこで、上記の数１を次の数２のように変形する。
【００３１】
【数２】
2008269130.tif 000004
【００３２】
数２において、右辺の第２項目は周期的境界条件であり、Ｘｉ、（Ｘｉ＋Ｌｘ）、または（Ｘｉ−Ｌｘ）のいずれかの値を示す。この周期的境界条件は、ｉ粒子に働く力を計算する間は、ｊ０粒子によらず固定値である。そのため、周期的境界条件は、予め一度だけ計算して保持しておく。
【００３３】
また、周期的境界条件は、Ｘｉ、（Ｘｉ＋Ｌｘ）、または（Ｘｉ−Ｌｘ）の値のうち、ｉ粒子を含む微小セルとｊ粒子を含む微小セルとの距離が最小になるような値を選択する。
【００３４】
具体的には、図５の例では、ｊ０〜ｊ８粒子のうちｉ粒子との距離が最小となるのは、ｉ粒子と同一基本セル内のｊ０粒子である。ｊ０粒子を計算対象とするには、ｊ０粒子の座標にＬｘを加減算する必要はないため、周期的境界条件としてＸｉを選択する。同様に、ｊ０粒子と同一微小セル内にある他の粒子をｊ０粒子として計算する場合も、ｉ粒子を含む微小セルとｊ０粒子を含む微小セルとの距離が最小になる。よって、同一微小セル内のｊ０粒子について計算を行っている間は、周期的境界条件をＸｉに固定する。同様に、図８の例でも、周期的境界条件をＸｉに固定することになる。
【００３５】
また、図６の例では、ｊ０〜ｊ８粒子のうちｉ粒子との距離が最小となるのは、ｉ粒子と同一基本セル内のｊ０粒子ではなく、その周囲の基本セル内のｊ６粒子である。ｊ６粒子を計算対象とするには、ｊ０粒子の座標からＬｘを減算する必要があるため、周期的境界条件として（Ｘｉ＋Ｌｘ）を選択する。同様に、ｊ０粒子と同一微小セル内にある他の粒子をｊ０粒子として計算する場合も、ｉ粒子を含む微小セルとｊ６粒子を含む微小セルとの距離が最小になる。よって、同一微小セル内のｊ０粒子について計算を行っている間は、周期的境界条件を（Ｘｉ＋Ｌｘ）に固定する。同様に、図９の例でも、周期的境界条件を（Ｘｉ＋Ｌｘ）に固定することになる。
【００３６】
また、図７の例では、ｊ０〜ｊ８粒子のうちｉ粒子との距離が最小となるのは、ｉ粒子と同一基本セル内のｊ０粒子ではなく、その周囲の基本セル内のｊ８粒子である。ｊ８粒子を計算対象とするには、ｊ０粒子の座標にＬｘを加算する必要があるため、周期的境界条件として（Ｘｉ−Ｌｘ）を選択する。同様に、ｊ０粒子と同一微小セル内にある他の粒子をｊ０粒子として計算する場合も、ｉ粒子を含む微小セルとｊ８粒子を含む微小セルとの距離が最小になる。よって、同一微小セル内のｊ０粒子について計算を行っている間は、周期的境界条件を（Ｘｉ−Ｌｘ）に固定する。同様に、図１０の例でも、周期的境界条件を（Ｘｉ−Ｌｘ）に固定することになる。
【００３７】
このように、周期的境界条件は、同一微小セル内のｊ粒子について計算を行っている間は固定することができる。そのため、ｊ粒子を含む微小セルが変わるたびに、予め計算し保持しておいた周期的境界条件を切り替えれば、座標差分の計算が可能になる。
【００３８】
従って、本発明では、従来技術のように、ｊ粒子が変わるたびに周期的境界条件を動的に計算する必要はないため、専用の演算器を用いなくても、座標差分の計算を高速に行うことが可能になる。
【００３９】
また、図６および図７のように、ｉ粒子と最小距離となるのがｉ粒子と同一基本セル内のｊ０粒子ではない場合や、図９および図１０のように、ｊ粒子と最小距離となるのがｊ粒子と同一基本セル内のｉ０粒子ではない場合、次のように周期的境界条件を選択する。
【００４０】
すなわち、図６および図９の例では、ｉ粒子は基本セルの左端に位置しており、この条件のときには周期的境界条件として（Ｘｉ＋Ｌｘ）を選択する。また、図７および図１０の例では、ｉ粒子は基本セルの右端に位置しており、この条件のときには周期的境界条件として（Ｘｉ−Ｌｘ）を選択する。このように、周期的境界条件を選択する際に、基本セル中におけるｉ粒子の位置に応じて、Ｌｘを加算したものを選択するか、Ｌｘを減算したものを選択するかを決定することができる。
【００４１】
従って、本発明では、周期的境界条件として、（Ｘｉ＋Ｌｘ）または（Ｘｉ−Ｌｘ）の一方を記憶すればよく、両方を記憶する必要はないため、計算量を削減できる。また、記憶機構も削減できるためゲート量が削減でき、消費電力の削減も可能となる。
【００４２】
以下、上記の原理で動作を行う本発明の一実施形態の座標差分計算装置の構成について説明する。
【００４３】
図１は、本実施形態の座標差分計算装置の構成を示すブロック図である。なお、図１の構成要素は、実際には、Ｘ座標、Ｙ座標、Ｚ座標の各座標ごとに設けられているが、図１では、Ｘ座標に関連する構成要素のみが示され、Ｙ座標およびＺ座標に関連する構成要素は省略されている。
【００４４】
図１を参照すると、本実施形態の座標差分計算装置は、制御部１、記憶部２〜４、選択部５，６、および演算部７から構成されている。
【００４５】
制御部１は、記憶部２，３に値を記憶させるとともに、選択部５，６および演算部７の制御を行う。具体的には、まず、記憶部２に基本セルのＸ軸方向の一辺の長さであるＬｘを記憶させる。続いて、記憶部３にｉ粒子のＸ座標の値であるＸｉを記憶させる。なお、Ｘｉの記憶は、計算するｉ粒子が変更されるごとに行う。続いて、Ｘｉを選択するための選択信号＃２を選択部６に対して出力するとともに、Ｌｘを選択するための選択信号＃３を選択部５に対して出力する。また、基本セル中におけるｉ粒子を含む微小セルの位置関係に応じて決定される信号であって、（Ｘｉ＋Ｌｘ），（Ｘｉ−Ｌｘ）のどちらを計算するかを選択するための選択信号＃１を演算部７に対して出力する。その後、ｉ粒子に対して計算するｊ粒子のＸ座標の値であるＸｊを出力し、このＸｊを選択するための選択信号＃３を選択部５に対して出力する。また、周期的境界条件となるＸｉ，（Ｘｉ±Ｌｘ）の値のうち、ｉ粒子を含む微小セルとｊ粒子を含む微小セルとの距離が最小となるような値を選択するための選択信号＃１を選択部６に対して出力する。
【００４６】
なお、本実施形態の座標差分計算装置には、ｉ粒子またはｊ粒子となる各粒子の座標、および、ｉ粒子を含む微小セルとｊ粒子を含む微小セルとの距離を最小とするために選択すべき周期的境界条件を記憶した不図示のメモリが設けられている。制御部１は、このメモリに記憶されている情報を必要に応じて読み出し、その情報に基づく選択信号を、選択部５，６および演算部７に対して出力している。
【００４７】
記憶部２は、Ｌｘの値を予め記憶する第１の記憶手段であり、また、記憶部３は、Ｘｉの値を予め記憶する第２の記憶手段であり、また、記憶部４は、ＸｉにＬｘを加算または減算した（Ｘｉ±Ｌｘ）の値を記憶する第３の記憶手段である。
【００４８】
選択部５は、制御部１から出力された選択信号＃３に基づいて、記憶部２に記憶されたＬｘ、または、制御部１から出力されたＸｊのいずれかを選択して出力する。
【００４９】
選択部６は、制御部１から出力された選択信号＃２に基づいて、記憶部３に記憶されたＸｉ、または、記憶部４に記憶された（Ｘｉ±Ｌｘ）のいずれかを選択して出力する選択手段である。
【００５０】
演算部７は、制御部１から出力された制御信号＃１に基づいて動作を行う。具体的には、演算部７は、選択部６から出力されたＸｉに、選択部５から出力されたＬｘを加算または減算することで、（Ｘｉ±Ｌｘ）を演算し、演算した（Ｘｉ±Ｌｘ）を記憶部４に記憶させる。また、選択部５から出力されたＸｊから、選択部５から出力されたＸｉまたは（Ｘｉ±Ｌｘ）を減算することで、ΔＸｉｊを演算する。
【００５１】
以下、図１に示した座標差分計算装置の動作について、図２から図４を参照して説明する。
【００５２】
図２を参照すると、まず、制御部１は、基本セルのＸ軸方向の一辺の長さであるＬｘを記憶部２に記憶させる。これはすべての計算において不変の値であり、１度だけ記憶させる。
【００５３】
図３を参照すると、続いて、制御部１は、ｉ粒子のＸ座標であるＸｉを記憶部３に記憶させる。なお、Ｘｉの記憶は、計算するｉ粒子が変更されるごとに行う。
【００５４】
続いて、制御部１は、Ｘｉを選択するための選択信号＃２を選択部６に対して出力するとともに、Ｌｘを選択するための選択信号＃３を選択部５に対して出力する。また、基本セル中におけるｉ粒子を含む微小セルの位置関係に応じて、（Ｘｉ＋Ｌｘ），（Ｘｉ−Ｌｘ）のどちらを計算するかを選択するための選択信号＃１を演算部７に対して出力する。
【００５５】
続いて、選択部５は、選択信号＃３に基づいて、演算部７に対してＬｘの値を出力し、選択部６は、選択信号＃２に基づいて、Ｘｉの値を演算部７に対して出力する。また、演算部７は、選択信号＃１に基づいて、加算または減算の選択をし、選択部５から出力されたＸｉに対して、選択部６から出力されたＬｘを加算または減算することで、（Ｘｉ±Ｌｘ）を演算して記憶部４に記憶させる。
【００５６】
図４を参照すると、続いて、制御部１は、ｉ０粒子と同一基本セル内のいずれかの微小セルを選択し、さらに、選択した微小セル内のいずれかの粒子をｊ粒子として選択し、選択したｊ粒子のＸ座標であるＸｊを選択部５に対して出力するとともに、選択部５でＸｊを選択するための選択信号＃３を選択部５に対して出力する。
【００５７】
さらに、制御部１は、記憶部２，３にそれぞれ記憶されたＸｉ，（Ｘｉ±Ｌｘ）の値のうち、ｉ粒子を含む微小セルとｊ粒子を含む微小セルとの距離が最小となるような値を選択するための選択信号＃２を選択部６に対して出力する。
【００５８】
具体的には、図５の例では、ｉ粒子を含む微小セルとｊ０粒子を含む微小セルとの距離が最小となる。そこで、制御部１は、ｊ０粒子を計算対象とするため、Ｘｉを選択させるための選択信号＃２を出力する。同様に、図８の例でも、Ｘｉを選択させるための選択信号＃２を出力することになる。
【００５９】
また、図６の例では、ｉ粒子を含む微小セルとｊ６粒子を含む微小セルとの距離が最小となる。そこで、制御部１は、ｊ６粒子を計算対象とするため、（Ｘｉ＋Ｌｘ）を選択させるための選択信号＃２を出力する。同様に、図９の例でも、（Ｘｉ＋Ｌｘ）を選択させるための選択信号＃２を出力することになる。
【００６０】
また、図７の例では、ｉ粒子を含む微小セルとｊ８粒子を含む微小セルとの距離が最小となる。そこで、制御部１は、ｊ８粒子を計算対象とするため、（Ｘｉ−Ｌｘ）を選択させるための選択信号＃２を出力する。同様に、図１０の例でも、（Ｘｉ−Ｌｘ）を選択させるための選択信号＃２を出力することになる。
【００６１】
さらに、制御部１は、演算部７に対して減算を指示する選択信号＃１を出力する。
【００６２】
その後、選択部５は、制御部１から出力された選択信号＃３に基づき、Ｘｊを選択して演算部７に対して出力し、選択部６は、制御部１から出力された選択信号＃２に基づき、記憶部２，３にそれぞれ記憶されているＸｉ，（Ｘｉ±Ｌｘ）のいずれかを選択して演算部７に対して出力し、演算部７は、制御部１から出力された選択信号＃１に基づき、選択部５から出力されたＸｊから選択部６の出力を減算することでΔＸｉｊを計算する。
【００６３】
以降、制御部１は、選択信号を固定したまま、同一微小セル内の別のｊ０粒子のＸ座標を順次選択部５に出力して、同一微小セル内の全てのｊ０粒子についてΔＸｉｊの計算を完了させる。そして、同一微小セル内の全てのｊ０粒子についてΔＸｉｊの計算が完了すると、制御部１は、基本セル内の別の微小セルを選択し、選択した微小セルに応じて選択信号を切り替え、その微小セル内の全てのｊ０粒子について上記と同様にΔＸｉｊの計算を行う。ただし、次に選択した微小セルによっては、選択信号を切り替えない場合もある。
【００６４】
上述したように本実施形態においては、ｉ粒子に働く力を計算する間は一定となる周期的境界条件を予め計算して保持しておく。そして、ｉ粒子とｊ粒子の座標の差分を計算する際には、ｉ粒子を含む微小セルとｊ粒子を含む微小セルとの距離が最小となるような周期的境界条件を選択して座標差分の計算を行う。
【００６５】
従って、従来技術のように、ｊ粒子が変わるたびに周期的境界条件を動的に計算する必要はないため、専用の演算器を用いなくても、座標差分の計算を高速に行うことができる。また、専用の演算器を用いる必要がないため、ゲート量を削減することができるとともに、消費電力を低減することができる。
【００６６】
また、周期的境界条件は、同一の微小セル内のｊ粒子について計算を行っている間は固定することができるため、周期的境界条件の選択は、ｊ粒子が変わるたびに行う必要はなく、ｊ粒子を含む微小セルが変わるたびに行えば良い。よって、座標差分の計算量が削減されるため、計算のさらなる高速化に寄与し得る。
【００６７】
また、基本セル中におけるｉ粒子の位置関係に応じて、周期的境界条件をあらかじめ絞込み、（Ｘｉ＋Ｌｘ）または（Ｘｉ−Ｌｘ）のどちらか一方のみを記憶しておく。これは、一般的に単一のｉ粒子に対して（Ｘｉ＋Ｌｘ）および（Ｘｉ−Ｌｘ）の両方を用いて計算することがないということを利用している。
【００６８】
従って、（Ｘｉ＋Ｌｘ）および（Ｘｉ−Ｌｘ）の両方を計算して保持しておく必要はないため、記憶部を削減することができ、ゲート量を削減することができるとともに、消費電力を低減することができる。また、（Ｘｉ＋Ｌｘ）または（Ｘｉ−Ｌｘ）のどちらか一方の計算で済むため、計算時間も短縮することができる。
【図面の簡単な説明】
【００６９】
【図１】本発明の一実施形態の座標差分計算装置の構成を示すブロック図である。
【図２】図１に示した座標差分計算装置において、基本セルの一辺の長さを予め保持する動作を説明する図である。
【図３】図１に示した座標差分計算装置において、周期的境界条件を予め計算し保持する動作を説明する図である。
【図４】図１に示した座標差分計算装置において、予め保持しておいた周期的境界条件を用いて座標の差分を計算する動作を説明する図である。
【図５】基本セルをＸＹ平面上に２次元的に表した一例を示す図ある。
【図６】基本セルをＸＹ平面上に２次元的に表した他の例を示す図ある。
【図７】基本セルをＸＹ平面上に２次元的に表したさらに他の例を示す図ある。
【図８】図５に対して、ｊ粒子ではなくｉ粒子を動かした図ある。
【図９】図６に対して、ｊ粒子ではなくｉ粒子を動かした図ある。
【図１０】図７に対して、ｊ粒子ではなくｉ粒子を動かした図ある。
【符号の説明】
【００７０】
１    制御部
２〜４    記憶部
５，６    選択部
７    演算部
【図１】
2008269130.tif 000005
【図２】
2008269130.tif 000006
【図３】
2008269130.tif 000007
【図４】
2008269130.tif 000008
【図５】
2008269130.tif 000009
【図６】
2008269130.tif 000010
【図７】
2008269130.tif 000011
【図８】
2008269130.tif 000012
【図９】
2008269130.tif 000013
【図１０】
2008269130.tif 000014