(57)【要約】【課題】力分割法を適用した粒子挙動解析での計算装置数ＭがＮ＾２の関係を満たさなければならないという制限を排除し、並列化処理の計算速度向上比を向上させる。【解決手段】使用可能なプロセッサ数Ｍが、Ｎ・（Ｎ＋１）＋１≦Ｍ≦（Ｎ＋１）＾２−１の関係を満たすときには（Ｓ２１２−ＹＥＳ）、縦（Ｎ＋１）・横（Ｎ＋１）の力マトリクスを使用する（Ｓ２１６）。拡張した縦（Ｎ＋１）・横（Ｎ＋１）の力マトリックスにおける（Ｎ＋１）＾２−Ｍ個のダミープロセッサ部分について、Ｎ＋１番目の行に存在する、実体のあるプロセッサが代替プロセッサとして担当するように粒子の情報を振り分ける（Ｓ２２０）。計算速度の速度向上比は、（Ｎ＋１）＾２個の計算装置で並列処理したときの方が、Ｎ＾２個の計算装置で並列処理したときより高くなる。【選択図】図１３
2008158821.tif 000002
【特許請求の範囲】
【請求項１】
粒子を力マトリクスを使用した力分割法により分割し、それぞれの分割部分を各計算装置に割り当てる分割処理部と、
それぞれの前記計算装置に設けられた、他の前記計算装置との間でデータ通信を行ないつつ、前記力分割法により割り当てられた前記分割部分について、粒子に作用する他の物質との間での相互作用力を考慮して前記粒子の挙動を解析するデータ処理部とを備え、
前記分割処理部は、前記計算装置の数Ｍに対して、Ｎ＾２＜Ｍ＜（Ｎ＋１）＾２となるように、拡張した力マトリックスを使用するように設定し、さらに、拡張した力マトリックスにおける（Ｎ＋１）＾２−Ｍ個の実際には存在しない前記計算装置の部分について、実体のある前記計算装置を代替装置として割り当てる
ことを特徴とする粒子挙動解析装置。
【請求項２】
前記分割処理部は、前記計算装置の数Ｍが、Ｎ＾２の関係を満たさず、かつ、Ｎ・（Ｎ＋１）＋１≦Ｍ≦（Ｎ＋１）＾２−１の関係を満たすときには、縦（Ｎ＋１）・横（Ｎ＋１）の力マトリクスを使用するように前記分割を行ない、さらに、実際には存在しない前記計算装置が担当するはずの計算部分に関しては、Ｎ＋１番目の行に存在する、実体のある前記計算装置が前記代替装置として担当するように前記粒子の情報を振り分ける
ことを特徴とする請求項１に記載の粒子挙動解析装置。
【請求項３】
前記分割処理部は、前記Ｎ＋１番目の行に実体のある前記計算装置が複数存在する場合には、前記粒子の情報を均等に振り分ける
ことを特徴とする請求項２に記載の粒子挙動解析装置。
【請求項４】
粒子を力マトリクスを使用した力分割法により分割し、それぞれの分割部分を各計算装置に割り当てるに当たり、前記計算装置の数Ｍが、Ｎ＾２の関係を満たさず、かつ、Ｎ・（Ｎ＋１）＋１≦Ｍ≦（Ｎ＋１）＾２−１の関係を満たすときには、縦（Ｎ＋１）・横（Ｎ＋１）の力マトリクスを使用するように前記分割を行ない、さらに、実際には存在しない前記計算装置が担当するはずの計算部分に関しては、Ｎ＋１番目の行に存在する、実体のある前記計算装置が担当するように前記粒子の情報を振り分ける手順と、
他の前記計算装置との間でデータ通信を行ないつつ、前記力分割法により割り当てられた前記分割部分について、粒子に作用する他の物質との間での相互作用力を考慮して前記粒子の挙動を解析する手順と
を実行することを特徴とする粒子挙動解析用のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、粒子挙動解析装置並びにプログラムに関する。より詳細には、たとえば、プリンタ装置、ファクシミリ装置、あるいはそれらの機能を有する複合機などの画像形成装置において使用される色材（粉体、現像剤）などにおける、複数の粒子が混合された状態での粒子の挙動をシミュレーションにより解析する仕組みに関する。
【背景技術】
【０００２】
たとえば、プリンタ装置、ファクシミリ装置、あるいはそれらの機能を有する複合機などの画像形成装置において、電子写真方式を利用する場合、一般的には、感光ドラムなどの光導電性絶縁体上に一様な静電荷を与え、様々な手段によりこの光導電性絶縁体上に光像を照射することによって静電潜像を形成し、次いで、形成した潜像を現像器を用いて磁性粉体を用いて現像可視化し、紙などの記録媒体にトナー粉像を転写した後に定着させ、印刷物を得る。
【０００３】
このような電子写真法による画像形成装置においては、容器に収容されている磁性粉体の攪拌や磁性ローラへの搬送、磁性ローラへの吸着、記録画像に応じて帯電され潜像が形成されている感光体への飛翔などの振る舞いが記録画像の画質に影響を与える。そこで、この磁性粉体の挙動の解析が電子写真装置本体や現像装置の開発にとって重要となる。
【０００４】
粉体や粒体などの粒子の挙動シミュレーションについては、個別要素法あるいは離散粒子法と呼ばれる方法が普及されている。しかしながら、個別要素法に基づいた粒子挙動計算アルゴリズムでは、概ね粒子数の２乗で解析負荷が増大するので、粒子数が多くなると、計算量が膨大になり、いくら計算機の性能が向上したとはいっても、実際の系と同等の粒子数での計算を実行することは困難な場合が多い。
【０００５】
そこで、従来の粒子挙動シミュレーション方法として、計算時間の短縮を目的として、プログラムがインストールされた電子計算機を複数台使用し、各プログラムの並列化動作による分散処理が提案されている（たとえば特許文献１を参照）。
【０００６】
【特許文献１】特開２０００−００３３５２号公報
【０００７】
特許文献１に記載の仕組みでは、複数のプロセッサを有する並列計算機を用いてｎ次元空間における多数の粒子の運動をシミュレートする分子動力学計算装置が提案されており、隣接する領域の数が３＾ｎ−１（“＾”はべき乗を示す；３のｎ乗引く１）よりも小さい数の局所的領域に空間分割することで、通信時間を削減し、全体としての計算処理の高速化を図っている。考え方としては、計算領域の空間を各並列プロセッサに分割する場合に、計算領域の空間をより球に近い多面体で分割することにより、境界近傍の粒子データを交換する転送相手の数を減らすことで、通信の起動回数を減らすようにしている。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、粒子間相互作用を考慮する場合において、特許文献１に記載の仕組みとは異なるアプローチで、並列化処理の計算速度向上比を向上させることのできる仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００９】
請求項１に記載の発明は、粒子を力マトリクスを使用した力分割法により分割し、それぞれの分割部分を各計算装置に割り当てる分割処理部と、それぞれの前記計算装置に設けられた、他の前記計算装置との間でデータ通信を行ないつつ、前記力分割法により割り当てられた前記分割部分について、粒子に作用する他の物質との間での相互作用力を考慮して前記粒子の挙動を解析するデータ処理部とを備え、分割処理部は、計算装置の数Ｍに対して、Ｎ＾２＜Ｍ＜（Ｎ＋１）＾２となるように、拡張した力マトリックスを使用するように設定し、さらに、拡張した力マトリックスにおける（Ｎ＋１）＾２−Ｍ個の実際には存在しない計算装置の部分について、実体のある計算装置を代替装置として割り当てることを特徴とする粒子挙動解析装置である。
【００１０】
請求項２に記載の発明は、請求項１に記載の発明においてさらに、分割処理部は、計算装置の数Ｍが、Ｎ＾２の関係を満たさず、かつ、Ｎ・（Ｎ＋１）＋１≦Ｍ≦（Ｎ＋１）＾２−１の関係を満たすときには、縦（Ｎ＋１）・横（Ｎ＋１）の力マトリクスを使用するように分割を行ない、さらに、実際には存在しない計算装置が担当するはずの計算部分に関しては、Ｎ＋１番目の行に存在する、実体のある計算装置が代替装置として担当するように粒子の情報を振り分けることを特徴とする。
【００１１】
請求項３に記載の発明は、請求項２に記載の発明においてさらに、分割処理部は、Ｎ＋１番目の行に実体のある計算装置が複数存在する場合には、粒子の情報を均等に振り分けることを特徴とする。
【００１２】
請求項４に記載の発明は、粒子を力マトリクスを使用した力分割法により分割し、それぞれの分割部分を各計算装置に割り当てるに当たり、計算装置の数Ｍが、Ｎ＾２の関係を満たさず、かつ、Ｎ・（Ｎ＋１）＋１≦Ｍ≦（Ｎ＋１）＾２−１の関係を満たすときには、縦（Ｎ＋１）・横（Ｎ＋１）の力マトリクスを使用するように分割を行ない、さらに、実際には存在しない計算装置が担当するはずの計算部分に関しては、Ｎ＋１番目の行に存在する、実体のある計算装置が担当するように粒子の情報を振り分ける手順と、他の計算装置との間でデータ通信を行ないつつ、力分割法により割り当てられた分割部分について、粒子に作用する他の物質との間での相互作用力を考慮して粒子の挙動を解析する手順とを実行することを特徴とする粒子挙動解析用のプログラムである。
【発明の効果】
【００１３】
請求項１に記載の発明によれば、領域分割法や粒子分割法ではなく力マトリックスを用いたアルゴリズムである力分割法を用いて解析することで、全計算装置間の通信量を低減させることができる。通信量を低減させると、多くの計算装置を使用したときのプログラムの並列化性能を向上させることができ、計算時間を大幅に短縮することができる。
【００１４】
加えて、力分割法を適用した粒子挙動解析における計算装置数ＭがＮ＾２の関係を満たさなければならないという従来の制限を排除し、Ｎ＾２＜Ｍ＜（Ｎ＋１）＾２のときには、縦（Ｎ＋１）・横（Ｎ＋１）の力マトリクスを使用した並列処理で粒子挙動解析を実行できる。Ｎ＾２個の以外の計算装置数においても、力分割並列化法の適用による高速化が可能となるのである。その結果、計算速度の速度向上比は、Ｎ＾２個の計算装置で並列処理したときより高くなる。
【００１５】
また、付加的な効果として、縦ｎ・横ｎの力マトリクスを使用するｎ＾２個の計算装置で構成された並列計算システムの一部の計算装置が動作不良となった際にも、１ランク下の（ｎ−１）＾２個の計算装置に適合した縦（ｎ−１）・横（ｎ−１）の力マトリクスを使用した運用に切り替えるのではなく、縦ｎ・横ｎの力マトリクスの使用を継続して、その時点で動作可能な計算装置を動作させる運用ができるので、計算性能低下を最小限に抑えた稼働が可能である。
【００１６】
請求項２に記載の発明によれば、縦（Ｎ＋１）・横（Ｎ＋１）の力マトリクスに拡張する場合において、実際には力分割法を適用した粒子挙動解析が実現できない、Ｎ＾２＋１≦Ｍ≦Ｎ・（Ｎ＋１）の範囲を排除することができる。
【００１７】
また、付加的な効果として、縦ｎ・横ｎの力マトリクスを使用するｎ＾２個の計算装置で構成された並列計算システムの一部の計算装置が動作不良となった際にも、その時点で動作可能な残りの計算装置数が（ｎ−１）・ｎ＋１≦Ｍ≦ｎ＾２−１の関係を満たすときには、１ランク下の（ｎ−１）＾２個の計算装置に適合した縦（ｎ−１）・横（ｎ−１）の力マトリクスを使用した運用に切り替えるのではなく、縦ｎ・横ｎの力マトリクスの使用を継続して、その時点で動作可能な全ての計算装置を動作させる運用ができるので、計算性能低下を最小限に抑えた稼働が可能である。
【００１８】
請求項３に記載の発明によれば、代替装置と他の計算装置との間での計算負荷のアンバランス（不均衡）を小さくすることができる。
【００１９】
請求項４に記載の発明によれば、並列化処理の計算速度向上比を向上させることのできる粒子挙動解析装置の仕組みをコンピュータを用いて実現できる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して本発明の実施形態について詳細に説明する。
【００２１】
＜現像装置の概要＞
図１は、印刷装置（プリンタ）や複写装置（コピー機）などの画像形成装置に使用される現像装置１００の一構成例を示す図である。
【００２２】
図１（Ａ）に示すように、現像装置１００は、感光体１３０に対向して配置されており、現像剤１０２を収納容器１０１の内部に充填している。収納容器１０１は、現像剤１０２を感光体１３０側に飛翔させるための開口部１０１ａが形成されている。
【００２３】
現像剤１０２は、図１（Ｂ）に示すように、それぞれ物性や粒径の異なるキャリア粒子１０２ａとトナー粒子１０２ｂ（たとえば黒色トナー粒子）とを含有して構成された２成分方式のものである。キャリア粒子１０２ａとトナー粒子１０２ｂとの対によって、全体として磁性粉体が形成されるようにしている。すなわち、キャリア粒子１０２ａは磁性体から構成され、マグネットに吸着するようになっている。一方、トナー粒子１０２ｂは非磁性トナーであって、所定の色を持つ粉体である。一般的には、キャリア粒子１０２ａの粒径の方がトナー粒子１０２ｂの粒径よりも大きい。なお、トナー粒子１０２ｂとしては、磁性トナーを使用することも可能である。
【００２４】
収納容器１０１内には、表面に現像剤１０２を担持する担持ロールの一例である現像ロール（マグロール、マグネットローラ、磁気搬送ローラとも言われる）１４０を、周面が開口部１０１ａから少し突き出すように備えている。現像ロール１４０内には、その内周縁に沿って、所定間隔で所定数のマグネット１４２が配置されている。
【００２５】
また、現像装置１００は、現像ロール１４０の近傍に、高さ規制部材や層形成部材として機能する規制ブレード（トリマーバー）１５０を備えており、マグネット１４２による磁力線に沿ってできた現像剤１０２の穂立ちの高さを規制するようになっている。
【００２６】
また、収納容器１０１内には、現像剤１０２を攪拌するとともに現像ロール１４０側に搬送する１対の攪拌搬送ロール１６０（それぞれを１６０ａ，１６０ｂとする）を備えている。一方の攪拌搬送ロール１６０ａは、収納容器１０１内の奥の方に配置され、他方の攪拌搬送ロール１６０ｂは現像ロール１４０と対向して配置されている。攪拌搬送ロール１６０は、その回転動作によって、現像剤１０２を現像ロール１４０側に攪拌しながら搬送する。
【００２７】
現像ロール１４０は、矢印Ｘ方向に回転される感光体１３０とともに、感光体１３０と対向する側のその表面の回転移動方向が、感光体１３０の移動方向Ｘと同じき（矢印Ｙ方向）に回転される。なお、感光体１３０の移動方向Ｘと逆向きに回転駆動するようにしてもよい。
【００２８】
現像ロール１４０内にはマグネット１４２を内蔵している。現像ロール１４０は、現像剤１０２を攪拌搬送ロール１６０ｂから磁気力により吸着する。現像ロール１４０に吸着された現像剤１０２は、規制ブレード１５０により現像剤１０２の吸着量が規制される。すなわち、キャリア粒子１０２ａおよびトナー粒子１０２ｂは、攪拌機能を持つ攪拌搬送ロール１６０により攪拌され摩擦帯電されつつ現像ロール１４０側に搬送され、規制ブレード１５０によって一定の高さで、現像ロール１４０の周縁に付着する。
【００２９】
トナー粒子１０２ｂは、キャリア粒子１０２ａに静電力により互いに吸着されている。キャリア粒子１０２ａは、現像ロール１４０に内蔵されたマグネット１４２からの磁場により磁気ブラシを構成する。トナー粒子１０２ｂはキャリア粒子１０２ａとともに、感光体１３０に対向する部分まで搬送される。
【００３０】
現像ロール１４０は、感光体１３０に対向して設けられており、現像ロール１４０に吸着された現像剤１０２のうちトナー粒子１０２ｂは、帯電されており、感光体１３０に吸着される。このとき、感光体１３０の表面は、記録画像に応じて帯電されることで静電潜像が形成されており、トナー粒子１０２ｂは、感光体１３０に形成された静電潜像に応じて吸着される。
【００３１】
つまり、現像ロール１４０は、キャリア粒子１０２ａを介して現像ロール１４０に担持されたトナー粒子１０２ｂを感光体１３０側に飛翔させ、感光体１３０の表面に形成された潜像を現像化するようになっている。現像処理後のキャリア粒子１０２ａと、感光体１３０側に飛翔されなかったトナー粒子１０２ｂは、収納容器１０１内に回収される。
【００３２】
ここで、図１（Ｂ）に示すように、感光体１３０の表面は、記録画像に応じて帯電されており、トナー粒子１０２ｂは、静電力により感光体１３０の表面に飛翔する。感光体１３０の表面には、飛翔したトナー粒子１０２ｂが付着し、記録画像に応じたトナー像が形成される。このとき、トナー粒子１０２ｂの感光体１３０への吸着のされ方によって、記録画像の画質が左右される。
【００３３】
トナー粒子１０２ｂは、キャリア粒子１０２ａにより感光体１３０に搬送されているので、トナー粒子１０２ｂの感光体１３０への吸着のされ方は、現像ロール１４０と感光体１３０との間の現像ギャップでのキャリア粒子１０２ａおよびトナー粒子１０２ｂの挙動により決定される。このため、キャリア粒子１０２ａおよびトナー粒子１０２ｂの挙動の解析が電子写真装置本体や現像装置１００の開発にとって重要な要素となる。
【００３４】
＜粒子挙動解析システム；基本＞
図２は、本発明に係る粒子挙動解析装置の一構成例である粒子挙動解析システムの基本構成を示すブロック図である。基本構成の粒子挙動解析システム２００は、それぞれ粒子挙動解析機能を有する複数台の粒子挙動解析装置２０２がネットワーク接続されて構成されている。
【００３５】
各粒子挙動解析装置２０２は、主要の処理データを相互にネットワーク２０８を介して伝達し合い、粒子挙動解析処理を並列的に実行可能になっており、粒子挙動解析システム２００としては、事実上の並列型計算装置（クラスタ計算機）として構成されている。ネットワーク２０８は、通信状態がルーティング機能を持つネットワーク管理装置２０８ａで管理されるようになっている。
【００３６】
各粒子挙動解析装置２０２は、一般の電子計算機と同様のもので構成されている。また、図示した例では、粒子挙動解析システム２００を構成する各粒子挙動解析装置２０２のうちの１台が全体を統括する計算管理ノードとしての機能を持つ主粒子挙動解析装置２０２ａとして機能するようになっており、この主粒子挙動解析装置２０２ａに対して残りの粒子挙動解析装置２０２が、主粒子挙動解析装置２０２ａにより制御される副粒子挙動解析装置２０２ｂとしてネットワーク接続されている。
【００３７】
なお、図では便宜的に、ネットワーク管理装置２０８ａから１本のネットワーク線を出し、そのネットワーク線上に主粒子挙動解析装置２０２ａと副粒子挙動解析装置２０２ｂとを接続する態様で示しているが、実際には、ネットワーク管理装置２０８ａに備えられる個別のポートに各粒子挙動解析装置２０２が接続され、各粒子挙動解析装置２０２間の通信は、このネットワーク管理装置２０８ａを介してなされるようになっている。
【００３８】
主粒子挙動解析装置２０２ａには、粒子挙動解析処理用の各種の操作を行なうためのキーボードやマウスなどの指示入力装置２１０と、処理結果をユーザに画像情報として提示する表示装置２１２とが接続されている。
【００３９】
このような基本構成のシステム構成を採ることで、複数種類の多体粒子間相互作用がある系について粒子挙動解析処理を行なうに当たり、各粒子の磁気相互作用、静電相互作用、あるいは機械的相互作用（接触力；壁などと粒子間の接触力や粒子間接触）などの各相互作用について、並列処理にて解析を実行する。なお、機械的相互作用は、たとえば、壁やその他の物体と粒子間の接触力や粒子間接触による接触力である。
【００４０】
たとえば、キャリア粒子１０２ａについてはMaxwell方程式を基礎とした磁場解析法などを利用した磁気的な運動解析を行ない、またトナー粒子１０２ｂについては粒子要素法などを利用した純力学的な運動解析やクーロン力に着目した静電界解析を行ない、最終的には、各解析結果を組み合わせて、現像剤１０２の流動挙動を高精度で予測する。
【００４１】
特に本実施形態では、各粒子挙動解析装置２０２において各相互作用の解析を行なう際、領域分割法（ＳＤ；Spatial Decomposition Method）や粒子分割法（ＰＤ；Particle Decomposition Method あるいはＲＤ；Replicated Data Method）ではなく力分割法（力マトリックスを用いたアルゴリズム）を用いて解析することで、全プロセッサ（本実施形態の各粒子挙動解析装置２０２）間の通信量を低減させるようにしている。通信量を低減させることで、多プロセッサ使用時のプログラムの並列化性能を向上させ、計算時間を大幅に短縮するのである。
【００４２】
なお、図２に示した粒子挙動解析システム２００の基本構成では、事実上の並列型計算装置（クラスタ計算機）の構成で示したが、これに限らず、図示を割愛するが、それぞれ粒子挙動解析機能を有する複数台の粒子挙動解析装置を第１ネットワークにてネットワーク接続されて並列型計算装置として構成されている複数の粒子挙動解析システムを、さらに、別の第２ネットワークで接続して構成されたものとしてもよい。
【００４３】
この場合、各粒子挙動解析システムは、主要の処理データを相互に外部ネットワーク（第２ネットワーク）を介して伝達し合い、それぞれ対象の異なる粒子挙動解析処理を並列的に実行可能になり、このような変形例の粒子挙動解析システムとしては、事実上の並列型計算装置をネットワーク接続してなるグリッド型計算装置として構成される。
【００４４】
たとえば、各粒子挙動解析システムにおいては、磁気相互作用、静電相互作用、あるいは機械的相互作用（接触力）などの各相互作用の何れかに特化した解析処理を行ない、それぞれ個別の相互作用についての解析処理を並列して実行する。つまり、複数種類の相互作用を、それぞれ独立して同時に、別の粒子挙動解析システムを用いて解析する。
【００４５】
あるいは、現像剤１０２を構成するキャリア粒子１０２ａやトナー粒子１０２ｂの別に、磁気相互作用、静電相互作用、あるいは機械的相互作用（接触力）などの各相互作用の解析処理を並列して実行する。たとえば、磁気力の影響度が大きいキャリア粒子１０２ａについては特に磁気力に特化した粒子挙動解析処理を行ないつつ、磁気力および静電気力の双方の影響度が大きいトナー粒子１０２ｂについては特に磁気力および静電気力に特化した粒子挙動解析処理を行なうなど、粒子種ごとに、別の粒子挙動解析システムを用いて粒子挙動解析処理を行なってもよい。
【００４６】
各粒子挙動解析システムは、基本構成で説明したように、各相互作用の解析を行なう際、粒子分割法ではなく力分割法を用いて解析する。処理速度の改善効果を高めるべく、並列計算装置として構成されている粒子挙動解析システム同士での通信においても、通信量の少ない力分割並列化法を採用する。つまり、このような変形構成のシステム構成を採ることで、各粒子挙動解析システムは、それぞれ独立した粒子挙動解析処理を行なうことで、基本構成のシステム構成よりもさらに処理時間の短縮を図る。
【００４７】
また、粒子間相互作用の計算負荷の程度に応じて、使用する粒子挙動解析システム（事実上の並列計算装置）を、その処理能力を基に選択してもよい。たとえば、異種環境（性能など）のシステムが混在する状況において、効率的に計算機リソースを用いて粒子挙動解析処理を行なう。
【００４８】
＜粒子挙動解析装置；機能ブロック＞
図３は、各粒子挙動解析装置２０２の一構成例を示すブロック図である。ここでは、特に計算管理ノードの機能を具備した主粒子挙動解析装置２０２ａについて示している。図示のように、主粒子挙動解析装置２０２ａは、指示入力装置２１０などを利用して処理対象データを取り込むデータ入力部２２０と、粒子挙動解析処理を行なうデータ処理部２３０と、処理結果を表示装置２１２などを利用してユーザに提示する情報提示部２４０とを備えている。データ入力部２２０と情報提示部２４０とは、主粒子挙動解析装置２０２ａの計算管理ノードに相当する部分に設けられている。
【００４９】
データ入力部２２０は、指示入力装置２１０を構成するキーボードやマウスを介してユーザより入力されるコマンドやデータを受け付け、データ処理部２３０に渡す。
【００５０】
データ処理部２３０は、データ入力部２２０から入力されたデータに基づいて後述する粒子挙動解析処理を行なう。このデータ処理部２３０は、より詳細には、データ受付部２３２、数値演算処理部２３４、および出力データ処理部２３６を有している。副粒子挙動解析装置２０２ｂは、このデータ処理部２３０のみで構成すればよい。
【００５１】
データ受付部２３２は、図示を割愛したデータ記憶部を具備しており、データ入力部２２０から入力されたデータをデータ記憶部に記憶し、数値計算時に必要なデータを数値演算処理部２３４に供給する。データ受付部２３２のデータ記憶部には、たとえば、解析の対象としている現像装置１００の構成および現像剤１０２の物性値に関するデータなどが記憶される。
【００５２】
数値演算処理部２３４は、データ受付部２３２から供給されたデータに基づいて、粒子の一例である現像剤１０２（詳細にはキャリア粒子１０２ａやトナー粒子１０２ｂ）について、磁気相互作用、静電相互作用、あるいは機械的相互作用（接触力）など、複数の相互作用を同時に考慮した粒子挙動を、力分割法を適用してシミュレーション処理にて解析する。数値演算処理部２３４は、その解析結果を出力データ処理部２３６に供給する。
【００５３】
出力データ処理部２３６は、数値演算処理部２３４での計算結果を受け取り、数値演算処理部２３４での計算結果を表示データに変換し、表示装置２１２に供給する。表示装置２１２は、出力データ処理部２３６から供給された表示データに基づいた処理結果画像を表示する。実際には確認困難な現像剤１０２の挙動を視覚的に把握することができるように、現像剤１０２の挙動予測を可視化して表示装置２１２上に表示するのである。
【００５４】
また、本実施形態の特徴部分として、主粒子挙動解析装置２０２ａの計算管理ノードに相当する部分に、処理対象要素を力分割法により分割するに当たり、それぞれ計算装置で構成され力分割法による粒子挙動解析を行なう各計算システム（プロセッサとも称する；図１では粒子挙動解析装置２０２）に各分割部分を割り当てる分割処理部２５０を備えている。
【００５５】
分割処理部２５０は、プロセッサ数Ｍに対して、Ｎ＾２＜Ｍ＜（Ｎ＋１）＾２となるように、縦Ｎ・横Ｎの力マトリックスではなく、縦（Ｎ＋１）・横（Ｎ＋１）の拡張した力マトリックスを使用するように設定し、さらに、拡張した力マトリックスにおける（Ｎ＋１）＾２−Ｍ個の実際には存在しないプロセッサ部分については、実体のあるプロセッサを代替プロセッサ（代替装置）として割り当てる。
【００５６】
また、分割処理部２５０は、縦（Ｎ＋１）・横（Ｎ＋１）の力マトリクスに拡張する場合において、実際には力分割法を適用した粒子挙動解析が実現できない、Ｎ＾２＋１〜Ｎ・（Ｎ＋１）の範囲を排除するべく、Ｎ＾２の関係を満たさず、かつ、Ｎ・（Ｎ＋１）＋１〜（Ｎ＋１）＾２−１の関係を満たすときに限って、縦（Ｎ＋１）・横（Ｎ＋１）の力マトリクスを使用するように分割を行ない、さらに、実際には存在しないプロセッサが担当するはずの計算部分に関しては、Ｎ＋１番目の行に存在する、実体のあるプロセッサが担当するように粒子の情報を振り分ける。
【００５７】
分割処理部２５０におけるこれらの処理に関しては、後で詳しく説明する。
【００５８】
＜粒子挙動解析装置；計算機構成＞
図４は、各粒子挙動解析装置２０２の他の構成例を示すブロック図である。ここでは、パーソナルコンピュータなどの電子計算機を利用して、粒子挙動解析をソフトウェアを実行するマイクロプロセッサなどから構築されるより現実的なハードウェア構成を示している。
【００５９】
すなわち、本実施形態において、２種類以上の相互作用力を考慮して、力マトリクスを使用した力分割並列化アルゴリズムを用いて、粒子の挙動を解析する仕組みは、ハードウェア処理回路により構成することに限らず、その機能を実現するプログラムコードに基づき電子計算機（コンピュータ）を用いてソフトウェア的に実現することも可能である。
【００６０】
よって、本発明に係る仕組みを、電子計算機（コンピュータ）を用いてソフトウェアで実現するために好適なプログラムあるいはこのプログラムを格納したコンピュータ読取可能な記憶媒体を発明として抽出することもできる。
【００６１】
電子計算機に、力分割並列化アルゴリズムを用いて２種類以上の相互作用力を考慮した粒子挙動解析処理機能をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ（組込マイコンなど）、あるいは、ＣＰＵ（Central Processing Unit ）、論理回路、記憶装置などの機能を１つのチップ上に搭載して所望のシステムを実現するＳＯＣ（System On a Chip：システムオンチップ）、または、各種のプログラムをインストールすることで各種の機能を実行することが可能な汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【００６２】
記録媒体は、コンピュータのハードウェア資源に備えられている読取装置に対して、プログラムの記述内容に応じて、磁気、光、電気などのエネルギの状態変化を引き起こして、それに対応する信号の形式で、読取装置にプログラムの記述内容を伝達できるものである。
【００６３】
たとえば、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクＦＤを含む）、光ディスク（ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory ）、ＤＶＤ（Digital Versatile Disc）を含む）、光磁気ディスク（ＭＯ（Magneto Optical Disk）を含む）、または半導体メモリなどよりなるパッケージメディア（可搬型の記憶媒体）により構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているＲＯＭやハードディスクなどで構成されてもよい。
【００６４】
また、ソフトウェアを構成するプログラムは、記録媒体を用いずに、記録媒体を介して提供されることに限らず、有線あるいは無線などの通信網を介して提供されてもよい。
【００６５】
たとえば、力分割並列化法を利用し複数種の相互作用力を考慮した粒子挙動解析処理機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、ハードウェア処理回路にて構成する場合と同様の効果は達成される。この場合、記憶媒体から読み出されたプログラムコード自体が力分割並列化法を利用し複数種の相互作用力を考慮した粒子挙動解析処理の機能を実現する。
【００６６】
また、コンピュータが読み出したプログラムコードを実行することで、力分割並列化法を利用し複数種の相互作用力を考慮した粒子挙動解析処理を行なう機能が実現されるだけでなく、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（Operating Systems ；基本ソフト）などが実際の処理の一部または全部を行ない、その処理により力分割並列化法を利用し複数種の相互作用力を考慮した粒子挙動解析処理を行なう機能が実現される場合であってもよい。
【００６７】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によって粒子挙動解析処理を行なう機能が実現される場合であってもよい。
【００６８】
なお、力分割並列化法を利用し複数種の相互作用力を考慮した粒子挙動解析処理を行なう機能を実現するプログラムコードを記述したファイルとしてプログラムが提供されるが、この場合、一括のプログラムファイルとして提供されることに限らず、コンピュータで構成されるシステムのハードウェア構成に応じて、個別のプログラムモジュールとして提供されてもよい。
【００６９】
たとえば、コンピュータシステム９００は、コントローラ部９０１と、ハードディスク装置、フレキシブルディスク（ＦＤ）ドライブ、あるいはＣＤ−ＲＯＭ（Compact Disk ROM）ドライブ、半導体メモリコントローラなどの、所定の記憶媒体からデータを読み出したり記録したりするための記録・読取制御部９０２とを有する。
【００７０】
コントローラ部９０１は、ＣＰＵ（Central Processing Unit ）９１２、読出専用の記憶部であるＲＯＭ（Read Only Memory）９１３、随時書込みおよび読出しが可能であるとともに揮発性の記憶部の一例であるＲＡＭ（Random Access Memory）９１５、および不揮発性の記憶部の一例であるＲＡＭ（ＮＶＲＡＭと記述する）９１６を有している。
【００７１】
なお、上記において“揮発性の記憶部”とは、装置の電源がオフされた場合には、記憶内容を消滅してしまう形態の記憶部を意味する。一方、“不揮発性の記憶部”とは、装置のメイン電源がオフされた場合でも、記憶内容を保持し続ける形態の記憶部を意味する。記憶内容を保持し続けることができるものであればよく、半導体製のメモリ素子自体が不揮発性を有するものに限らず、バックアップ電源を備えることで、揮発性のメモリ素子を“不揮発性”を呈するように構成するものであってもよい。
【００７２】
また、半導体製のメモリ素子により構成することに限らず、磁気ディスクや光ディスクなどの媒体を利用して構成してもよい。たとえば、ハードディスク装置を不揮発性の記憶部として利用できる。また、ＣＤ−ＲＯＭなどの記録媒体から情報を読み出す構成を採ることでも不揮発性の記憶部として利用できる。
【００７３】
また、コンピュータシステム９００は、ユーザインタフェースをなす機能部としての指示入力部９０３と、操作時のガイダンス画面や処理結果などの所定の情報をユーザに提示する表示出力部９０４と、各機能部との間のインタフェース機能をなすインタフェース部（ＩＦ部）９０９とを有する。
【００７４】
なお、解析処理結果を印刷出力してユーザに提示する構成とするべく、処理結果を所定の出力媒体（たとえば印刷用紙）に出力する画像形成部９０６を設けてもよい。
【００７５】
指示入力部９０３としては、たとえば、ユーザインタフェース部９８５の操作キー部９８５ｂを利用してもよい。あるいは、キーボードやマウスなどを利用してもよい。
【００７６】
表示出力部９０４は、表示制御部９１９と表示装置とを備える。表示装置としては、たとえば、ユーザインタフェース部９８５の操作パネル部９８５ａを利用してもよい。あるいは、ＣＲＴ（Cathode Ray Tube；陰極線管）やＬＣＤ（Liquid Crystal Display；液晶）などでなるその他のディスプレイ部を利用してもよい。
【００７７】
たとえば、表示制御部９１９が、操作パネル部９８５ａやディスプレイ部上に、ガイダンス情報や画像読取部９０５が取り込んだ全体画像などを表示させる。また、各種の情報をユーザに通知する際の表示デバイスとしても利用される。なお、表示面上にタッチパネルを有するディスプレイ部とすることで、指先やペンなどで所定の情報を入力する指示入力部９０３を構成してもよい。
【００７８】
インタフェース部９０９としては、処理データ（画像データを含む）や制御データの転送経路であるシステムバス９９１の他、たとえば、画像形成部９０６や他のプリンタとのインタフェース機能をなすプリンタＩＦ部９９６、およびネットワークとの間の通信データの受け渡しを仲介する通信ＩＦ部９９９を有している。
【００７９】
このような構成において、ＣＰＵ９１２は、システムバス９９１を介してシステム全体の制御を行なう。ＲＯＭ９１３は、ＣＰＵ９１２の制御プログラムなどを格納する。ＲＡＭ９１５は、ＳＲＡＭ（Static Random Access Memory ）などで構成され、プログラム制御変数や各種処理のためのデータなどを格納する。また、ＲＡＭ９１５は、所定のアプリケーションプログラムに従って演算して得たデータや外部から取得したデータなどを一時的に格納する領域を含んでいる。
【００８０】
たとえば、力分割並列化法を利用し複数種の相互作用力を考慮した粒子挙動解析処理機能をコンピュータに実行させるプログラムは、ＣＤ−ＲＯＭなどの記録媒体を通じて配布される。あるいは、このプログラムは、ＣＤ−ＲＯＭではなくＦＤに格納されてもよい。また、ＭＯドライブを設け、ＭＯに前記プログラムを格納してもよく、またフラッシュメモリなどの不揮発性の半導体メモリカードなど、その他の記録媒体にプログラムを格納してもよい。さらに、他のサーバなどからインターネットなどのネットワークを経由してプログラムをダウンロードして取得したり、あるいは更新したりしてもよい。
【００８１】
なおプログラムを提供するための記録媒体としては、ＦＤやＣＤ−ＲＯＭなどの他にも、ＤＶＤなどの光学記録媒体、ＭＯなどの光磁気記録媒体、テープ媒体、磁気記録媒体、ＩＣカードやミニチュアカードなどの半導体メモリを用いてもよい。記録媒体の一例としてのＦＤやＣＤ−ＲＯＭなどには、力分割並列化法を利用し複数種の相互作用力を考慮した粒子挙動解析処理機能を実現する際の、一部または全ての機能を格納してもよい。
【００８２】
また、ハードディスク装置は、制御プログラムによる各種処理のためのデータを格納したり、自装置で取得したデータや外部から取得したデータなどを大量に一時的に格納したりする領域を含んでいる。
【００８３】
このような構成により、操作キー部９８５ｂを介した操作者による指令にて、後述する粒子挙動解析方法を実行するプログラムが記憶されているＣＤ−ＲＯＭなどの読取可能な記録媒体からＲＡＭ９１５に粒子挙動解析プログラムがインストールされ、また操作キー部９８５ｂを介した操作者による指令や自動処理にて粒子挙動解析プログラムが起動される。
【００８４】
ＣＰＵ９１２は、この粒子挙動解析プログラムに従って後述する粒子挙動解析方法に伴う計算処理を施し、処理結果をＲＡＭ９１５やハードディスクなどの記憶装置に格納し、必要により操作パネル部９８５ａ、あるいはＣＲＴやＬＣＤなどの表示装置に出力する。
【００８５】
なお、このようなコンピュータを用いた構成に限らず、図４を用いて示した各機能部の処理をなす専用のハードウェアの組合せにより、力分割並列化法を利用し複数種の相互作用力を考慮した粒子挙動解析処理を行なう粒子挙動解析システム２００や粒子挙動解析装置２０２を構成してもよい。
【００８６】
たとえば、力分割並列化法を利用し複数種の相互作用力を考慮した粒子挙動解析処理のための各機能部分の全ての処理をソフトウェアで行なうのではなく、これら機能部分の一部を専用のハードウェアにて行なう処理回路９０８を設けてもよい。ソフトウェアで行なう仕組みは、並列処理や連続処理に柔軟に対処し得るものの、その処理が複雑になるに連れ、処理時間が長くなるため、処理速度の低下が問題となる。
【００８７】
これに対して、ハードウェア処理回路で構築すると、処理が複雑であっても、処理速度の低下を防ぐことができ、高いスループットを得ることができる高速化を図ったアクセラレータシステムが構築される。
【００８８】
たとえば、力分割並列化法を利用し複数種の相互作用力を考慮した粒子挙動解析処理機能を実現する場合であれば、処理回路９０８としては、図４に示したデータ処理部２３０を構成するデータ受付部２３２に相当するデータ受付部９０８ａ、数値演算処理部２３４に相当する数値演算処理部９０８ｂ、出力データ処理部２３６に相当する出力データ処理部９０８ｃなどをハードウェアで構成するとよい。
【００８９】
また、全体を統括する主粒子挙動解析装置２０２ａを構成する場合であれば、分割処理部２５０に相当する分割処理部９０８ｄをハードウェアで構成するとよい。
【００９０】
＜力分割並列処理；基本（プロセッサ数Ｍ＝Ｎ＾２）＞
図５〜図１２は、本実施形態の粒子挙動解析処理において適用する力分割法（力マトリックスを用いたアルゴリズム）の並列化処理を説明する図である。ここで、図５は、力分割並列処理手順の一例を示したフローチャートである。
【００９１】
図６は、解析対象粒子を各ノードに割り当てる手法を説明する図である。図７〜図９は、磁気相互作用、静電相互作用、機械的相互作用（接触力）について、各ノードでの相互作用力の計算対象を説明する図である。
【００９２】
図１０は、各ノードで求められた相互作用力の加算処理（特に力マトリクスの行方向について）を説明する図である。図１１は、行方向および列方向に計算した相互作用力を通信し合う必要のある他の特定プロセッサを説明する図である。図１２は、力分割法における力マトリクスを利用した際の通信対象のプロセッサを、ノード６に着目して纏めた図である。なお、力マトリクスでは、全粒子がキャリア粒子１０２ａであるものとし、磁気力の相互作用で示す。
【００９３】
本実施形態では、各粒子挙動解析装置２０２において各相互作用の解析を行なう際、領域分割法や粒子分割法ではなく力分割法（力マトリックスを用いたアルゴリズム）を用いて解析することで、全プロセッサ間の通信量を低減させるようにしている。通信量を低減させることで、多プロセッサ使用時のプログラムの並列化性能を向上させ、計算時間を短縮するのである。
【００９４】
先ず、主粒子挙動解析装置２０２ａにおいて、分割処理部２５０は、現時点において粒子挙動解析処理に使用可能なクラスタ構成の粒子挙動解析システム２００を構成する粒子挙動解析装置２０２の数やグリッド構成の粒子挙動解析システムを構成する各粒子挙動解析システム２００の数（纏めてプロセッサ数Ｍと呼ぶ）を特定する（Ｓ１０２）。
【００９５】
ここで、力分割法の基本原理としては、プロセッサ数Ｍは、Ｎ＾２であり、Ｎ行Ｎ列の正方の力マトリクスに配されることが前提となっている。ここでは、一例として、Ｎ＝４で、プロセッサ数Ｍが計１６（＝４＾２）台であるとする。この場合、各プロセッサは、４行４列の力マトリクスに配される。詳細は後述するが、本実施形態の仕組みでは、この２＾Ｎの制限を緩和して、Ｎ＾２以外のプロセッサ数Ｍでも力分割法を適用できるようにする点に特徴を有している。
【００９６】
この後、データ処理部２３０は、データ入力部２２０を介して、計算に必要な各種物理パラメータや粒子の初期配置や力分割法で特に必要となる解析対象粒子数などの計算条件を読み込む（Ｓ１０４）。
【００９７】
次に、分割処理部２５０は、ステップＳ１０２にて特定したプロセッサ数Ｍが、Ｎ＾２の関係を満たすか否かを判定する（Ｓ１０５）。プロセッサ数ＭがＮ＾２の関係を満たす場合（Ｓ１０５−ＹＥＳ）、分割処理部２５０は、ステップＳ１０２にて特定した各プロセッサを、図６に示すように正方行列でマトリクス配置して、解析対象の粒子（現像剤１０２を構成するキャリア粒子１０２ａやトナー粒子１０２ｂ）を割り当てる（Ｓ１０８）。各番号のプロセッサ（各粒子挙動解析装置２０２もしくは各粒子挙動解析システム２００）をノードＮ（本例では０〜１５の計１６台）とも呼ぶ。
【００９８】
一方、プロセッサ数ＭがＮ＾２の関係を満たさない場合（Ｓ１０５−ＮＯ）、分割処理部２５０は、本実施形態特有の処理として、プロセッサ数Ｍの制限（Ｍ＝Ｎ＾２）を緩和する処理（Ｓ１０６）を実行してから、ステップＳ１０８に移行する。
【００９９】
たとえば、図６に示す例では、３２粒子を１６個のプロセッサで並列計算する場合の力マトリクスを示している。縦方向が実体のあるプロセッサであり、自身のノードＮ（プロセッサ番号）と着目粒子とを示し、横方向は通信相手のノードＮ（プロセッサ番号）と着目粒子とを示す。
【０１００】
１６個のプロセッサで３２粒子について並列計算するので、４行４列の力マトリクスに配される各プロセッサは、先ず、それぞれ２個の粒子に着目して、着目粒子ごとに対象となる他の粒子との間での相互作用を解析することになる。たとえば、ノード６に着目すると、先ず、１２番目と１３番目の粒子を着目粒子とする。
【０１０１】
次に、複数種類の多体粒子間相互作用力を、力マトリクス中の自身を中心とする行方向および列方向に存在する通信を必要とするプロセッサ（特に特定プロセッサと呼ぶ）に分散して計算する（Ｓ１１０）。このとき、詳細は後述するが、複数種類の多体粒子間相互作用に対しては、それぞれ別の力マトリックスを用いて計算する。
【０１０２】
たとえば、図７に示す磁気相互作用を解析するための力マトリックスを用いて、磁気相互作用を解析する。また、図８に示す静電相互作用を解析するための力マトリックスを用いて、静電相互作用を解析する。また、図９に示す機械的相互作用（接触力）を解析するための力マトリックスを用いて、接触力を解析する。
【０１０３】
ここで、図７〜図９に示す各相互作用用の各別の力マトリックスは、取り扱う粒子番号が異なる点に特徴を有する。複数種類の多体粒子間相互作用に対して各別の力マトリックスを用いて計算することで、各力マトリックスでは相互作用計算に必要な最小数の粒子のみを計算するようにし、全粒子を計算する場合に比べて計算時間を短縮するのである。また、その時間短縮分、つまり計算負荷の低減分を見越して、各プロセッサが担当する解析対象の粒子数を増やす方向で調整するようにしてもよい。
【０１０４】
たとえば、３２個の解析対象粒子のうち、粒子番号０〜１５はキャリア粒子１０２ａ（図７〜図９中で粒子番号の右に“Ｃ”を付して示す）、粒子番号１６〜３１はトナー粒子１０２ｂ（図７〜図９中で粒子番号の右に“Ｔ”を付して示す）であるとする。また、キャリア粒子１０２ａについての解析を必要とする相互作用力は磁気力と接触力であり、トナー粒子１０２ｂについての解析を必要とする相互作用力は静電気力と接触力であるとする。
【０１０５】
この場合、磁気力の力マトリックスはキャリア粒子１０２ａのみを含む図７として、また静電気力の力マトリックスはトナー粒子１０２ｂのみを含む図８として、また接触力の力マトリックスはキャリア粒子１０２ａとトナー粒子１０２ｂとを含んだ図９として、それぞれ表される。各プロセッサが担当する粒子数に関しては、接触力用の力マトリクス（図９）では“２”にしているが、磁気相互作用用の力マトリクス（図７）並びに静電相互作用用の力マトリクス（図８）では“２”ではなく“４”にしている。
【０１０６】
このように、各別の力マトリックスを用いることにより、各々のマトリックスでは必要最小数の粒子のみを計算するようにし、マトリックスによっては計算時間を短縮する。たとえば、磁気力の力マトリックスでは、１６個のキャリア粒子１０２ａについての計算のみを行なうことで、全粒子３２個を計算する場合に比べて全計算時間を短縮する。
【０１０７】
なお、たとえば図６（もしくは図９）から分かるように、力分割法では、相互作用力を求める際の相手粒子の組合せ方に特徴があり、たとえば、ノード６に着目すると、解析対象粒子の関係を、行方向の粒子番号と、列方向の粒子番号との相互作用計算を示すインデックス“−”で対応付けて示すように（一部は省略して示す）、粒子番号８〜１５のそれぞれは、粒子番号４，５，１２，１３，２０，２１，２８，２９のそれぞれとの間の相互作用を解析する。
【０１０８】
ここで、各粒子は自分自身に作用する、他粒子からの作用力の総和を計算する。このために、粒子番号１２，１３に関しては、１２番の粒子は１３番の相互作用力を、１３番の粒子は１２番の相互作用力を必要とする。ただし、１２と１３，１３と１２の相互作用力の大きさは同じであるから、計算は１回で行なってもよい。
【０１０９】
なお、組合せ的には“１２−１２”や“１３−１３”を採り得るが、これは自己相互作用を意味し、本実施形態では、その解析は不要である。
【０１１０】
次に、特定プロセッサ間で通信し、磁気相互作用、静電相互作用、あるいは機械的相互作用（接触力）などの各相互作用について、力マトリックスにおける行方向の相互作用同士を足し合わせる、つまり、分散して計算した全ての相互作用力の全総和値ＳＵＭ_Totalを求める（Ｓ１１２）。全総和値ＳＵＭ_Totalは、静電気力、磁気力、機械的接触力、あるいは付着力などの複数の相互作用を一括して表わしたものとなる。
【０１１１】
たとえば、図１０に示すように、ノード６に着目すると、ノード４，５，７での相互作用値をノード６に送り、ノード６にて総和計算を行なう。これにより、ノード６の担当粒子１２，１３の相互作用力の総和値が求まる。
【０１１２】
次に、複数の相互作用を一括して表している全総和値ＳＵＭ_Totalを使用して、各粒子の運動方程式を解き、位置座標を計算する（Ｓ１１４）。そして、このようにして求めた各粒子の位置座標を、相互作用マトリクスに関係する特定プロセッサに送り（通信し）、計算情報を更新する（Ｓ１１６）。
【０１１３】
たとえば、図１１に示すように、ノード６に着目すると、相互作用力の総和値から計算して更新されたノード６が担当する担当粒子１２，１３の位置座標を、相互作用マトリクスに関係する行方向のノード４，５，７および列方向のノード２，１０，１４に送る。これは、ノード６が担当する粒子１２，１３の情報を必要とするのは、行方向のノード４，５，７および列方向のノード２，１０，１４のみだからである。よって、ノード６は、この６つのノードとの間でのみ通信を行なうことで、通信量を少なくする。
【０１１４】
この後、所定の計算ステップに到達するまで、ステップＳ１１０に戻り、同様の処理を繰り返す（Ｓ１１８）。ここで“所定の計算ステップ”とは、解析対象の全粒子が、概ね安定した位置に納まった状態（全て流れてしまった状態）となるまでとすればよい。
【０１１５】
このように、プロセッサ数ＭがＮ＾２の関係を満たす場合において、演算プロセッサとしてのＣＰＵや記憶媒体（メモリ）としてのＲＡＭなどを備えたプロセッサ（各粒子挙動解析装置２０２や各粒子挙動解析システム２００）をネットワーク２０８で接続して相互通信可能にして並列型計算装置（クラスタ計算機）やグリッド型計算機を構成し、図６〜図１１に示したように、力マトリクスに従って力分割並列化アルゴリズムを用いて、磁気相互作用、静電相互作用、あるいは機械的相互作用（接触力）など、複数の相互作用を同時に考慮して挙動解析を行なう。
【０１１６】
画像形成装置１の現像装置１００に収容される現像剤１０２（詳しくはキャリア粒子１０２ａやトナー粒子１０２ｂ）における磁気力、静電気力、機械的接触など電子写真現像プロセスの粒子挙動シミュレーションのように、複数種類の多体粒子間相互作用がある粒子について挙動解析を、図１２に示す力マトリックス（粒子間相互作用規則）を用いて処理を行なう。１種類の粒子の挙動に限らず、キャリア粒子１０２ａとトナー粒子１０２ｂから構成される２成分現像剤の相互作用を解析してもよい。
【０１１７】
たとえば、感光体１３０にトナー粒子１０２ｂを電着した後のキャリア粒子１０２ａからの電磁気的影響や摺擦の影響、また、キャリア粒子１０２ａの中から現像に寄与するトナー粒子１０２ｂがどの程度の量、感光体１３０に飛翔しているのなどの解析、さらに、トナー粒子１０２ｂとキャリア粒子１０２ａに働く接触力の影響などを解析してもよい。
【０１１８】
また、電子写真における現像剤粒子シミュレーションに適用するために必要となる、静電気力、磁気力、機械的接触力、あるいは付着力などを同時に考慮した高速並列処理アルゴリズムを実現するようにしてもよい。
【０１１９】
それぞれの特定プロセッサは、相互作用マトリクスに関係する自身を中心とする行方向および列方向の他の特定プロセッサとの間でのみ通信を行なえばよい。使用する特定プロセッサの数を増やすほど通信量を少なくすることで、解析処理時間を確実に低減するのである。
【０１２０】
＜力分割並列処理；制限緩和手法＞
図１３は、本実施形態で採用する、力分割法におけるプロセッサ数Ｍの制限を緩和する手法、すなわち図５のステップＳ１０６の詳細を説明するフローチャートである。
【０１２１】
先にも述べたが、力分割法の基本原理としては、プロセッサ数ＭがＮ＾２の関係を満たす必要があり、処理対象要素である粒子がＮ行Ｎ列の正方の力マトリクスに配されることが前提となっている。つまり、力分割法を適用できるのは、プロセッサ数ＭがＮ＾２個のの関係を満たすときのみという制限がある。
【０１２２】
たとえば、３＾２（＝９）となるように９プロセッサを利用して、縦３×横３の組み合わせにて力マトリックスを構成することになる。また、４＾２（＝１６）となるように１６プロセッサを利用して、縦４×横４の組み合わせにて力マトリックスを構成することになる。また、５＾２（＝２５）となるように２５プロセッサを利用して、縦５×横５の組み合わせにて力マトリックスを構成することになる。
【０１２３】
ところが、このような制限がある力分割法の仕組みでは、当然の如く、Ｎ＾２以外のプロセッサ数Ｍでは、力分割法を利用した並列処理を行なうことができない。したがって、プロセッサ数ＭがＮ＾２〜（Ｎ＋１）＾２−１の範囲内にあるときには、プロセッサ数Ｍに関わらず、縦Ｎ・横Ｎの力マトリクスを使用することになる。事実上、Ｎ＾２番目までしか使われず、Ｎ＾２＋１〜（Ｎ＋１）＾２−１番目のプロセッサは、使用しないことになる。
【０１２４】
その結果として、たとえば、並列計算機システムの一部（たとえば１台）の粒子挙動解析装置２０２がダウンした際には、それまでのＮ＾２に対して、１クラス下（Ｎ−１）＾２でのプロセッサ数Ｍで粒子挙動解析システム２００を構成して対処せざるを得ず、計算性能低下が大きくなってしまう。また、実際には動作可能な残り（Ｎ＾２−１−（Ｎ−１）＾２台分）の粒子挙動解析装置２０２を非稼働状態にせざるを得ず、無駄が生じてしまう。
【０１２５】
たとえば、Ｎ＝５として２５台の粒子挙動解析装置２０２で粒子挙動解析システム２００を構成していたときに、１台の粒子挙動解析装置２０２がダウンしたときには、Ｎ＝４として１６台の粒子挙動解析装置２０２で粒子挙動解析システム２００を構成し直して動作させる必要がある。１６プロセッサで計算を実施しなければならず、それだけ並列処理能力が低下するし、５＾２−４＾２−１＝８台分の粒子挙動解析装置２０２を非稼働状態にせざるを得ず無駄が生じてしまう。
【０１２６】
同様に、Ｎ＝４として１６台の粒子挙動解析装置２０２で粒子挙動解析システム２００を構成していたときに、１台の粒子挙動解析装置２０２がダウンしたときには、Ｎ＝３として９台の粒子挙動解析装置２０２で粒子挙動解析システム２００を構成し直して動作させる必要がある。９プロセッサで計算を実施しなければならず、それだけ並列処理能力が低下するし、４＾２−３＾２−１＝６台分の粒子挙動解析装置２０２を非稼働状態にせざるを得ず無駄が生じてしまう。
【０１２７】
そこで、本実施形態では、このようなプロセッサ数Ｍの制限条件（Ｍ＝Ｎ＾２）を緩和する手法を提案する。その仕組みは、図１３に示すように、先ず、分割処理部２５０は、その時点で使用可能なプロセッサ数Ｍを特定する（Ｓ２１０）。そして、プロセッサ数Ｍに対して、Ｎ＾２＜Ｍ＜（Ｎ＋１）＾２となるように、拡張した力マトリックスを作成する（Ｓ２１１）。この場合の拡張した力マトリックスは、縦（Ｎ＋１）・横（Ｎ＋１）の力マトリクスである。
【０１２８】
具体的には、使用可能なプロセッサ数Ｍが、Ｎ・（Ｎ＋１）＋１≦Ｍ≦（Ｎ＋１）＾２−１の関係を満たすか否かを判定する（Ｓ２１２）。
【０１２９】
プロセッサ数ＭがＮ・（Ｎ＋１）＋１≦Ｍ≦（Ｎ＋１）＾２−１の関係を満たさないときには（Ｓ２１２−ＮＯ）、つまりＮ＾２＋１≦Ｍ≦Ｎ・（Ｎ＋１）であるときには、分割処理部２５０は、本実施形態の拡張手法は適用できないものとして、従来のように、Ｎ＋１に対して１クラス下のＮで力分割法を適用するべく、縦Ｎ・横Ｎの力マトリクスを使用することにする（Ｓ２１４）。
【０１３０】
ここで、Ｎ・（Ｎ＋１）＋１≦Ｍ≦（Ｎ＋１）＾２−１を排除しているのは（Ｓ２１２−ＮＯ，Ｓ２１４）、力分割並列化法のアルゴリズム上、力マトリックスは正方行列である必要があるからである。すなわち、力マトリクスにおいて、Ｎ＋１番目の行に、実体のあるプロセッサが１つも配されず、実質的に正方行列を取り得ない場合は、本実施形態の拡張処理が、事実上適用できないからである。
【０１３１】
一方、プロセッサ数ＭがＮ・（Ｎ＋１）＋１≦Ｍ≦（Ｎ＋１）＾２−１の関係を満たすときには（Ｓ２１２−ＹＥＳ）、分割処理部２５０は、縦（Ｎ＋１）・横（Ｎ＋１）の力マトリクスを使用することにする（Ｓ２１６）。この際、その拡張した力マトリクスにおいて、実際には存在しないプロセッサはダミーとする（Ｓ２１８）。
【０１３２】
たとえば、プロセッサ数Ｍが、２・３＋１（＝７）〜３＾２−１（＝８）の範囲にあるときには、縦３・横３の力マトリクスを使用することにする。縦２×横３というマトリックス構成となる、Ｎ＾２＋１〜Ｎ・（Ｎ＋１）に該当する５および６プロセッサでは、本実施形態の拡張処理は適用できない。
【０１３３】
また、プロセッサ数Ｍが、３・４＋１（＝１３）〜４＾２−１（＝１５）の範囲にあるときには、縦４・横４の力マトリクスを使用することにする。縦３×横４というマトリックス構成となる、Ｎ＾２＋１〜Ｎ・（Ｎ＋１）に該当する１０〜１２プロセッサでは、本実施形態の拡張処理は適用できない。
【０１３４】
また、プロセッサ数Ｍが、４・５＋１（＝２１）〜５＾２−１（＝２４）の範囲にあるときには、縦５・横５の力マトリクスを使用することにする。縦４×横５というマトリックス構成となる、Ｎ＾２＋１〜Ｎ・（Ｎ＋１）に該当する１７〜２０プロセッサでは、本実施形態の拡張処理は適用できない。
【０１３５】
また、分割処理部２５０は、このような拡張処理を適用する場合において、拡張した縦（Ｎ＋１）・横（Ｎ＋１）の力マトリックスにおける（Ｎ＋１）＾２−Ｍ個のダミープロセッサ部分について、実体のあるプロセッサを代替プロセッサとして割り当てる。つまり、実際には存在しない（Ｎ＋１）＾２−Ｍ個のダミープロセッサが担当するはずの計算部分に関しては、Ｎ＋１番目の行に存在する、実体のあるプロセッサが代替プロセッサとして担当するように粒子の情報を振り分ける（Ｓ２２０）。Ｎ＋１番目の行に存在する、実体のあるプロセッサを、追加マトリックスのプロセッサとも称する。このとき、Ｎ＋１番目の行に実体のあるプロセッサが複数存在するときには、その全てのプロセッサに均等に振り分けるのが好ましい。
【０１３６】
具体的には、実体のないプロセッサ担当計算部分について、実体のあるプロセッサに対してデータ（粒子の情報）をコピー（複製）し、その実体のあるプロセッサが代理で計算処理を実行するようにする。以後の並列計算は、通常の力分割並列化法に従って行なえばよい。
【０１３７】
このようにして、本実施形態では、拡張された縦（Ｎ＋１）・横（Ｎ＋１）の力マトリックスを用いて、従来の力分割法で利用できる制限（Ｎ＾２）以外のプロセッサ数Ｎ・（Ｎ＋１）＋１〜（Ｎ＋１）＾２−１においても力分割並列処理を実施する。以下、具体的な事例を用いて説明する。
【０１３８】
＜力分割並列処理；制限緩和例１＞
図１４は、力分割法を適用する場合において、プロセッサ数Ｍの制限（Ｍ＝Ｎ＾２）を緩和する手法の第１例（制限緩和例１）を説明する図である。この制限緩和例１は、Ｎ・（Ｎ＋１）＋１〜（Ｎ＋１）＾２−１におけるＮ＝２の場合、すなわちプロセッサ数Ｍが、４（Ｎ＝２のとき）プロセッサと９（Ｎ＝３のとき）プロセッサでの範囲内で、かつ本実施形態の拡張処理を適用し得る範囲内にあり、２・３＋１（＝７）の場合である。
【０１３９】
この場合、前述の説明から分かるように、先ず、分割処理部２５０は、図１４に示すように、縦３・横３の拡張された力マトリックスを用いるように設定する。そして、分割処理部２５０は、プロセッサ数Ｍは“７”であるので、縦３・横３の拡張された力マトリックスにおいて、３番目の行のノード６に７番目のプロセッサを実体のあるものとして配し、粒子番号１２，１３を割り当てる。また、分割処理部２５０は、残りのノード７，８に関しては、粒子番号を割り当てず（図では“none”で示す）、実体のないダミープロセッサとする。
【０１４０】
また、分割処理部２５０は、実際には存在しないノード７，８のダミープロセッサが担当するはずの計算部分に関しては、３番目の行に存在する、実体のあるノード６のプロセッサ（追加マトリックスの＃６プロセッサ）が担当するように振り分ける。
【０１４１】
たとえば、本来のノード７（実体のないプロセッサの一例）が担当する計算部分Ａ（＃７ノードの相互作用マトリクス内）と、本来のノード８（実体のないプロセッサの一例）が担当する計算部分Ｂ（＃８ノードの相互作用マトリクス内）とについて、実体のあるノード６のプロセッサは、計算に必要なデータ（粒子の情報）を一旦メモリにコピー（複製）する。その後、通常の力分割並列化法に従って、ノード６（実体のあるプロセッサの一例）が代理で相互作用の物理量の計算を実行する。図中において、＃６の相互作用マトリクスのノード７，８部分の点線は、コピーデータのメモリ上の位置（＝データ配列上の位置）を示す。
【０１４２】
たとえば、図１４に示すように、ノード２に着目すると、相互作用力の総和値から計算して更新されたノード２が担当する担当粒子４，５の位置座標を、ノード２が担当する粒子４，５の情報を必要とするプロセッサ（つまり通信の際に関連するプロセッサ）である、相互作用マトリクスに関係する行方向のノード０，１並びに列方向のノード５およびノード８を代行するノード６（計算部分Ｂを担当）に送ればよい。
【０１４３】
また、図示を割愛するが、ノード５に着目すると、相互作用力の総和値から計算して更新されたノード５が担当する担当粒子１０，１１の位置座標を、相互作用マトリクスに関係する行方向のノード３，４および列方向のノード２およびノード８を代行するノード６（計算部分Ｂを担当）に送ればよい。
【０１４４】
さらに、図示を割愛するが、ノード１に着目すると、相互作用力の総和値から計算して更新されたノード１が担当する担当粒子２，３の位置座標を、相互作用マトリクスに関係する行方向のノード０，２および列方向のノード４およびノード７を代行するノード６（計算部分Ａを担当）に送ればよい。また、ノード４に着目すると、相互作用力の総和値から計算して更新されたノード４が担当する担当粒子８，９の位置座標を、相互作用マトリクスに関係する行方向のノード３，５および列方向のノード１およびノード７を代行するノード６（計算部分Ａを担当）に送ればよい。
【０１４５】
これを受けて、ノード７の計算部分Ａを代行するノード６は、粒子番号１２，１３のそれぞれと、粒子番号２，３，８，９のそれぞれとの間の相互作用を解析する。また、ノード８の計算部分Ｂを代行するノード６は、粒子番号１２，１３のそれぞれと、粒子番号４，５，１０，１１のそれぞれとの間の相互作用を解析する。
【０１４６】
＜力分割並列処理；制限緩和例２＞
図１５は、力分割法を適用する場合において、プロセッサ数Ｍの制限（Ｍ＝Ｎ＾２）を緩和する手法の第２例（制限緩和例２）を説明する図である。この制限緩和例２は、Ｎ・（Ｎ＋１）＋１〜（Ｎ＋１）＾２−１におけるＮ＝２の場合、すなわちプロセッサ数Ｍが、４（Ｎ＝２のとき）プロセッサと９（Ｎ＝３のとき）プロセッサでの範囲内で、かつ本実施形態の拡張処理を適用し得る範囲内にあり、２・３＋２＝３＾２−１（＝８）の場合である。
【０１４７】
この場合、前述の説明から分かるように、先ず、分割処理部２５０は、図１５に示すように、縦３・横３の拡張された力マトリックスを用いるように設定する。そして、分割処理部２５０は、プロセッサ数Ｍは“８”であるので、縦３・横３の拡張された力マトリックスにおいて、３番目の行のノード６に７番目のプロセッサを実体のあるものとして配し、粒子番号１２，１３を割り当て、さらにノード７に８番目のプロセッサを実体のあるものとして配し、粒子番号１４，１５を割り当てる。また、分割処理部２５０は、残りのノード８に関しては、粒子番号を割り当てず（図では“none”で示す）、実体のないダミープロセッサとする。
【０１４８】
また、分割処理部２５０は、実際には存在しないダミーであるノード８のプロセッサが担当するはずの計算部分に関しては、３番目の行に存在する、実体のあるノード６，７のプロセッサ（追加マトリックスの＃６，７プロセッサ）が均等に担当するようにデータ（粒子の情報）を振り分ける。
【０１４９】
たとえば、本来のノード８が担当する２箇所の計算部分Ａ，Ｂ（＃８ノードの相互作用マトリクス内）について、実体のあるノード６，７のプロセッサは、計算に必要な値を一旦メモリにコピー（複製）する。その後、通常の力分割並列化法に従って、相互作用の物理量の計算を行なう。
【０１５０】
たとえば、図１５に示すように、ノード２に着目すると、相互作用力の総和値から計算して更新されたノード２が担当する担当粒子４，５の位置座標を、相互作用マトリクスに関係する行方向のノード０，１並びに列方向のノード５およびノード８を代行するノード６（計算部分Ａを担当）およびノード７（計算部分Ｂを担当）に送ればよい。図中において、＃６，＃７の相互作用マトリクスのノード８部分の点線は、コピーデータのメモリ上の位置（＝データ配列上の位置）を示す。
【０１５１】
また、図示を割愛するが、ノード５に着目すると、相互作用力の総和値から計算して更新されたノード５が担当する担当粒子１０，１１の位置座標を、相互作用マトリクスに関係する行方向のノード３，４および列方向のノード２およびノード８を代行するノード６（計算部分Ａを担当）およびノード７（計算部分Ｂを担当）に送ればよい。
【０１５２】
これを受けて、ノード８の計算部分Ａを代行するノード６は、粒子番号１２，１３のそれぞれと、粒子番号４，５，１０，１１のそれぞれとの間の相互作用を解析する。また、ノード８の計算部分Ｂを代行するノード７は、粒子番号１４，１５のそれぞれと、粒子番号４，５，１０，１１のそれぞれとの間の相互作用を解析する。
【０１５３】
なお、原理的には、実体のあるノード６，７の何れか一方のプロセッサがノード８の２箇所の計算部分Ａ，Ｂの全ての処理を代行する代替プロセッサとして機能するようにデータをコピー（複製）することも可能であるが、その場合、その代替プロセッサと他のプロセッサとの間で計算負荷のアンバランス（不均衡）が大きくなるので、好ましくない。
【０１５４】
＜力分割並列処理；制限緩和例３＞
図１６は、力分割法を適用する場合において、プロセッサ数Ｍの制限（Ｍ＝Ｎ＾２）を緩和する手法の第３例（制限緩和例３）を説明する図である。この制限緩和例３は、Ｎ・（Ｎ＋１）＋１〜（Ｎ＋１）＾２−１におけるＮ＝３の場合、すなわちプロセッサ数Ｍが、９（Ｎ＝３のとき）プロセッサと１６（Ｎ＝４のとき）プロセッサでの範囲内で、かつ本実施形態の拡張処理を適用し得る範囲内にある場合である。
【０１５５】
この場合、前述の説明から分かるように、１３〜１５プロセッサまで対応できる。図では、プロセッサ数Ｍが４＾２−２（＝１４）の場合で示している。
【０１５６】
この場合、前述の説明から分かるように、先ず、分割処理部２５０は、図１６に示すように、縦４・横４の拡張された力マトリックスを用いるように設定する。そして、分割処理部２５０は、プロセッサ数Ｍは“１４”であるので、縦４・横４の拡張された力マトリックスにおいて、４番目の行のノード１２に１３番目のプロセッサを実体のあるものとして配し、粒子番号２４，２５を割り当て、さらにノード１３に１４番目のプロセッサを実体のあるものとして配し、粒子番号２６，２７を割り当てる。また、分割処理部２５０は、残りのノード１４，１５に関しては、粒子番号を割り当てず（図では“none”で示す）、実体のないダミープロセッサとする。
【０１５７】
また、分割処理部２５０は、実際には存在しないダミーであるノード１４，１５のプロセッサが担当するはずの計算部分に関しては、４番目の行に存在する、実体のあるノード１２，１３のプロセッサ（追加マトリックスの＃１２，１３プロセッサ）が均等に担当するように振り分ける。
【０１５８】
たとえば、本来のノード１４が担当する２箇所の計算部分Ａ，Ｂ（＃１４ノードの相互作用マトリクス内）について、実体のあるノード１２，１３のプロセッサは、計算に必要な値を一旦メモリにコピー（複製）する。また、本来のノード１５が担当する２箇所の計算部分Ｃ，Ｄ（＃１５ノードの相互作用マトリクス内）について、実体のあるノード１２，１３のプロセッサは、計算に必要な値を一旦メモリにコピー（複製）する。その後、通常の力分割並列化法に従って、相互作用の物理量の計算を行なう。
【０１５９】
たとえば、図１６に示すように、ノード６に着目すると、相互作用力の総和値から計算して更新されたノード６が担当する担当粒子１２，１３の位置座標を、相互作用マトリクスに関係する行方向のノード４，５，７並びに列方向のノード２，１０およびノード１４を代行するノード１２（計算部分Ａを担当）およびノード１３（計算部分Ｂを担当）に送ればよい。詳細説明は割愛するが、代行処理に関連するその他のノード２，１０（計算部分Ａ，Ｂと関連）やノード３，７，１１（計算部分Ｃ，Ｄと関連）についても同様である。図中において、＃１２，＃１３の相互作用マトリクスのノード１４，１５部分の点線は、コピーデータのメモリ上の位置（＝データ配列上の位置）を示す。
【０１６０】
これを受けて、ノード１４の計算部分Ａを代行するノード１２は、粒子番号２４，２５のそれぞれと、粒子番号４，５，１２，１３，２０，２１のそれぞれとの間の相互作用を解析する。また、ノード１４の計算部分Ｂを代行するノード１３は、粒子番号２６，２７のそれぞれと、粒子番号４，５，１２，１３，２０，２１のそれぞれとの間の相互作用を解析する。さらに、ノード１５の計算部分Ｃを代行するノード１２は、粒子番号２４，２５のそれぞれと、粒子番号６，７，１４，１５，２２，２３のそれぞれとの間の相互作用を解析する。また、ノード１５の計算部分Ｄを代行するノード１３は、粒子番号２６，２７のそれぞれと、粒子番号６，７，１４，１５，２２，２３のそれぞれとの間の相互作用を解析する。
【０１６１】
なお、制限緩和例３においても、原理的には、実体のあるノード１２，１３の何れか一方のプロセッサが、ノード１４，１５の４箇所の計算部分Ａ，Ｂ，Ｃ，Ｄの全ての処理を代行するように、計算に必要な値を一旦メモリにコピー（複製）することも可能であるが、その場合、他のプロセッサとの間で計算負荷のアンバランス（不均衡）が大きくなるので、好ましくない。
【０１６２】
なお、ここでは、プロセッサ数Ｍが４＾２−２（＝１４）の場合で示したが、Ｎ・（Ｎ＋１）＋１〜（Ｎ＋１）＾２−１においてＮ＝３とした場合の、残りの１３，１５に関しても、本実施形態の拡張処理を適用できる。
【０１６３】
＜力分割並列処理；制限緩和例４＞
図１７は、力分割法を適用する場合において、プロセッサ数Ｍの制限（Ｍ＝Ｎ＾２）を緩和する手法の第４例（制限緩和例４）を説明する図である。この制限緩和例４は、Ｎ・（Ｎ＋１）＋１〜（Ｎ＋１）＾２−１におけるＮ＝４の場合、すなわちプロセッサ数Ｍが、１６（Ｎ＝４のとき）プロセッサと２５（Ｎ＝５のとき）プロセッサでの範囲内で、かつ本実施形態の拡張処理を適用し得る範囲内にある場合である。
【０１６４】
この場合、前述の説明から分かるように、２１〜２４プロセッサまで対応できる。図では、プロセッサ数Ｍが５＾２−３（＝２２）の場合で示している。
【０１６５】
この場合、前述の説明から分かるように、先ず、分割処理部２５０は、図１７に示すように、縦５・横５の拡張された力マトリックスを用いるように設定する。そして、分割処理部２５０は、プロセッサ数Ｍは“２２”であるので、縦５・横５の拡張された力マトリックスにおいて、５番目の行のノード２０に２１番目のプロセッサを実体のあるものとして配し、粒子番号４０，４１を割り当て、さらにノード２１に２２番目のプロセッサを実体のあるものとして配し、粒子番号４２，４３を割り当てる。また、分割処理部２５０は、残りのノード２２，２３，２４に関しては、粒子番号を割り当てず（図では“none”で示す）、実体のないダミープロセッサとする。
【０１６６】
また、分割処理部２５０は、実際には存在しないダミーであるノード２２，２３，２４のプロセッサが担当するはずの計算部分に関しては、５番目の行に存在する、実体のあるノード２０，２１のプロセッサ（追加マトリックスの＃２０，２１プロセッサ）が均等に担当するように振り分ける。
【０１６７】
たとえば、本来のノード２２が担当する２箇所の計算部分Ａ，Ｂ（＃２２ノードの相互作用マトリクス内）について、実体のあるノード２０，２１のプロセッサは、計算に必要な値を一旦メモリにコピー（複製）する。また、本来のノード２３が担当する２箇所の計算部分Ｃ，Ｄ（＃２３ノードの相互作用マトリクス内）について、実体のあるノード２０，２１のプロセッサは、計算に必要な値を一旦メモリにコピー（複製）する。さらに、本来のノード２４が担当する２箇所の計算部分Ｅ，Ｆ（＃２４ノードの相互作用マトリクス内）についても、実体のあるノード２０，２１のプロセッサは、計算に必要な値を一旦メモリにコピー（複製）する。その後、通常の力分割並列化法に従って、相互作用の物理量の計算を行なう。
【０１６８】
たとえば、図１７に示すように、ノード７に着目すると、相互作用力の総和値から計算して更新されたノード７が担当する担当粒子１４，１５の位置座標を、相互作用マトリクスに関係する行方向のノード５，６，８，９並びに列方向のノード２，１２，１７およびノード２２を代行するノード２０（計算部分Ａを担当）およびノード２１（計算部分Ｂを担当）に送ればよい。詳細説明は割愛するが、代行処理に関連するその他のノード２，１２，１７（計算部分Ａ，Ｂと関連）やノード３，８，１３，１８（計算部分Ｃ，Ｄと関連）やノード４，９，１４，１９（計算部分Ｅ，Ｆと関連）についても同様である。図中において、＃２０，＃２１の相互作用マトリクスのノード２２，２３，２４部分の点線は、コピーデータのメモリ上の位置（＝データ配列上の位置）を示す。
【０１６９】
これを受けて、ノード２２の計算部分Ａを代行するノード２０は、粒子番号４０，４１のそれぞれと、粒子番号４，５，１４，１５，２４，２５，３４，３５のそれぞれとの間の相互作用を解析する。また、ノード２２の計算部分Ｂを代行するノード２１は、粒子番号４２，４３のそれぞれと、粒子番号４，５，１４，１５，２４，２５，３４，３５のそれぞれとの間の相互作用を解析する。
【０１７０】
さらに、ノード２３の計算部分Ｃを代行するノード２０は、粒子番号４０，４１のそれぞれと、粒子番号６，７，１６，１７，２６，２７，３６，３７のそれぞれとの間の相互作用を解析する。また、ノード２３の計算部分Ｄを代行するノード２１は、粒子番号４２，４３のそれぞれと、粒子番号６，７，１６，１７，２６，２７，３６，３７のそれぞれとの間の相互作用を解析する。
【０１７１】
さらに、ノード２４の計算部分Ｅを代行するノード２０は、粒子番号４０，４１のそれぞれと、粒子番号８，９，１８，１９，２８，２９，３８，３９のそれぞれとの間の相互作用を解析する。また、ノード２４の計算部分Ｆを代行するノード２１は、粒子番号４２，４３のそれぞれと、粒子番号８，９，１８，１９，２８，２９，３８，３９のそれぞれとの間の相互作用を解析する。
【０１７２】
なお、制限緩和例４においても、原理的には、実体のあるノード２０，２１の何れか一方のプロセッサが、ノード２２，２３，２４の６箇所の計算部分Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆの全ての処理を代行するように、計算に必要な値を一旦メモリにコピー（複製）することも可能であるが、その場合、他のプロセッサとの間で計算負荷のアンバランス（不均衡）が大きくなるので、好ましくない。
【０１７３】
なお、ここでは、プロセッサ数Ｍが５＾２−３（＝２２）の場合で示したが、Ｎ・（Ｎ＋１）＋１〜（Ｎ＋１）＾２−１においてＮ＝４とした場合の、残りの２１，２３，２４に関しても、本実施形態の拡張処理を適用できる。
【０１７４】
なお、プロセッサ数Ｍの制限（Ｍ＝Ｎ＾２）を緩和する手法の具体例として、Ｎ＝２〜４の場合について説明したが、Ｎ＝５以上に関しても、同様に、本実施形態の拡張処理を適用できる。
【０１７５】
＜並列化処理の計算速度向上比＞
図１８〜図２０は、通常の力分割並列化法による速度向上比と、本実施形態の制限緩和手法（拡張力分割並列化法とも称する）による速度向上比とを比較した図である。
【０１７６】
図１８は、本実施形態の拡張力分割並列化法において、２＾２（＝４）＜Ｍ＜３＾２（＝９）の場合、つまり４プロセッサを超える拡張における比較例である。この場合、通常の力分割並列化法では、縦２・横２の力マトリクスを適用することになり、最大でも、速度向上比は４．０倍程度に留まっていた。
【０１７７】
これに対して、本実施形態の拡張力分割並列化法では、プロセッサ数Ｍ＝５，６の場合は、通常の力分割並列化法と同様に縦２・横２の力マトリクスを適用せざるを得ないが、プロセッサ数Ｍ＝７，８の場合には、縦３・横３の力マトリクスを適用することができ、速度向上比は６倍弱〜７倍弱程度にまで向上していることが分かる。
【０１７８】
図１９は、本実施形態の拡張力分割並列化法において、３＾３（＝９）＜Ｍ＜４＾２（＝１６）の場合、つまり９プロセッサを超える拡張における比較例である。この場合、通常の力分割並列化法では、縦３・横３の力マトリクスを適用することになり、最大でも、速度向上比は８．０倍程度に留まっていた。
【０１７９】
これに対して、本実施形態の拡張力分割並列化法では、プロセッサ数Ｍ＝１０〜１２の場合は、通常の力分割並列化法と同様に縦３・横３の力マトリクスを適用せざるを得ないが、プロセッサ数Ｍ＝１３〜１５の場合には、縦４・横４の力マトリクスを適用することができ、速度向上比は１０倍〜１１倍程度にまで向上していることが分かる。
【０１８０】
図２０は、本実施形態の拡張力分割並列化法において、４＾４（＝１６）＜Ｍ＜５＾２（＝２５）の場合、つまり１６プロセッサを超える拡張における比較例である。この場合、通常の力分割並列化法では、縦４・横４の力マトリクスを適用することになり、最大でも、速度向上比は１４．０倍程度に留まっていた。
これに対して、本実施形態の拡張力分割並列化法では、プロセッサ数Ｍ＝１７〜２０の場合は、通常の力分割並列化法と同様に縦４・横４の力マトリクスを適用せざるを得ないが、プロセッサ数Ｍ＝２１〜２４の場合には、縦５・横５の力マトリクスを適用することができ、速度向上比は１５倍〜１６倍程度にまで向上していることが分かる。
【０１８１】
何れにしても、計算速度の速度向上比は、（Ｎ＋１）＾２個の計算装置で並列処理したときの方が、Ｎ＾２個の計算装置で並列処理したときより高くなっていることは明白である。
【図面の簡単な説明】
【０１８２】
【図１】現像装置の一構成例を示す図である。
【図２】粒子挙動解析システムの一実施形態を示すブロック図である。
【図３】粒子挙動解析装置の一構成例を示すブロック図である。
【図４】粒子挙動解析装置を、電子計算機を用いて構成する場合のハードウェア構成の一例を示した図である。
【図５】力分割並列処理手順の一例を示したフローチャートである。
【図６】解析対象粒子を各ノードに割り当てる手法を説明する図である。
【図７】磁気相互作用について、各ノードでの相互作用力の計算対象を説明する図である。
【図８】静電相互作用について、各ノードでの相互作用力の計算対象を説明する図である。
【図９】機械的相互作用（接触力）について、各ノードでの相互作用力の計算対象を説明する図である。
【図１０】各ノードで求められた相互作用力の加算処理（特に力マトリクスの行方向について）を説明する図である。
【図１１】行方向および列方向に計算した相互作用力を通信し合う必要のある他の特定プロセッサを説明する図である。
【図１２】力分割法における力マトリクスを利用した際の通信対象のプロセッサを、ノード＃６に着目して纏めた図である。
【図１３】本実施形態で採用する、力分割法におけるプロセッサ数Ｍの制限を緩和する手法（図５のステップＳ１０６の詳細）を説明するフローチャートである。
【図１４】力分割法の制限緩和例１を説明する図である。
【図１５】力分割法の制限緩和例２を説明する図である。
【図１６】力分割法の制限緩和例３を説明する図である。
【図１７】力分割法の制限緩和例４を説明する図である。
【図１８】通常の力分割並列化法と、本実施形態の拡張力分割並列化法とによる速度向上比を比較した図（４プロセッサを超える場合）である。
【図１９】通常の力分割並列化法と、本実施形態の拡張力分割並列化法とによる速度向上比を比較した図（９プロセッサを超える場合）である。
【図２０】通常の力分割並列化法と、本実施形態の拡張力分割並列化法とによる速度向上比を比較した図（１６プロセッサを超える場合）である。
【符号の説明】
【０１８３】
１００…現像装置、１０１…収納容器、１０１ａ…開口部、１０２…現像剤、１０２ａ…キャリア粒子、１０２ｂ…トナー粒子、１３０…感光体、１４０…現像ロール、１４２…マグネット、１５０…規制ブレード、１６０…攪拌搬送ロール、２００…粒子挙動解析システム、２０２…粒子挙動解析装置、２０８…ネットワーク、２０８ａ…ネットワーク管理装置、２１０…指示入力装置、２１２…表示装置、２２０…データ入力部、２３０…データ処理部、２３２…データ受付部、２３４…数値演算処理部、２３６…出力データ処理部、２４０…情報提示部、２５０…分割処理部
【図１】
2008158821.tif 000003
【図２】
2008158821.tif 000004
【図３】
2008158821.tif 000005
【図４】
2008158821.tif 000006
【図５】
2008158821.tif 000007
【図６】
2008158821.tif 000008
【図７】
2008158821.tif 000009
【図８】
2008158821.tif 000010
【図９】
2008158821.tif 000011
【図１０】
2008158821.tif 000012
【図１１】
2008158821.tif 000013
【図１２】
2008158821.tif 000014
【図１３】
2008158821.tif 000015
【図１４】
2008158821.tif 000016
【図１５】
2008158821.tif 000017
【図１６】
2008158821.tif 000018
【図１７】
2008158821.tif 000019
【図１８】
2008158821.tif 000020
【図１９】
2008158821.tif 000021
【図２０】
2008158821.tif 000022