(57)【要約】【課題】力分割法を適用した粒子挙動解析において、計算効率の低下を防止する。【解決手段】力マトリックスに割り当てられた粒子に関して、カットオフ距離を設定した処理を行なうように対処する。カットオフ領域内の粒子を確実に含む最小の力マトリクスに短縮したとき、設定するカットオフ領域内の粒子に関しての相互作用計算用のデータ量がキャッシュメモリ容量に収まるようにカットオフ距離を調整する。設定したカットオフ領域内の粒子に着目して、代用粒子ＩＤを利用して、元の力マトリクスを、カットオフ領域内の粒子を確実に含むような力マトリクスに短縮する。カットオフ領域内の解析対象の実際の粒子ＩＤと、短縮した力マトリクスにおける代用粒子ＩＤとの対応関係を管理する。カットオフ領域内の解析対象の実際の粒子と短縮した力マトリクスにおける粒子との対応関係を参照して、短縮された力マトリクスで示される計算対象の相互作用力を求める。【選択図】図１４
2008269443.tif 000002
【特許請求の範囲】
【請求項１】
粒子を力マトリクスを使用した力分割法により分割し、それぞれの分割部分を各計算装置に割り当てる分割処理部と、
外部記憶装置よりも高速なアクセスが可能な、前記データ処理部での処理過程で使用されるデータを記憶する一時記憶部と、
前記力分割法により割り当てられた前記分割部分についてカットオフ距離を設定した処理を行なうように対処するとともに、設定するカットオフ領域内の粒子に関しての相互作用計算用のデータ量が、前記一時記憶部の記憶容量に収まるようにカットオフ距離を調整するカットオフ領域設定部と、
前記カットオフ領域設定部が設定するカットオフ領域内の粒子に関して、前記分割部分についての元の力マトリクスを、前記カットオフ領域内の粒子を含むような力マトリクスに短縮する力マトリクス短縮部と、
前記カットオフ領域内の解析対象の実際の粒子と前記力マトリクス短縮部が短縮した力マトリクスにおける粒子とを対応付ける相関管理部と、
他の前記計算装置との間でデータ通信を行ないつつ、前記相関管理部により対応付けられている前記カットオフ領域内の解析対象の実際の粒子と前記力マトリクス短縮部が短縮した力マトリクスにおける粒子との対応関係を参照して、前記力マトリクス短縮部により短縮された力マトリクスで示される計算対象の相互作用力を求める相互作用演算部と
を備えたことを特徴とする粒子挙動解析装置。
【請求項２】
前記力マトリクス短縮部は、前記カットオフ領域設定部が設定するカットオフ領域内の粒子を確実に含む最小の矩形の力マトリクスに短縮する
ことを特徴とする請求項１に記載の粒子挙動解析装置。
【請求項３】
電子計算機に備えられる中央演算制御部を、
粒子を力マトリクスを使用した力分割法により分割し、それぞれの分割部分を各計算装置に割り当てる分割処理部と、
前記力分割法により割り当てられた前記分割部分についてカットオフ距離を設定した処理を行なうように対処するとともに、設定するカットオフ領域内の粒子に関しての相互作用計算用のデータ量が、外部記憶装置よりも高速なアクセスが可能な、前記データ処理部での処理過程で使用されるデータを記憶する一時記憶部の記憶容量に収まるようにカットオフ距離を調整するカットオフ領域設定部と、
前記カットオフ領域設定部が設定するカットオフ領域内の粒子に関して、前記分割部分についての元の力マトリクスを、前記カットオフ領域内の粒子を含むような力マトリクスに短縮する力マトリクス短縮部と、
前記カットオフ領域内の解析対象の実際の粒子と前記力マトリクス短縮部が短縮した力マトリクスにおける粒子とを対応付ける相関管理部と、
他の前記計算装置との間でデータ通信を行ないつつ、前記相関管理部により対応付けられている前記カットオフ領域内の解析対象の実際の粒子と前記力マトリクス短縮部が短縮した力マトリクスにおける粒子との対応関係を参照して、前記力マトリクス短縮部により短縮された力マトリクスで示される計算対象の相互作用力を求める相互作用演算部と
して機能させることを特徴とする粒子挙動解析用のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、粒子挙動解析装置並びにプログラムに関する。より詳細には、たとえば、プリンタ装置、ファクシミリ装置、あるいはそれらの機能を有する複合機などの画像形成装置において使用される色材（粉体、現像剤）などにおける、複数の粒子が混合された状態での粒子の挙動をシミュレーションにより解析する仕組みに関する。
【背景技術】
【０００２】
たとえば、プリンタ装置、ファクシミリ装置、あるいはそれらの機能を有する複合機などの画像形成装置において、電子写真方式を利用する場合、一般的には、感光ドラムなどの光導電性絶縁体上に一様な静電荷を与え、様々な手段によりこの光導電性絶縁体上に光像を照射することによって静電潜像を形成し、次いで、形成した潜像を現像器を用いて磁性粉体を用いて現像可視化し、紙などの記録媒体にトナー粉像を転写した後に定着させ、印刷物を得る。
【０００３】
このような電子写真法による画像形成装置においては、容器に収容されている磁性粉体の攪拌や磁性ローラへの搬送、磁性ローラへの吸着、記録画像に応じて帯電され潜像が形成されている感光体への飛翔などの振る舞いが記録画像の画質に影響を与える。そこで、この磁性粉体の挙動の解析が電子写真装置本体や現像装置の開発にとって重要となる。
【０００４】
粉体や粒体などの粒子の挙動シミュレーションについては、個別要素法あるいは離散粒子法と呼ばれる方法が普及されている。しかしながら、個別要素法に基づいた粒子挙動計算アルゴリズムでは、概ね粒子数の２乗で解析負荷が増大するので、粒子数が多くなると、計算量が膨大になり、いくら計算機の性能が向上したとはいっても、実際の系と同等の粒子数での計算を実行することは困難な場合が多い。
【０００５】
そこで、従来の粒子挙動シミュレーション方法として、計算時間の短縮を目的として、プログラムがインストールされた電子計算機を複数台使用し、各プログラムの並列化動作による分散処理が提案されている（たとえば特許文献１を参照）。
【０００６】
【特許文献１】特開２００５−３０９６０５号公報
【０００７】
特許文献１に記載の仕組みでは、効率的な多体問題演算システムを構築するべく、対となる２個の粒子の種類により特定される相互作用パラメータデータを記憶する相互作用パラメータデータ記憶装置と、相互作用パラメータデータ記憶装置から読み出した相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する粒子間相互作用演算装置とでシステムを構成している。
【０００８】
そして、粒子間相互作用演算装置に関しては、さらに、相互作用パラメータデータ記憶装置に記憶された相互作用パラメータデータの一部を読み出す相互作用パラメータデータ読出手段と、相互作用パラメータデータ読出手段により読み出された相互作用パラメータデータを記憶する相互作用パラメータデータ記憶手段と、相互作用パラメータデータ記憶手段に記憶された相互作用パラメータデータを用いて注目する粒子について他の複数の粒子との間の相互作用を演算する相互作用演算手段で構成するようにしている。
【０００９】
粒子間相互作用演算装置では、その外部にある相互作用パラメータデータ記憶装置から相互作用パラメータデータの一部を読み出して内部の相互作用パラメータデータ記憶手段に記憶し、記憶した相互作用パラメータデータを用いて演算を行なう。これにより、外部の相互作用パラメータデータ記憶装置にその都度アクセスする場合や、相互作用パラメータデータの全てを内部に保持するような場合と比べて、粒子間相互作用の計算において効率化を図るようにしている。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、複数の電子計算機を並列に稼働させて粒子挙動解析を行なう場合において、計算効率の低下を防止することのできる仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１１】
請求項１に記載の発明である粒子挙動解析装置は、粒子を力マトリクスを使用した力分割法により分割し、それぞれの分割部分を各計算装置に割り当てる分割処理部と、外部記憶装置よりも高速なアクセスが可能な、データ処理部での処理過程で使用されるデータを記憶する一時記憶部と、力分割法により割り当てられた分割部分についてカットオフ距離を設定した処理を行なうように対処するとともに、設定するカットオフ領域内の粒子に関しての相互作用計算用のデータ量が、一時記憶部の記憶容量に収まるようにカットオフ距離を調整するカットオフ領域設定部とを備えた。
【００１２】
さらに、カットオフ領域設定部が設定するカットオフ領域内の粒子に関して、分割部分についての元の力マトリクスを、カットオフ領域内の粒子を含むような力マトリクスに短縮する力マトリクス短縮部と、カットオフ領域内の解析対象の実際の粒子と力マトリクス短縮部が短縮した力マトリクスにおける粒子とを対応付ける相関管理部と、他の計算装置との間でデータ通信を行ないつつ、相関管理部により対応付けられているカットオフ領域内の解析対象の実際の粒子と力マトリクス短縮部が短縮した力マトリクスにおける粒子との対応関係を参照して、力マトリクス短縮部により短縮された力マトリクスで示される計算対象の相互作用力を求める相互作用演算部とを備えた。
【００１３】
請求項２に記載の発明は、請求項１に記載の発明においてさらに、力マトリクス短縮部は、カットオフ領域設定部が設定するカットオフ領域内の粒子を確実に含む最小の矩形の力マトリクスに短縮することを特徴とする。
【００１４】
請求項３に記載の発明である粒子挙動解析用のプログラムは、電子計算機に備えられる中央演算制御部を、次の各機能部として機能させることを特徴とする。先ず、粒子を力マトリクスを使用した力分割法により分割し、それぞれの分割部分を各計算装置に割り当てる分割処理部と、力分割法により割り当てられた記分割部分についてカットオフ距離を設定した処理を行なうように対処するとともに、設定するカットオフ領域内の粒子に関しての相互作用計算用のデータ量が、外部記憶装置よりも高速なアクセスが可能な、データ処理部での処理過程で使用されるデータを記憶する一時記憶部の記憶容量に収まるようにカットオフ距離を調整するカットオフ領域設定部として機能させる。
【００１５】
また、カットオフ領域設定部が設定するカットオフ領域内の粒子に関して、分割部分についての元の力マトリクスを、カットオフ領域内の粒子を含むような力マトリクスに短縮する力マトリクス短縮部と、カットオフ領域内の解析対象の実際の粒子と力マトリクス短縮部が短縮した力マトリクスにおける粒子とを対応付ける相関管理部と、他の計算装置との間でデータ通信を行ないつつ、相関管理部により対応付けられているカットオフ領域内の解析対象の実際の粒子と力マトリクス短縮部が短縮した力マトリクスにおける粒子との対応関係を参照して、力マトリクス短縮部により短縮された力マトリクスで示される計算対象の相互作用力を求める相互作用演算部として機能させる。
【発明の効果】
【００１６】
請求項１に記載の発明によれば、一時記憶部の使用量が抑制され、高速アクセス可能な一時記憶部を効率的に利用した計算処理が実現できる。外部の記憶装置よりも内部の一時記憶部を効率的に使用した計算処理が実現されるので、計算速度の高速化を図ることができる。
【００１７】
請求項２に記載の発明によれば、矩形の力マトリクス内の全てを処理対象とした効率的な処理ができる。
【００１８】
請求項３に記載の発明によれば、一時記憶部の使用量が抑制され、高速アクセス可能な一時記憶部を利用して効率的に計算処理を行なう仕組みを、コンピュータを用いて実現できる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して本発明の実施形態について詳細に説明する。
【００２０】
＜現像装置の概要＞
図１は、印刷装置（プリンタ）や複写装置（コピー機）などの画像形成装置に使用される現像装置１００の一構成例を示す図である。
【００２１】
図１（Ａ）に示すように、現像装置１００は、感光体１３０に対向して配置されており、現像剤１０２を収納容器１０１の内部に充填している。収納容器１０１は、現像剤１０２を感光体１３０側に飛翔させるための開口部１０１ａが形成されている。
【００２２】
現像剤１０２は、図１（Ｂ）に示すように、それぞれ物性や粒径の異なるキャリア粒子１０２ａとトナー粒子１０２ｂ（たとえば黒色トナー粒子）とを含有して構成された２成分方式のものである。キャリア粒子１０２ａとトナー粒子１０２ｂとの対によって、全体として磁性粉体が形成されるようにしている。すなわち、キャリア粒子１０２ａは磁性体から構成され、マグネットに吸着するようになっている。一方、トナー粒子１０２ｂは非磁性トナーであって、所定の色を持つ粉体である。一般的には、キャリア粒子１０２ａの粒径の方がトナー粒子１０２ｂの粒径よりも大きい。なお、トナー粒子１０２ｂとしては、磁性トナーを使用することも可能である。
【００２３】
収納容器１０１内には、表面に現像剤１０２を担持する担持ロールの一例である現像ロール（マグロール、マグネットローラ、磁気搬送ローラとも言われる）１４０を、周面が開口部１０１ａから少し突き出すように備えている。現像ロール１４０内には、その内周縁に沿って、所定間隔で所定数のマグネット１４２が配置されている。
【００２４】
また、現像装置１００は、現像ロール１４０の近傍に、高さ規制部材や層形成部材として機能する規制ブレード（トリマーバー）１５０を備えており、マグネット１４２による磁力線に沿ってできた現像剤１０２の穂立ちの高さを規制するようになっている。
【００２５】
また、収納容器１０１内には、現像剤１０２を攪拌するとともに現像ロール１４０側に搬送する１対の攪拌搬送ロール１６０（それぞれを１６０ａ，１６０ｂとする）を備えている。一方の攪拌搬送ロール１６０ａは、収納容器１０１内の奥の方に配置され、他方の攪拌搬送ロール１６０ｂは現像ロール１４０と対向して配置されている。攪拌搬送ロール１６０は、その回転動作によって、現像剤１０２を現像ロール１４０側に攪拌しながら搬送する。
【００２６】
現像ロール１４０は、矢印Ｘ方向に回転される感光体１３０とともに、感光体１３０と対向する側のその表面の回転移動方向が、感光体１３０の移動方向Ｘと同じき（矢印Ｙ方向）に回転される。なお、感光体１３０の移動方向Ｘと逆向きに回転駆動するようにしてもよい。
【００２７】
現像ロール１４０内にはマグネット１４２を内蔵している。現像ロール１４０は、現像剤１０２を攪拌搬送ロール１６０ｂから磁気力により吸着する。現像ロール１４０に吸着された現像剤１０２は、規制ブレード１５０により現像剤１０２の吸着量が規制される。すなわち、キャリア粒子１０２ａおよびトナー粒子１０２ｂは、攪拌機能を持つ攪拌搬送ロール１６０により攪拌され摩擦帯電されつつ現像ロール１４０側に搬送され、規制ブレード１５０によって一定の高さで、現像ロール１４０の周縁に付着する。
【００２８】
トナー粒子１０２ｂは、キャリア粒子１０２ａに静電力により互いに吸着されている。キャリア粒子１０２ａは、現像ロール１４０に内蔵されたマグネット１４２からの磁場により磁気ブラシを構成する。トナー粒子１０２ｂはキャリア粒子１０２ａとともに、感光体１３０に対向する部分まで搬送される。
【００２９】
現像ロール１４０は、感光体１３０に対向して設けられており、現像ロール１４０に吸着された現像剤１０２のうちトナー粒子１０２ｂは、帯電されており、感光体１３０に吸着される。このとき、感光体１３０の表面は、記録画像に応じて帯電されることで静電潜像が形成されており、トナー粒子１０２ｂは、感光体１３０に形成された静電潜像に応じて吸着される。
【００３０】
つまり、現像ロール１４０は、キャリア粒子１０２ａを介して現像ロール１４０に担持されたトナー粒子１０２ｂを感光体１３０側に飛翔させ、感光体１３０の表面に形成された潜像を現像化するようになっている。現像処理後のキャリア粒子１０２ａと、感光体１３０側に飛翔されなかったトナー粒子１０２ｂは、収納容器１０１内に回収される。
【００３１】
ここで、図１（Ｂ）に示すように、感光体１３０の表面は、記録画像に応じて帯電されており、トナー粒子１０２ｂは、静電力により感光体１３０の表面に飛翔する。感光体１３０の表面には、飛翔したトナー粒子１０２ｂが付着し、記録画像に応じたトナー像が形成される。このとき、トナー粒子１０２ｂの感光体１３０への吸着のされ方によって、記録画像の画質が左右される。
【００３２】
トナー粒子１０２ｂは、キャリア粒子１０２ａにより感光体１３０に搬送されているので、トナー粒子１０２ｂの感光体１３０への吸着のされ方は、現像ロール１４０と感光体１３０との間の現像ギャップでのキャリア粒子１０２ａおよびトナー粒子１０２ｂの挙動により決定される。このため、キャリア粒子１０２ａおよびトナー粒子１０２ｂの挙動の解析が電子写真装置本体や現像装置１００の開発にとって重要な要素となる。
【００３３】
＜粒子挙動解析システム；基本＞
図２は、本発明に係る粒子挙動解析装置の一構成例である粒子挙動解析システムの基本構成を示すブロック図である。基本構成の粒子挙動解析システム２００は、それぞれ粒子挙動解析機能を有する複数台の粒子挙動解析装置２０２がネットワーク接続されて構成されている。
【００３４】
各粒子挙動解析装置２０２は、主要の処理データを相互にネットワーク２０８を介して伝達し合い、粒子挙動解析処理を並列的に実行可能になっており、粒子挙動解析システム２００としては、事実上の並列型計算装置（クラスタ計算機）として構成されている。ネットワーク２０８は、通信状態がルーティング機能を持つネットワーク管理装置２０８ａで管理されるようになっている。
【００３５】
各粒子挙動解析装置２０２は、一般の電子計算機と同様のもので構成されている。また、図示した例では、粒子挙動解析システム２００を構成する各粒子挙動解析装置２０２のうちの１台が全体を統括する計算管理ノードとしての機能を持つ主粒子挙動解析装置２０２ａとして機能するようになっており、この主粒子挙動解析装置２０２ａに対して残りの粒子挙動解析装置２０２が、主粒子挙動解析装置２０２ａにより制御される副粒子挙動解析装置２０２ｂとしてネットワーク接続されている。
【００３６】
なお、図では便宜的に、ネットワーク管理装置２０８ａから１本のネットワーク線を出し、そのネットワーク線上に主粒子挙動解析装置２０２ａと副粒子挙動解析装置２０２ｂとを接続する態様で示しているが、実際には、ネットワーク管理装置２０８ａに備えられる個別のポートに各粒子挙動解析装置２０２が接続され、各粒子挙動解析装置２０２間の通信は、このネットワーク管理装置２０８ａを介してなされるようになっている。
【００３７】
主粒子挙動解析装置２０２ａには、粒子挙動解析処理用の各種の操作を行なうためのキーボードやマウスなどの指示入力装置２１０と、処理結果をユーザに画像情報として提示する表示装置２１２とが接続されている。
【００３８】
このような基本構成のシステム構成を採ることで、複数種類の多体粒子間相互作用がある系について粒子挙動解析処理を行なうに当たり、各粒子の磁気相互作用、静電相互作用、あるいは機械的相互作用（接触力；壁などと粒子間の接触力や粒子間接触）などの各相互作用について、並列処理にて解析を実行する。なお、機械的相互作用は、たとえば、壁やその他の物体と粒子間の接触力や粒子間接触による接触力である。
【００３９】
たとえば、キャリア粒子１０２ａについてはMaxwell方程式を基礎とした磁場解析法などを利用した磁気的な運動解析を行ない、またトナー粒子１０２ｂについては粒子要素法などを利用した純力学的な運動解析やクーロン力に着目した静電界解析を行ない、最終的には、各解析結果を組み合わせて、現像剤１０２の流動挙動を高精度で予測する。
【００４０】
特に本実施形態では、各粒子挙動解析装置２０２において各相互作用の解析を行なう際、領域分割法（ＳＤ；Spatial Decomposition Method）や粒子分割法（ＰＤ；Particle Decomposition Method あるいはＲＤ；Replicated Data Method）ではなく力分割法（力マトリックスを用いたアルゴリズム）を用いて解析することで、全プロセッサ（本実施形態の各粒子挙動解析装置２０２）間の通信量を低減させるようにしている。通信量を低減させることで、多プロセッサ使用時のプログラムの並列化性能を向上させ、計算時間を大幅に短縮するのである。
【００４１】
なお、図２に示した粒子挙動解析システム２００の基本構成では、事実上の並列型計算装置（クラスタ計算機）の構成で示したが、これに限らず、図示を割愛するが、それぞれ粒子挙動解析機能を有する複数台の粒子挙動解析装置を第１ネットワークにてネットワーク接続されて並列型計算装置として構成されている複数の粒子挙動解析システムを、さらに、別の第２ネットワークで接続して構成されたものとしてもよい。
【００４２】
この場合、各粒子挙動解析システムは、主要の処理データを相互に外部ネットワーク（第２ネットワーク）を介して伝達し合い、それぞれ対象の異なる粒子挙動解析処理を並列的に実行可能になり、このような変形例の粒子挙動解析システムとしては、事実上の並列型計算装置をネットワーク接続してなるグリッド型計算装置として構成される。
【００４３】
たとえば、各粒子挙動解析システムにおいては、磁気相互作用、静電相互作用、あるいは機械的相互作用（接触力）などの各相互作用の何れかに特化した解析処理を行ない、それぞれ個別の相互作用についての解析処理を並列して実行する。つまり、複数種類の相互作用を、それぞれ独立して同時に、別の粒子挙動解析システムを用いて解析する。
【００４４】
あるいは、現像剤１０２を構成するキャリア粒子１０２ａやトナー粒子１０２ｂの別に、磁気相互作用、静電相互作用、あるいは機械的相互作用（接触力）などの各相互作用の解析処理を並列して実行する。たとえば、磁気力の影響度が大きいキャリア粒子１０２ａについては特に磁気力に特化した粒子挙動解析処理を行ないつつ、磁気力および静電気力の双方の影響度が大きいトナー粒子１０２ｂについては特に磁気力および静電気力に特化した粒子挙動解析処理を行なうなど、粒子種ごとに、別の粒子挙動解析システムを用いて粒子挙動解析処理を行なってもよい。
【００４５】
各粒子挙動解析システムは、基本構成で説明したように、各相互作用の解析を行なう際、粒子分割法ではなく力分割法を用いて解析する。処理速度の改善効果を高めるべく、並列計算装置として構成されている粒子挙動解析システム同士での通信においても、通信量の少ない力分割並列化法を採用する。つまり、このような変形構成のシステム構成を採ることで、各粒子挙動解析システムは、それぞれ独立した粒子挙動解析処理を行なうことで、基本構成のシステム構成よりもさらに処理時間の短縮を図る。
【００４６】
また、粒子間相互作用の計算負荷の程度に応じて、使用する粒子挙動解析システム（事実上の並列計算装置）を、その処理能力を基に選択してもよい。たとえば、異種環境（性能など）のシステムが混在する状況において、効率的に計算機リソースを用いて粒子挙動解析処理を行なう。
【００４７】
＜粒子挙動解析装置；機能ブロック＞
図３は、各粒子挙動解析装置２０２の一構成例を示すブロック図である。ここでは、特に計算管理ノードの機能を具備した主粒子挙動解析装置２０２ａについて示している。図示のように、主粒子挙動解析装置２０２ａは、指示入力装置２１０などを利用して処理対象データを取り込むデータ入力部２２０と、粒子挙動解析処理を行なうデータ処理部２３０と、処理結果を表示装置２１２などを利用してユーザに提示する情報提示部２４０とを備えている。データ入力部２２０と情報提示部２４０とは、主粒子挙動解析装置２０２ａの計算管理ノードに相当する部分に設けられている。
【００４８】
データ入力部２２０は、指示入力装置２１０を構成するキーボードやマウスを介してユーザより入力されるコマンドやデータを受け付け、データ処理部２３０に渡す。
【００４９】
副粒子挙動解析装置２０２ｂは、その主要部をなすデータ処理部２３０とデータ記憶部２３８とを有する。データ処理部２３０は、データ入力部２２０から入力されたデータに基づいて後述する粒子挙動解析処理を行なう。このデータ処理部２３０は、より詳細には、データ受付部２３２、数値演算処理部２３４、および出力データ処理部２３６を有している。
【００５０】
データ受付部２３２は、図示を割愛したデータ記憶部を具備しており、データ入力部２２０から入力されたデータをデータ記憶部に記憶し、数値計算時に必要なデータを数値演算処理部２３４に供給する。データ受付部２３２のデータ記憶部には、たとえば、解析の対象としている現像装置１００の構成および現像剤１０２の物性値に関するデータなどが記憶される。
【００５１】
数値演算処理部２３４は、注目粒子の粒子データを１つまたは複数個記憶するレジスタを有しており、データバスに乗せて転送される粒子データを読み込み、その粒子と内部保持する注目粒子との間に働く相互作用を演算し、その累積値を結果用のレジスタに保持する機能を有している。たとえば、データ受付部２３２から供給されたデータに基づいて、粒子の一例である現像剤１０２（詳細にはキャリア粒子１０２ａやトナー粒子１０２ｂ）について、磁気相互作用、静電相互作用、あるいは機械的相互作用（接触力）など、複数の相互作用を同時に考慮した粒子挙動を、力分割法を適用してシミュレーション処理にて解析する。数値演算処理部２３４はその解析結果を出力データ処理部２３６に供給する。
【００５２】
出力データ処理部２３６は、数値演算処理部２３４での計算結果を受け取り、数値演算処理部２３４での計算結果を表示データに変換し、表示装置２１２に供給する。表示装置２１２は、出力データ処理部２３６から供給された表示データに基づいた処理結果画像を表示する。実際には確認困難な現像剤１０２の挙動を視覚的に把握することができるように、現像剤１０２の挙動予測を可視化して表示装置２１２上に表示するのである。
【００５３】
データ記憶部２３８は、相互作用を計算するためのパラメータ表のデータを記憶する装置であり、メモリバスを介して数値演算処理部２３４に接続される。ここで、詳細は後述するが、データ記憶部２３８は、いわゆるＣＰＵと同一の半導体基板上に内蔵される内蔵メモリ（キャッシュメモリ：Cache Memoryとも称される）と同様の一時記憶部２３８ａと、いわゆるメインメモリとも称される外部の半導体製の記憶媒体（たとえば数１００ＭＢ〜数ＧＢ程度の容量のもの）、およびメインメモリより大容量（数１００ＧＢ以上）のハードディスク装置（ＨＤＤ）などの外部記憶装置２３８ｂとで構成される。周知のように、ＣＰＵのアクセスは、メインメモリよりもキャッシュメモリの方が高速である。
【００５４】
また、主粒子挙動解析装置２０２ａの計算管理ノードに相当する部分に、処理対象要素を力分割法により分割するに当たり、それぞれ計算装置で構成され力分割法による粒子挙動解析を行なう各計算システム（プロセッサとも称する；図１では粒子挙動解析装置２０２）に各分割部分を割り当てる分割処理部２５０を備えている。分割処理部２５０は、プロセッサ数Ｍに対して、Ｎ＾２＜Ｍ＜（Ｎ＋１）＾２となるように、縦Ｎ・横Ｎの力マトリックスを使用するように設定する。
【００５５】
＜粒子挙動解析装置；計算機構成＞
図４は、各粒子挙動解析装置２０２の他の構成例を示すブロック図である。ここでは、パーソナルコンピュータなどの電子計算機を利用して、粒子挙動解析をソフトウェアを実行するマイクロプロセッサなどから構築されるより現実的なハードウェア構成を示している。
【００５６】
すなわち、本実施形態において、２種類以上の相互作用力を考慮して、力マトリクスを使用した力分割並列化アルゴリズムを用いて、粒子の挙動を解析する仕組みは、ハードウェア処理回路により構成することに限らず、その機能を実現するプログラムコードに基づき電子計算機（コンピュータ）を用いてソフトウェア的に実現することも可能である。
【００５７】
よって、本発明に係る仕組みを、電子計算機（コンピュータ）を用いてソフトウェアで実現するために好適なプログラムあるいはこのプログラムを格納したコンピュータ読取可能な記憶媒体を発明として抽出することもできる。
【００５８】
電子計算機に、力分割並列化アルゴリズムを用いて２種類以上の相互作用力を考慮した粒子挙動解析処理機能をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ（組込マイコンなど）、あるいは、ＣＰＵ（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を使用して、各粒子の運動方程式を解き、位置座標を計算する（Ｓ１１４）。そして、このようにして求めた各粒子の位置座標を、相互作用マトリクスに関係する特定プロセッサに送り（通信し）、計算情報を更新する（Ｓ１１６）。
【０１０８】
たとえば、図８に示すように、ノード＃６に着目すると、相互作用力の総和値から計算して更新されたノード＃６が担当する担当粒子１２，１３の位置座標を、相互作用マトリクスに関係する行方向のノード４，５，７および列方向のノード２，１０，１４に送る。これは、ノード＃６が担当する粒子１２，１３の情報を必要とするのは、行方向のノード４，５，７および列方向のノード２，１０，１４のみだからである。よって、ノード＃６は、この６つのノードとの間でのみ通信を行なうことで、通信量を少なくする。
【０１０９】
この後、所定の計算ステップに到達するまで、ステップＳ１１０に戻り、同様の処理を繰り返す（Ｓ１１８）。ここで“所定の計算ステップ”とは、解析対象の全粒子が、概ね安定した位置に納まった状態（全て流れてしまった状態）となるまでとすればよい。
【０１１０】
このように、プロセッサ数ＭがＮ＾２の関係を満たす場合において、演算プロセッサとしてのＣＰＵや記憶媒体（メモリ）としてのＲＡＭなどを備えたプロセッサ（各粒子挙動解析装置２０２や各粒子挙動解析システム２００）をネットワーク２０８で接続して相互通信可能にして並列型計算装置（クラスタ計算機）やグリッド型計算機を構成し、図６〜図８に示したように、力マトリクスに従って力分割並列化アルゴリズムを用いて、磁気相互作用、静電相互作用、あるいは機械的相互作用（接触力）など、複数の相互作用を同時に考慮して挙動解析を行なう。
【０１１１】
画像形成装置１の現像装置１００に収容される現像剤１０２（詳しくはキャリア粒子１０２ａやトナー粒子１０２ｂ）における磁気力、静電気力、機械的接触など電子写真現像プロセスの粒子挙動シミュレーションのように、複数種類の多体粒子間相互作用がある粒子について挙動解析を、図９に示す力マトリックス（粒子間相互作用規則）を用いて処理を行なう。１種類の粒子の挙動に限らず、キャリア粒子１０２ａとトナー粒子１０２ｂから構成される２成分現像剤の相互作用を解析してもよい。
【０１１２】
たとえば、感光体１３０にトナー粒子１０２ｂを電着した後のキャリア粒子１０２ａからの電磁気的影響や摺擦の影響、また、キャリア粒子１０２ａの中から現像に寄与するトナー粒子１０２ｂがどの程度の量、感光体１３０に飛翔しているのなどの解析、さらに、トナー粒子１０２ｂとキャリア粒子１０２ａに働く接触力の影響などを解析してもよい。
【０１１３】
また、電子写真における現像剤粒子シミュレーションに適用するために必要となる、静電気力、磁気力、機械的接触力、あるいは付着力などを同時に考慮した高速並列処理アルゴリズムを実現するようにしてもよい。
【０１１４】
それぞれの特定プロセッサは、相互作用マトリクスに関係する自身を中心とする行方向および列方向の他の特定プロセッサとの間でのみ通信を行なえばよい。使用する特定プロセッサの数を増やすほど通信量を少なくすることで、解析処理時間を確実に低減するのである。
【０１１５】
なお、ステップＳ１１０以降での具体的な処理例では、力マトリクスの短縮処理を行なわない場合で説明したが、力マトリクスの短縮処理を行なう場合には、実際の粒子ＩＤではなく、短縮した力マトリクスで使用される代用粒子ＩＤについて、それと対応するカットオフ領域内の解析対象の実際の粒子ＩＤとの対応関係を参照して処理を行なう。
【０１１６】
＜数値演算処理部とデータ記憶部の構成例＞
図１０は、電子計算機の仕組みを適用した場合の数値演算処理部２３４とデータ記憶部２３８の構成例の詳細を示す図である。
【０１１７】
数値演算処理部２３４は、粒子間の相互作用を計算する相互作用演算部３１０と、その演算結果を累算する累算部３１２とを有し、電子計算機に設けられるＣＰＵ（中央演算制御部）の数値演算機能部で構成される。
【０１１８】
また、本実施形態の数値演算処理部２３４は、分割処理部２５０によって力分割法により割り当てられた分割部分についてカットオフ距離を設定した処理を行なうように対処するとともに、設定するカットオフ領域内の粒子に関しての相互作用計算用のデータ量が、一時記憶部の一例であるキャッシュメモリの記憶容量に収まるようにカットオフ距離を調整するカットオフ領域設定部３２０とを有する。
【０１１９】
さらに、数値演算処理部２３４は、カットオフ領域設定部３２０が設定するカットオフ領域内の粒子に関して、分割部分についての元の力マトリクスを、カットオフ領域内の粒子を含むような力マトリクスに短縮する力マトリクス短縮部３２２と、カットオフ領域内の解析対象の実際の粒子と力マトリクス短縮部３２２が短縮した力マトリクスにおける粒子とを対応付ける相関管理部３２４とを有する。
【０１２０】
相互作用演算部３１０は、他の計算装置との間でデータ通信を行ないつつ、相関管理部３２４により対応付けられているカットオフ領域内の解析対象の実際の粒子と力マトリクス短縮部３２２が短縮した力マトリクスにおける粒子との対応関係を参照して、力マトリクス短縮部３２２により短縮された力マトリクスで示される計算対象の相互作用力を求める。
【０１２１】
データ記憶部２３８は、相互作用パラメータデータを記憶する相互作用パラメータデータ外部記憶装置３３０と、相互作用パラメータデータを一時的に記憶する相互作用パラメータデータ一時記憶部３３２と、注目粒子のデータを保持する注目粒子データ記憶部３３４とを有する。
【０１２２】
相互作用パラメータデータ外部記憶装置３３０は、図３の外部記憶装置２３８ｂに相当し、たとえば半導体メモリが回路基板上に配置され記憶容量が数１００ＭＢ〜数ＧＢ程度のメインメモリで構成される。相互作用パラメータデータ一時記憶部３３２や注目粒子データ記憶部３３４は、図３の一時記憶部２３８ａに相当し、数値演算処理部２３４をなすＣＰＵと同一の半導体デバイス内に実装されるキャッシュメモリで構成される。
【０１２３】
一般的には、キャッシュメモリの容量が増えるほど処理速度は向上するが、高速なキャッシュメモリを実現するにはコストが嵩むので、複数の異なった仕組みのキャッシュメモリを用意することがある。この場合、ＣＰＵのレジスタから近い順に１次キャッシュ、２次キャッシュ、３次キャッシュと呼ぶ。図示した例では２次キャッシュまでを示す。
【０１２４】
数値演算処理部２３４は、注目粒子のデータを保持する注目粒子データ記憶部３３４を内蔵しており、データ入力部２２０が送る粒子データをデータ受付部２３２を介して読み取り、読み取った粒子データに対応する粒子と注目粒子データ記憶部３３４が保持する注目粒子データに対応する粒子との間に働く相互作用を、相互作用演算部３１０により計算し、その計算結果を累算部３１２により累算する。
【０１２５】
ここで、複数種類の相互作用のある粒子計算における力分割並列化法は、粒子間の相互作用を示す力マトリックスが定める特定プロセッサ間で並列計算を実施する。しかしながら、力マトリックスに割り当てられた粒子に関しては、計算の過程においてメモリへのデータの格納と読出しをしながら相互作用判定などを行なう。このとき、必要な全ての相互作用パラメータデータを記憶することができる容量は対応する粒子種の数の２乗に比例するため、相互作用パラメータデータの記憶手段の全てを数値演算処理部２３４を含むデータ処理部２３０をなすＣＰＵと同一の半導体に内蔵することは、粒子情報をストアするメモリコストが大きくなり（高コストとなり）現実的ではない。このため、必要容量を小さくする工夫が必要となる。
【０１２６】
一方、一時記憶部としての内蔵メモリ（キャッシュメモリ）の容量を小さくし過ぎると、キャッシュメモリに必要な計算データが入り切らず、ＣＰＵにおいて粒子データの再読込み（キャッシュ・ヒット・ミスと称する）が発生し、高速アクセス可能なメモリであるキャッシュメモリの利用効率が悪くなり計算パフォーマンスが低下する。メモリコスト、計算コスト、キャッシュメモリの利用の点から計算効率（計算パフォーマンス）が悪い。
【０１２７】
そこで、本実施形態では、ＣＰＵのアクセスは、メインメモリよりもキャッシュメモリの方が高速であるという点と、キャッシュ・ヒット・ミスの防止の双方の観点に着目した仕組みを採る。
【０１２８】
すなわち、メインメモリはコスト安のため、キャッシュメモリよりも大容量にできるが、アクセスは遅い。一方、キャッシュメモリはコスト高のため小容量とせざるを得ないがアクセスは速い。ここで、計算に用いるデータサイズを、キャッシュメモリに記憶可能なサイズに調整すれば、相互作用パラメータデータ外部記憶装置３３０とその外部バスであるパラメータメモリバスを駆動することなく、相互作用の計算を処理することが可能となるので、消費電力が大幅に低減するし、計算効率の低下が防止され、高速・効率的な計算処理ができると考えられる。
【０１２９】
次に、このような本実施形態の仕組みに適用される「計算に用いるデータサイズを、キャッシュメモリに記憶可能なサイズに調整する」具体的な手法について説明する。
【０１３０】
＜力分割並列処理；メモリ配置の適正化手法の基本＞
図１１および図１２は、本実施形態で採用する、力分割法におけるメモリ配置の適正化手法、すなわち図５のステップＳ１０６〜Ｓ１０８の詳細を説明する図である。ここで、図１１は、カットオフ距離を設定した処理の基本を説明する図である。図１２は、複数段階のカットオフ距離を設定することでメモリ配置の適正化を行なう仕組みを説明する図である。
【０１３１】
力分割法では、各プロセッサが担当する力マトリックスに割り当てられた粒子に関して、計算の過程において全粒子について相互作用計算を実施するのが基本ではあるが、カットオフ領域設定部３２０を設けることで、図１１に示すように、カットオフ距離を設定した処理を行なうことができる。この場合、計算の過程において全粒子についてカットオフ距離内にあるか否かの相互作用判定を伴う。
【０１３２】
相互作用の有効距離は、接触では計算対象である粒子の最大粒子径であり、静電相互作用のように、数式上は無限遠方まで作用する場合には、必要に応じてカットオフ距離を設定して、それを有効距離とする方法などを採ることができる。なお、有効距離の設定方法は、計算対象あるいは解析の目的などに応じて適切に定めればよく、公知の様々な手法を採用することができる。
【０１３３】
この場合、各プロセッサが担当する力マトリックスに割り当てられた粒子に関して、計算の過程において相互作用判定などを行ない全粒子について相互作用計算を実施するわけではないので、相互作用判定の計算コストがかかる懸念があるものの、カットオフ距離の設定値次第で、相互作用の計算対象となる粒子数を低減でき、そのデータ記憶装置に記憶すべき相互作用パラメータデータ量を低減できる。
【０１３４】
そこで、本実施形態では、このようなカットオフ距離を設定した処理を行なうことによる利点を積極的に利用して、カットオフ領域設定部３２０は、相互作用パラメータデータ量がキャッシュメモリ量（相互作用パラメータデータ一時記憶部３３２をなすキャッシュメモリの記憶容量）以下となるように、カットオフ距離を変更する。力マトリクス短縮部３２２は、その変更結果に基づき相互作用を計算する粒子へのメモリ配置が最適になるように力マトリックスの動的な構築を行なう。こうすることで、メモリ使用量を抑制し、キャッシュ・ヒット・ミスの防止を図りながら、キャッシュメモリを効率的に利用できる粒子データのメモリ配置を可能とする仕組みを採る。
【０１３５】
「力マトリックスの動的な構築を行なう」と称したのは、各計算時点で、カットオフ距離を設定した処理を行なうように対処するに当たり、カットオフ領域内の粒子に関しての相互作用計算用のデータ量がキャッシュメモリ容量に収まるように、その都度適正にカットオフ距離を調整するステップＳ１０６の処理に基づく。
【０１３６】
たとえば、図１２は、カットオフ距離を動的に変更するに当たり、ｎ段階のプライオリティー付けを行なう例を示す。図では、カットオフ距離を３段階（各距離の領域を優先度エリアと称する）に設定する例を示している。最外部すなわちカットオフ距離が最長の第３優先度エリア内に存在する粒子数よりも、最内部すなわちカットオフ距離が最短の第１優先度エリア内に存在する粒子数の方が少なくなることが期待できる。第１優先度エリア内が図１１のカットオフ領域内に対応する。
【０１３７】
したがって、そのデータ記憶装置に記憶すべき相互作用パラメータデータ量は、第３優先度エリアに比べると、第１優先度エリアの方が少なくなることが期待できる。よって、カットオフ距離がより短い領域に基づいて優先的に処理することで、メモリ使用量を抑制し、キャッシュ・ヒット・ミスの防止を図りながら、キャッシュメモリを効率的に利用できることが期待できる。
【０１３８】
たとえば、第１優先度内の粒子についてはカットオフ領域内に存在し確実に相互作用ありなので計算を行ない、第２優先度内の粒子については相互作用の計算を行なわないが、カットオフ領域に近く次回の計算時点では相互作用計算を行なう可能性が高いと認識しておき、さらにカットオフ距離の大きな第３優先度内の粒子についてはカットオフ領域にやや近く、次回の計算時点では相互作用計算を行なう可能性があると認識しておくことができる。
【０１３９】
これは、プライオリティー付けの結果に基づき相互作用を計算する粒子へのメモリ配置が最適になるように力マトリックスの動的な構築を行なうことで、カットオフ距離内の相互作用計算対象の粒子のみが力マトリックスに配置されるので、カットオフ距離の設定値次第で、計算に用いるデータサイズ（相互作用パラメータデータ量）を、キャッシュメモリに記憶可能なサイズに調整することができ、計算速度の速いキャッシュメモリを有効に利用するようになる。その結果、キャッシュ・ヒット・ミスが起こり難くなり、消費電力が大幅に低減するし、高速・効率的な処理になる。
【０１４０】
＜力分割並列処理；メモリ配置の適正化手法の具体例＞
図１３〜図１５は、カットオフ距離のプライオリティー付けを利用したメモリ配置の適正化手法の具体例を説明する図である。
【０１４１】
ここで、図１３は、図１１に示した通常のカットオフ法に対して、図１１に示したように、ｎ段階（図では３段階）のプライオリティー付けを行なった計算領域を用いた場合における、ある計算時点でのノード＃６での優先度をつけた粒子と力マトリックスとの関係を説明する図である。図１４は、図１３に基づき、図１２において付けた優先度に応じて動的に力マトリックスを変形する手法を説明する図である。図１５は、優先度に応じて動的に力マトリックスを変形する場合において、元の粒子ＩＤと動的に変形（短縮）した力マトリックスでの粒子ＩＤとの相関を説明する図である。
【０１４２】
図１３に示すように、ノード＃６では、粒子番号８〜１５のそれぞれに対して、粒子番号４，５，１２，１３，２０，２１，２８，２９のそれぞれとの間の８×８個の組合せ（実際には自身との組合せとなる１２−１２と１３−１３は除く）の相互作用を解析することになる。そのうち、図１２に示した３段階のプライオリティー付けに従う場合、図示した例では、８〜１５番の各着目粒子に対して第１〜第３優先度エリア内に存在する粒子は以下の通りとなっている。
【０１４３】
先ず、８番の着目粒子に対しては、４，１３番が第１優先度エリア内に存在し、５，２０番が第２優先度エリア内に存在し、１２番が第３優先度エリア内に存在し、その他は第３優先度エリア外に存在する。９番の着目粒子に対しては、５，１３，２１番が第１優先度エリア内に存在し、１２，２０番が第２優先度エリア内に存在し、その他は第３優先度エリア外に存在する。１０番の着目粒子に対しては、５番が第１優先度エリア内に存在し、１２番が第２優先度エリア内に存在し、１３番が第３優先度エリア内に存在し、その他は第３優先度エリア外に存在する。１１番の着目粒子に対しては、５番が第１優先度エリア内に存在し、１３番が第２優先度エリア内に存在し、２０番が第３優先度エリア内に存在し、その他は第３優先度エリア外に存在する。
【０１４４】
１２番の着目粒子に対しては、４，１３，２１番が第１優先度エリア内に存在し、２８番が第２優先度エリア内に存在し、２０番が第３優先度エリア内に存在し、その他は第３優先度エリア外に存在する。１３番の着目粒子に対しては、４，２０，２９番が第１優先度エリア内に存在し、５，１２番が第２優先度エリア内に存在し、その他は第３優先度エリア外に存在する。１４番の着目粒子に対しては、１２，１３番が第１優先度エリア内に存在し、５番が第２優先度エリア内に存在し、２０番が第３優先度エリア内に存在し、その他は第３優先度エリア外に存在する。１５番の着目粒子に対しては、１２，１３番が第１優先度エリア内に存在し、２０番が第２優先度エリア内に存在し、その他は第３優先度エリア外に存在する。
【０１４５】
ここで、データ容量を削減するべく、ノード＃６は、粒子番号（粒子ＩＤ）８〜１５のそれぞれに対しての全ての組合せの相互作用を計算するのではなく、３段階にプライオリティー付けした各優先度エリアの内、第１優先度内の粒子について相互作用の計算を行なうことにする。
【０１４６】
このため、力マトリクス短縮部３２２は、図１３に示すプライオリティー付けに応じて、図１４に示すように、力マトリックスの動的な変形（短縮）を行なう。この力マトリクスの短縮は、８番〜１５番の着目粒子に対して代用（仮想的な）の粒子ＩＤ０ａ〜７ａを割り当てて、８×８の組合せの相互作用を計算することを示す力マトリクスを作成する。そして、８番〜１５番の着目粒子ごとに、優先度の高い順に（本例では第１→第２→第３の順）、たとえば粒子番号０ａ側から順に各優先度エリア内の粒子を対応付けて配置していく。こうすることで、図１４に示した例では、８番〜１５番の着目粒子に関しては、図中に太線で囲んだ枠内の、代用粒子ＩＤ０ａ〜２ａまでに、第１優先度エリア内の全粒子が確実に配置されることになる。
【０１４７】
つまり、太線で囲んだ枠は、ノード＃６での相互作用の計算対象となる粒子ＩＤ８〜１５に関して、矩形の力マトリクスにするに当たり、第１優先度エリア内の全粒子を含む最小範囲で、かつ、その限りにおいて、キャッシュ・ヒット・ミスを防止し得るキャッシュメモリ容量を最小にする範囲でもある。
【０１４８】
ノード＃６は、代用粒子ＩＤ０ａ〜２ａまでの部分（つまり第１優先度エリアの最小範囲）を相互作用の計算に用いる力マトリックスとする。このようにすることで、元の８×８の組合せの力マトリクスが、８×３の組合せの力マトリクスに短縮でき、データ容量が低減される。
【０１４９】
図１５は、図１４に対して、代用粒子ＩＤ０ａ〜７ａと実際の粒子ＩＤ４，５，１２，１３，２０，２１，２８，２９を入れ替えて示したものであり、図１３の力マトリクスを図１４の力マトリクスへ短縮したときの、元の粒子ＩＤと動的に変形した力マトリックスでの代用粒子ＩＤとの相関が示されている。相関管理部３２４は、このような対応関係（相関関係）の情報を、所定の記憶媒体（アクセス速度の関係では一時記憶部２３８ａの方が好ましい）に記憶して管理しておく。
【０１５０】
図６に示したステップＳ１１０以降では、図１４に示す短縮した力マトリクスで使用される代用粒子ＩＤについて、それと対応するカットオフ領域内の解析対象の実際の粒子ＩＤとの対応関係（相関関係）を参照して処理を行なうことになる。たとえば、図１４に示す短縮した力マトリクスにおいて、１２−０ａの相互作用を計算するときには、図１５に示す対応関係に基づき、０ａ番の代用粒子ＩＤが実際には４番の粒子ＩＤであることを特定し、１２−４の相互作用を計算する。
【０１５１】
図１４や図１５から分かるように、ノード＃６では、できるだけ第１優先度エリア内の粒子のみを相互作用の計算対象とすることで、つまり代用粒子ＩＤ０ａ〜２ａまでの部分を相互作用の計算に用いる力マトリックスとすることで、８−４，８−１３，９−５，９−１３，９−２１，１０−５，１１−５，１２−４，１２−１３，１２−２１，１３−４，１３−２０，１３−２９，１４−１２，１４−１３，１５−１２，１５−１３の相互作用のみを計算すればよくなる。
【０１５２】
図１４から明らかなように、相互作用の計算対象となる組合せが少なくなるので、キャッシュメモリに記憶させるデータ量が低減される。つまり、事実上、図１４は、ノード＃６のプロセッサが、実際にアクセスするメモリ配置を模式的に表していることになる。
【０１５３】
第１優先度エリアのサイズ（つまりカットオフ距離）を適正に設定することで、短縮した８×３の力マトリクスでのデータ量がキャッシュメモリ容量と同等（同一もしくは少し少ない）程度にする。このようにして、プライオリティー付けの結果に基づき相互作用を計算する粒子へのメモリ配置が最適になるように力マトリックスの動的な構築を行なうと、計算に用いるデータサイズ（相互作用パラメータデータ量）を、キャッシュメモリに記憶可能なサイズに調整され、高速アクセス可能で計算速度の速いキャッシュメモリが効率的に利用され、キャッシュ・ヒット・ミスが起こり難くなる。カットオフ距離を適正に設定して、力マトリクスを動的に変形して、メモリ使用量を抑制した力マトリックスを用いることで、キャッシュメモリが効率的に利用されることになる。
【０１５４】
なお、図中に太線で囲んだ枠（つまり第１優先度エリアの最小範囲）内の全ての粒子（その結果としての粒子間相互作用：以下同様）を処理対象とするのではなく、忠実に第１優先度エリア内の粒子のみを処理対象とすることもできる。この場合、相互作用の計算対象となる組合せがさらに少なくなるので、キャッシュメモリに記憶させるデータ量が一層低減される。しかしながらこの場合、８×３の組合せの力マトリクスの中で、着目粒子ごとに第１優先度エリア内の粒子のみを処理対象とする判別処理を要してしまい、その処理負荷が問題となる。
【０１５５】
力マトリクス短縮部３２２によって短縮された第１優先度エリア（カットオフ領域）内の粒子を確実に含む最小の矩形の力マトリクス内の全て、すなわち第１優先度エリアの最小範囲内の全ての粒子間相互作用を処理対象とするのが好ましいか、真に第１優先度エリア内の粒子間相互作用のみを処理対象とするのが好ましいかは、一義的ではない。しかしながら、一般的には、力分割法を適用した処理を行なう場合、第１優先度エリア外の粒子を多少含んでいても、矩形の力マトリクス内の全てを処理対象とした方が効率的であると考えられる。
【図面の簡単な説明】
【０１５６】
【図１】現像装置の一構成例を示す図である。
【図２】粒子挙動解析システムの一実施形態を示すブロック図である。
【図３】粒子挙動解析装置の一構成例を示すブロック図である。
【図４】粒子挙動解析装置を、電子計算機を用いて構成する場合のハードウェア構成の一例を示した図である。
【図５】力分割並列処理手順の一例を示したフローチャートである。
【図６】解析対象粒子を各ノードに割り当てる手法を説明する図である。
【図７】各ノードで求められた相互作用力の加算処理（特に力マトリクスの行方向について）を説明する図である。
【図８】行方向および列方向に計算した相互作用力を通信し合う必要のある他の特定プロセッサを説明する図である。
【図９】力分割法における力マトリクスを利用した際の通信対象のプロセッサを、ノード＃６に着目して纏めた図である。
【図１０】電子計算機の仕組みを適用した場合の数値演算処理部２３４とデータ記憶部２３８の構成例の詳細を示す図である。
【図１１】カットオフ距離を設定した処理の基本を説明する図である。
【図１２】複数段階のカットオフ距離を設定することでメモリ配置の適正化を行なう仕組みを説明する図である。
【図１３】プライオリティー付けを行なった計算領域を用いた場合における、ある計算時点でのノード＃６での優先度をつけた粒子と力マトリックスとの関係を説明する図である。
【図１４】図１３に基づき、図１２において付けた優先度に応じて動的に力マトリックスを変形する手法を説明する図である。
【図１５】力マトリックスの短縮を行なう際の、元の粒子ＩＤと短縮した力マトリックスでの粒子ＩＤとの相関を説明する図である。
【符号の説明】
【０１５７】
１００…現像装置、１０１…収納容器、１０１ａ…開口部、１０２…現像剤、１０２ａ…キャリア粒子、１０２ｂ…トナー粒子、１３０…感光体、１４０…現像ロール、１４２…マグネット、１５０…規制ブレード、１６０…攪拌搬送ロール、２００…粒子挙動解析システム、２０２…粒子挙動解析装置、２０８…ネットワーク、２０８ａ…ネットワーク管理装置、２１０…指示入力装置、２１２…表示装置、２２０…データ入力部、２３０…データ処理部、２３２…データ受付部、２３４…数値演算処理部、２３６…出力データ処理部、２３８…データ記憶部、２３８ａ…一時記憶部（キャッシュメモリ）、２３８ｂ…外部記憶装置（メインメモリなど）、２４０…情報提示部、２５０…分割処理部、３１０…相互作用演算部、３１２…累算部、３２０…カットオフ領域設定部、３２２…力マトリクス短縮部、３２４…相関管理部、３３０…相互作用パラメータデータ外部記憶装置、３３２…相互作用パラメータデータ一時記憶部、３３４…注目粒子データ記憶部
【図１】
2008269443.tif 000003
【図２】
2008269443.tif 000004
【図３】
2008269443.tif 000005
【図４】
2008269443.tif 000006
【図５】
2008269443.tif 000007
【図６】
2008269443.tif 000008
【図７】
2008269443.tif 000009
【図８】
2008269443.tif 000010
【図９】
2008269443.tif 000011
【図１０】
2008269443.tif 000012
【図１１】
2008269443.tif 000013
【図１２】
2008269443.tif 000014
【図１３】
2008269443.tif 000015
【図１４】
2008269443.tif 000016
【図１５】
2008269443.tif 000017