(57)【要約】【課題】粒子の挙動の計算を高速化する。【解決手段】計算装置Ｎ０は、計算装置Ｎ０〜Ｎ１５に計算対象を割り当てる。計算装置Ｎ０〜Ｎ１５は、割り当てられた計算対象に応じた粒子の接触力を含む、各々の粒子同士の相互作用力を計算し、その相互作用力に基づいて各粒子の位置座標を算出する処理を互いに並行して行う。このとき、粒径が大きいキャリア粒子同士の接触力については、ソフトスフィアモデルを用いて計算し、粒径が小さいトナー粒子とキャリア粒子との接触力及びトナー粒子同士の接触力については、ハードスフィアモデルを用いて計算する。【選択図】図１
2009140092.tif 000002
【特許請求の範囲】
【請求項１】
第１の計算装置と第２の計算装置とを備え、
前記第１の計算装置は、
粒径が大きい粒子と粒径が小さい粒子とを含む複数の粒子が配置された計算領域を複数の分割領域に分割し、各々の分割領域を計算対象の領域として自装置及び前記第２の計算装置に割り当てる割当手段を備え、
前記第１の計算装置及び前記第２の計算装置は、
前記割当手段により割り当てられた分割領域に配置された粒子の接触力を含む、各々の粒子同士の相互作用力を領域分割法に従って計算し、その相互作用力に基づいて各粒子の位置を表す位置情報を算出する処理を、前記第１の計算装置と前記第２の計算装置とで互いに並行して行う計算手段であって、粒径が大きい粒子同士の接触力については、ソフトスフィアモデルを用いて計算し、粒径が小さい粒子と粒径が大きい粒子との接触力及び粒径が小さい粒子同士の接触力については、ハードスフィアモデルを用いて計算する計算手段
を備えることを特徴とする並列計算システム。
【請求項２】
第１の計算装置と第２の計算装置とを備え、
前記第１の計算装置は、
計算領域に配置された、粒径が大きい粒子と粒径が小さい粒子とを含む複数の粒子をある数量毎に分け、当該数量分の粒子を計算対象の粒子として自装置及び前記第２の計算装置に割り当てる割当手段を備え、
前記第１の計算装置及び前記第２の計算装置は、
前記割当手段により割り当てられた粒子の接触力を含む、各々の粒子同士の相互作用力を粒子分割法に従って計算し、その相互作用力に基づいて各粒子の位置を表す位置情報を算出する処理を、前記第１の計算装置と前記第２の計算装置とで互いに並行して行う計算手段であって、粒径が大きい粒子同士の接触力については、ソフトスフィアモデルを用いて計算し、粒径が小さい粒子と粒径が大きい粒子との接触力及び粒径が小さい粒子同士の接触力については、ハードスフィアモデルを用いて計算する計算手段
を備えることを特徴とする並列計算システム。
【請求項３】
第１の計算装置と第２の計算装置とを備え、
前記第１の計算装置は、
計算領域に配置された、粒径が大きい粒子と粒径が小さい粒子とを含む複数の粒子をある数量毎に分け、当該数量分の粒子を計算対象の粒子として自装置及び前記第２の計算装置に割り当てる割当手段を備え、
前記第１の計算装置及び前記第２の計算装置は、
前記割当手段により割り当てられた粒子の接触力を含む、各々の粒子同士の相互作用力を力分割法に従って計算し、その相互作用力に基づいて各粒子の位置を表す位置情報を算出する処理を、前記第１の計算装置と前記第２の計算装置とで互いに並行して行う計算手段であって、粒径が大きい粒子同士の接触力については、ソフトスフィアモデルを用いて計算し、粒径が小さい粒子と粒径が大きい粒子との接触力及び粒径が小さい粒子同士の接触力については、ハードスフィアモデルを用いて計算する計算手段
を備えることを特徴とする並列計算システム。
【請求項４】
前記第１の計算装置及び前記第２の計算装置は、
粒子の種類と、各粒子と接触する他の粒子を含む、各粒子に対する接触物の種類と、当該粒子と当該接触物との接触力を計算するときに用いる計算方法との対応関係を記憶する記憶手段を備え、
前記計算手段は、前記記憶手段に記憶されている対応関係を参照して、各粒子の種類と当該粒子が接触する接触物の種類とに対応する計算方法を特定し、当該計算方法を用いて当該粒子と当該接触物との接触力を計算する
ことを特徴とする請求項１乃至３のいずれかに記載の並列計算システム。
【請求項５】
前記粒径が大きい粒子はキャリア粒子であり、前記粒径が小さい粒子はトナー粒子である
ことを特徴とする請求項１乃至３のいずれかに記載の並列計算システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、並列計算システムに関する。
【背景技術】
【０００２】
電子写真方式の画像形成装置の現像プロセスにおける現像粒子の挙動を計算によってシミュレーションする技術が知られている。例えば、特許文献１には、粒子の挙動を計算する領域を複数の分割領域に分割し、各々の分割領域内に含まれる現像粒子の挙動を計算する技術が開示されている。また、非特許文献１には、ソフトスフィアモデルとハードスフィアモデルとを組み合わせて、現像粒子の接触力を計算する技術が開示されている。
【特許文献１】特開２００５−１２２３５４号公報
【非特許文献１】久保田哲行、井上博之、飯野良雄、日高重助  “ＪａｐａｎＨａｒｄＣｏｐｙ１９９９ＦａｌｌＭｅｅｔｉｎｇ”  ｐ２６〜２９
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、上述した現像粒子の挙動の計算では、膨大な数の現像粒子の挙動を１つひとつ計算していくため、計算に時間がかかってしまう。上述した特許文献１及び非特許文献１に開示された技術は、いずれも、計算量を減らし計算時間を少なくすることを目的としているが、現像粒子の挙動の計算をさらに高速化することが望まれている。
本発明はこのような背景に鑑みてなされたものであり、粒子の挙動の計算を高速化することを目的とする。
【課題を解決するための手段】
【０００４】
上記課題を解決するため、本発明は、第１の計算装置と第２の計算装置とを備え、前記第１の計算装置は、粒径が大きい粒子と粒径が小さい粒子とを含む複数の粒子が配置された計算領域を複数の分割領域に分割し、各々の分割領域を計算対象の領域として自装置及び前記第２の計算装置に割り当てる割当手段を備え、前記第１の計算装置及び前記第２の計算装置は、前記割当手段により割り当てられた分割領域に配置された粒子の接触力を含む、各々の粒子同士の相互作用力を領域分割法に従って計算し、その相互作用力に基づいて各粒子の位置を表す位置情報を算出する処理を、前記第１の計算装置と前記第２の計算装置とで互いに並行して行う計算手段であって、粒径が大きい粒子同士の接触力については、ソフトスフィアモデルを用いて計算し、粒径が小さい粒子と粒径が大きい粒子との接触力及び粒径が小さい粒子同士の接触力については、ハードスフィアモデルを用いて計算する計算手段を備えることを特徴とする並列計算システムを提供する。
【０００５】
また、本発明は、第１の計算装置と第２の計算装置とを備え、前記第１の計算装置は、計算領域に配置された、粒径が大きい粒子と粒径が小さい粒子とを含む複数の粒子をある数量毎に分け、当該数量分の粒子を計算対象の粒子として自装置及び前記第２の計算装置に割り当てる割当手段を備え、前記第１の計算装置及び前記第２の計算装置は、前記割当手段により割り当てられた粒子の接触力を含む、各々の粒子同士の相互作用力を粒子分割法に従って計算し、その相互作用力に基づいて各粒子の位置を表す位置情報を算出する処理を、前記第１の計算装置と前記第２の計算装置とで互いに並行して行う計算手段であって、粒径が大きい粒子同士の接触力については、ソフトスフィアモデルを用いて計算し、粒径が小さい粒子と粒径が大きい粒子との接触力及び粒径が小さい粒子同士の接触力については、ハードスフィアモデルを用いて計算する計算手段を備えることを特徴とする並列計算システムを提供する。
【０００６】
さらに、本発明は、第１の計算装置と第２の計算装置とを備え、前記第１の計算装置は、計算領域に配置された、粒径が大きい粒子と粒径が小さい粒子とを含む複数の粒子をある数量毎に分け、当該数量分の粒子を計算対象の粒子として自装置及び前記第２の計算装置に割り当てる割当手段を備え、前記第１の計算装置及び前記第２の計算装置は、前記割当手段により割り当てられた粒子の接触力を含む、各々の粒子同士の相互作用力を力分割法に従って計算し、その相互作用力に基づいて各粒子の位置を表す位置情報を算出する処理を、前記第１の計算装置と前記第２の計算装置とで互いに並行して行う計算手段であって、粒径が大きい粒子同士の接触力については、ソフトスフィアモデルを用いて計算し、粒径が小さい粒子と粒径が大きい粒子との接触力及び粒径が小さい粒子同士の接触力については、ハードスフィアモデルを用いて計算する計算手段を備えることを特徴とする並列計算システムを提供する。
【０００７】
本発明の好ましい態様において、前記第１の計算装置及び前記第２の計算装置は、粒子の種類と、各粒子と接触する他の粒子を含む、各粒子に対する接触物の種類と、当該粒子と当該接触物との接触力を計算するときに用いる計算方法との対応関係を記憶する記憶手段を備え、前記計算手段は、前記記憶手段に記憶されている対応関係を参照して、各粒子の種類と当該粒子が接触する接触物の種類とに対応する計算方法を特定し、当該計算方法を用いて当該粒子と当該接触物との接触力を計算してもよい。
【０００８】
本発明の好ましい態様において、前記粒径が大きい粒子はキャリア粒子であり、前記粒径が小さい粒子はトナー粒子であってもよい。
【発明の効果】
【０００９】
本発明によれば、粒子の挙動の計算を高速化することができる。
【発明を実施するための最良の形態】
【００１０】
［構成］
図１は、本実施形態に係る並列計算装置１の構成を示す図である。この並列計算装置１は、いわゆるクラスタ装置であり、複数の処理を同時に並行して実行することができる。同図に示すように、並列計算装置１は、ネットワークスイッチ１０と、操作部２０と、表示部３０と、ファイルサーバ装置４０と、第１の計算装置である計算装置Ｎ０と、第２の計算装置である計算装置Ｎ１〜Ｎ１５とを備えている。なお、以下の説明において、特に区別する必要がない場合には、計算装置Ｎ０〜Ｎ１５を総称して「計算装置Ｎ」という。
【００１１】
ネットワークスイッチ１０は、各々の計算装置Ｎ及びファイルサーバ装置４０にネットワークを介して接続されており、これらの装置間の通信を中継する。操作部２０及び表示部３０は、第１の計算装置である計算装置Ｎ０に接続されている。操作部２０は、例えばキーボードとマウスなど備え、利用者の操作に応じたデータを計算装置Ｎ０に供給する。表示部３０は、例えば液晶ディスプレイなどを備え、計算装置Ｎ０によって指示されたデータを表示する。ファイルサーバ装置４０は、例えばコントローラとハードディスクなどを備え、各種のデータを記憶する。
【００１２】
図２は、図１に示した計算装置Ｎの構成を示す図である。同図に示すように、計算装置Ｎは、ＣＰＵ（Central Processing Unit）１１と、メモリ１２と、通信部１３と、記憶部１４とを備えている。ＣＰＵ１１は、メモリ１２に記憶されている各種のプログラムを実行することにより、計算装置Ｎ全体の動作を制御するとともに、各種の処理を行う。メモリ１２は、例えばＲＯＭ（Read Only Memory）とＲＡＭ（Random Access Memory）とを備えている。ＲＯＭは、読み出し専用メモリであり、計算装置Ｎの基本的な動作を制御するための制御プログラムを記憶している。ＲＡＭは、ＣＰＵ１１がプログラムを実行する際に使用する作業エリアである。通信部１３は、ネットワークスイッチ１０を経由して、他の計算装置Ｎやファイルサーバ装置４０とデータ通信を行う。記憶部１４は、例えばハードディスクであり、シミュレーションプログラムや特定テーブルＴ１などを記憶している。このシミュレーションプログラムは、ＣＰＵ１１によりＲＡＭに読み出されて実行されるようになっている。
【００１３】
各々の計算装置Ｎは、記憶部１４に記憶されているシミュレーションプログラムに従って、例えば電子写真方式の画像形成装置の現像プロセスにおけるトナー粒子とキャリア粒子の挙動のシミュレーションを行う。記憶部１４に記憶されている特定テーブルＴ１は、このシミュレーションに必要となる粒子の接触力の計算に用いられる。ここで、特定テーブルＴ１について詳細に説明する。図３は、特定テーブルＴ１の一例を示す図である。同図に示すように、この特定テーブルＴ１は、計算対象となる粒子の種類と、その粒子が接触する接触物の種類と、粒子と接触物との接触力の計算に用いられる計算モデルとが対応付けられている。この接触物の種類には、粒子の種類である「トナー粒子」と「キャリア粒子」とが含まれている。
【００１４】
この特定テーブルＴ１には、接触力の計算に用いられる計算モデルとして、「ハードスフィアモデル」又は「ソフトスフィアモデル」のいずれかが対応付けられている。「ハードスフィアモデル」は、計算対象となる粒子と接触物とを剛体として取り扱う計算モデルである。この「ハードスフィアモデル」では、接触前の粒子の速度、角速度、衝突角に基づいて接触後の粒子の位置座標が算出される。「ハードスフィアモデル」は、計算時間ステップを大きくすることができるため、トナーのように粒径が小さい粒子の接触力の計算に適している。これは、粒径が小さい粒子の挙動を計算するときには、計算時間の時間刻みを小さくしなければならないためである。これに対し、「ソフトスフィアモデル」は、計算対象となる粒子と接触物とを弾性体として取り扱う計算モデルである。この「ソフトスフィアモデル」では、粒子と接触物との接点をばね、粘性ダッシュポット、スライダーなどで構成し、粒子と接触物との接触による反発力に基づいて接触後の粒子の位置座標が算出される。「ソフトスフィアモデル」は、多数の接点で接触するときの接触力を正確に計算することができるが、計算時間ステップを小さくする必要があるため、キャリア粒子のように粒径が大きい粒子の接触力の計算に適している。これは、粒径が大きい粒子の挙動を計算するときには、計算時間の時間刻みを比較的大きくすることができるためである。
【００１５】
図３に示した特定テーブルＴ１では、計算対象となる粒子の種類である「トナー粒子」と接触物の種類である「トナー粒子」には、それらの接触力の計算に用いられる計算モデルとして「ハードスフィアモデル」が対応付けられている。これは、「トナー粒子」が「トナー粒子」に対して接触したときの接触力の計算には、「ハードスフィアモデル」が用いられることを表している。また、特定テーブルＴ１では、計算対象となる粒子の種類である「キャリア粒子」と接触物の種類である「キャリア粒子」には、それらの接触力の計算に用いられる計算モデルとして「ソフトスフィアモデル」が対応付けられている。これは、「キャリア粒子」が「キャリア粒子」に対して接触したときの接触力の計算には、「ソフトスフィアモデル」が用いられることを表している。
【００１６】
［動作］
次に、図４及び５を参照して、並列計算装置１の動作について説明する。
まず、シミュレーションを行う検証者は、操作部２０を操作して、シミュレーションプログラムの実行を指示する。このとき、検証者は、その実行時に使用するＣＰＵ数を設定する。この例では、計算装置Ｎ０〜Ｎ１５がそれぞれ１個のＣＰＵ１１を備えており、実行時に使用するＣＰＵ数として計算装置Ｎの台数と同じ１６個が設定されたものとする。計算装置Ｎ０のＣＰＵ１１は、この操作に応じて、記憶部１４に記憶されているシミュレーションプログラムを実行する。続いて、計算装置Ｎ０のＣＰＵ１１は、並列計算装置１の計算装置Ｎが備える全ＣＰＵ数のうち、検証者が設定したＣＰＵ数を特定する（図４のステップＳ１１）。この例では、計算装置Ｎの台数と同じ１６個が全ＣＰＵ数がとして特定される。
【００１７】
続いて、計算装置Ｎ０のＣＰＵ１１は、トナー粒子とキャリア粒子の挙動の計算に必要な計算条件を読み込む（ステップＳ１２）。この計算条件は、検証者が操作部２０を操作することによって入力されてもよいし、計算装置Ｎ０の記憶部１４もしくは各々の計算装置Ｎの記憶部１４又はファイルサーバ装置４０に予め記憶されていてもよい。ここで、計算条件の内容について説明する。この計算条件には、粒子の数量、粒子の初期配置、粒子の物性情報、電磁場の計算条件、現像プロセスを実現する機器、例えば感光体、現像スリーブ、キャリア粒子の数量を調整するブレードなどの配置と動作、計算時間ステップ及び粒子挙動の計算方法などが含まれている。この粒子の物性情報には、粒子の種類、粒子の粒径、トナー粒子の電荷、キャリア粒子の透磁率などが含まれている。なお、トナー粒子とキャリア粒子とは粒径が異なり、キャリア粒子の粒径はトナー粒子の粒径の約５倍程度である。
【００１８】
続いて、計算装置Ｎ０のＣＰＵ１１は、読み込んだ計算条件に含まれる粒子挙動の計算方法に従って、計算装置Ｎ０〜Ｎ１５に計算対象となる領域又は粒子を割り当てる（ステップＳ１３）。また、これに伴って、計算装置Ｎ０のＣＰＵ１１は、読み込んだ計算条件を通信部１３によって計算装置Ｎ１〜Ｎ１５に送信する。計算装置Ｎ１〜Ｎ１５のＣＰＵ１１は、計算装置Ｎ０から計算条件が送信されてくると、その計算条件を記憶部１４に記憶させる。そして、計算装置Ｎ０〜Ｎ１５のＣＰＵ１１は、記憶部１４に記憶されている計算条件に含まれる粒子挙動の計算方法に従って、次の処理を行う。
【００１９】
まず、計算装置Ｎ０〜Ｎ１５のＣＰＵ１１は、記憶部１４に記憶されている計算条件に基づいて、初期条件の設定を行う（図５のステップＳ２１）。この初期条件の設定には、粒子を初期配置に配置する処理や、計算時間ステップを初期時間ステップに設定する処理などが含まれる。続いて、計算装置Ｎ０〜Ｎ１５のＣＰＵ１１は、設定した計算時間ステップにおいて、計算対象として割り当てられた領域に配置された粒子、又は、計算対象として割り当てられた粒子の相互作用力を計算する（ステップＳ２２）。この相互作用力には、トナー粒子同士及びトナー粒子とキャリア粒子との静電気力、キャリア粒子の磁力の他に、粒子の接触力が含まれる。この粒子の接触力の計算は、次のようにして行われる。
【００２０】
まず、ＣＰＵ１１は、記憶部１４に記憶されている特定テーブルＴ１を参照して、計算対象の粒子の種類とその粒子が接触する接触物の種類とに対応付けらた計算モデルを特定する。続いて、ＣＰＵ１１は、特定した計算モデルを用いて、計算対象の粒子の接触力を計算する。例えば、計算対象の粒子の種類が「キャリア粒子」であり、接触物の種類が「キャリア粒子」である場合、図３に示した特定テーブルＴ１では、「ソフトスフィアモデル」が特定される。この場合、「キャリア粒子」が「キャリア粒子」に対して接触するときの接触力は、この「ソフトスフィアモデル」を用いて計算される。一方、計算対象の粒子の種類と接触物の種類とが上記以外の場合、すなわち、「トナー粒子」同士が接触する場合、「トナー粒子」と「キャリア粒子」とが接触する場合、あるいは、「トナー粒子」又は「キャリア粒子」が「感光体」、「現像ロール」又は「ブレード」に対して接触する場合、この特定テーブルＴ１では、「ハードスフィアモデル」が特定される。この場合、接触対象の粒子が接触物に接触するときの接触力は、この「ハードスフィアモデル」を用いて計算される。
【００２１】
続いて、計算装置Ｎ０〜Ｎ１５のＣＰＵ１１は、計算した相互作用力を用いて運動方程式を解き、各々の粒子の位置座標を算出する（ステップＳ２３）。そして、計算装置Ｎ０〜Ｎ１５のＣＰＵ１１は、算出した位置座標を通信部１３によって他の計算装置Ｎに送信する（ステップＳ２４）。続いて、計算装置Ｎ０〜Ｎ１５のＣＰＵ１１は、設定した計算時間ステップが最終時間ステップに達しているか否かを判定する（ステップＳ２５）。最終時間ステップに達していない場合（ステップＳ２５：ＮＯ）、ＣＰＵ１１は、計算時間ステップを次の計算時間ステップに更新し（ステップＳ２６）、ステップＳ２２以降の処理を行う。一方、最終時間ステップに達した場合（ステップＳ２５：ＹＥＳ）、計算装置Ｎ０〜Ｎ１５のＣＰＵ１１は、各々の計算時間ステップにおいて、上述したステップＳ２３にて算出した粒子の位置座標及び変位量を通信部１３によってファイルサーバ装置４０に送信し、記憶させる（ステップＳ２７）。そして、計算装置Ｎ０〜Ｎ１５のＣＰＵ１１は、この処理を終了する。これらの処理は、計算装置Ｎ０〜Ｎ１５の各々のＣＰＵ１１によって並行して行われる。
【００２２】
さて、上述した粒子挙動の計算方法としては、「領域分割法」、「粒子分割法」、「力分割法」という３つの計算方法がある。次に、各々の計算方法に従って行われる上記処理について詳細に説明する。
（領域分割法）
まず、領域分割法に従って行われる処理について説明する。領域分割法は、計算領域を複数の分割領域に分割し、各々の分割領域毎に粒子の挙動を計算する計算方法である。この領域分割法では、分割領域毎に粒子の数が異なるため、各計算装置Ｎの計算負荷にばらつきが出てしまうが、計算装置Ｎ間の通信は少なくて済む。
【００２３】
図６は、トナー粒子とキャリア粒子とが配置される計算領域の一例を示す図である。現像プロセスにおいて、図中の現像ロールＳは、矢印ｉ方向に回転しながら、磁力によってキャリア粒子をその表面に吸着させ、このキャリア粒子を感光体と対向する現像領域に搬送する。このとき、キャリア粒子には、トナー粒子が付着されている。このトナー粒子は、キャリア粒子に付着した状態で現像領域へと搬送され、感光体上の静電潜像と現像ロールＳ表面との電位差によって感光体側に移動することになる。
【００２４】
上述したステップＳ１２にて、粒子挙動の計算方法を「領域分割法」とする計算条件が読み込まれた場合、続くステップＳ１３では、計算領域が複数の分割領域に分割され、各々の分割領域が計算対象の領域として計算装置Ｎ０〜Ｎ１５に割り当てられる。この例では、まず、図６に示した現像ロールＳの領域が、現像ロールＳの長手方向に沿って、ステップＳ１１にて特定されたＣＰＵ数である１６個に分割される。そして、分割された分割領域Ａ０〜Ａ１５が、計算装置Ｎ０〜Ｎ１５にそれぞれ割り当てられる。
【００２５】
この場合、上述したステップＳ２２では、計算装置Ｎ０〜Ｎ１５のＣＰＵ１１が、設定された計算時間ステップにおいて、自装置に割り当てられた領域に配置された粒子の相互作用力を計算する。このとき、粒子の接触力の計算については、上述と同様にして行われる。例えば、計算装置Ｎ０のＣＰＵ１１は、領域Ａ０内に配置されたトナー粒子やキャリア粒子の相互作用力を計算する。同様にして、計算装置Ｎ１は、領域Ａ１内に配置されたトナー粒子やキャリア粒子の相互作用力を計算する。続いて、ステップＳ２３では、計算装置Ｎ０〜Ｎ１５のＣＰＵ１１が、計算した相互作用力に基づいて、自装置に割り当てられた分割領域に配置された粒子の位置座標を算出する。そして、ステップＳ２４では、計算装置Ｎ０〜Ｎ１５のＣＰＵ１１が、算出した位置座標を、自装置に割り当てられた分割領域と隣接する分割領域が割り当てられた計算装置Ｎに通知する。例えば、計算装置Ｎ０のＣＰＵ１１は、分割領域Ａ０と隣接する分割領域Ａ１が割り当てられた計算装置Ｎ１に対して、算出した位置座標を送信する。同様にして、計算装置Ｎ１のＣＰＵ１１は、分割領域Ａ１と隣接する分割領域Ａ０，Ａ２が割り当てられた計算装置Ｎ０，Ｎ２に対して、算出した位置座標を送信する。このときに送信された位置座標は、次の計算時間ステップにおいて粒子の相互作用力を計算する際に用いられる。
【００２６】
このようにして、ステップＳ２２〜２６の処理を繰り返した後、ステップＳ２５において最終時間ステップに達したと判定されると、ステップＳ２７では、計算装置Ｎ０〜Ｎ１５のＣＰＵ１１が、各々の計算時間ステップにおいて算出した位置座標をファイルサーバ装置４０に送信し、記憶させる。これにより、ファイルサーバ装置４０には、各々の計算時間ステップにおける粒子の位置座標が分割領域毎に記憶される。例えば、この分割領域毎の粒子の位置座標を画像として表示させるための画像データを生成し、計算領域を構成するようにそれらを合成して表示させると、検証者は、初期時間ステップから最終時間ステップまでのトナー粒子とキャリア粒子の挙動を視認することができる。
【００２７】
（粒子分割法）
次に、粒子分割法に従って行われる処理について説明する。粒子分割法は、計算領域に配置された粒子をある数量毎にわけ、その数量分の粒子毎に粒子の挙動を計算する計算方法である。この粒子分割法では、各々の計算装置Ｎが他の全ての計算装置Ｎと通信を行わなくてはならないため、計算装置Ｎ間の通信は多くなってしまうが、計算装置Ｎ間の計算負荷は均等になる。
【００２８】
上述したステップＳ１２にて、粒子挙動の計算方法を「粒子分割法」とする計算条件が読み込まれた場合、続くステップＳ１３では、ステップＳ１１にて特定されたＣＰＵ数に基づいて各々の計算装置Ｎに割り当てる粒子の数が決定され、その数分の粒子が計算対象の粒子として計算装置Ｎ０〜Ｎ１５に割り当てられる。例えば、ステップＳ１２にて、トナー粒子の数を３２個、キャリア粒子の数を１６個とする計算条件が読み込まれた場合を想定する。なお、実際のシミュレーションでは、数千から数十万個という数の粒子が計算条件として読み込まれることになるが、ここでは説明の便宜上、粒子の数が極めて小さい値に設定されたものとして説明する。このとき、各計算装置Ｎに割り当てられるトナー粒子の数は、ステップＳ１１にて特定されたＣＰＵ数である１６個に基づいて３２÷１６＝２個となり、キャリア粒子の数は、１６÷１６＝１個となる。この場合、計算装置Ｎ０〜Ｎ１５には、それぞれ、２個のトナー粒子と１個のキャリア粒子とが割り当てられる。
【００２９】
この場合、上述したステップＳ２２では、計算装置Ｎ０〜Ｎ１５のＣＰＵ１１が、設定された計算時間ステップにおいて、自装置に割り当てられた粒子の相互作用力を計算する。このとき、粒子の接触力の計算については、上述と同様にして行われる。続いて、ステップＳ２３では、計算装置Ｎ０〜Ｎ１５のＣＰＵ１１が、計算した相互作用力に基づいて、自装置に割り当てられた粒子の位置座標を算出する。そして、ステップＳ２４では、計算装置Ｎ０〜Ｎ１５のＣＰＵ１１が、算出した位置座標を自装置以外の計算装置Ｎに通知する。例えば、計算装置Ｎ０のＣＰＵ１１は、算出した位置座標を計算装置Ｎ１〜Ｎ１５に通知する。同様にして、計算装置Ｎ１のＣＰＵ１１は、算出した位置座標を計算装置Ｎ０及びＮ２〜Ｎ１５に通知する。このときに通知された位置座標は、次の計算時間ステップにおいて粒子の相互作用力を計算する際に用いられる。
【００３０】
このようにして、ステップＳ２２〜２６の処理を繰り返した後、ステップＳ２５において最終時間ステップに達したと判定されると、ステップＳ２７では、計算装置Ｎ０〜Ｎ１５のＣＰＵ１１が、各々の計算時間ステップにおいて算出した位置座標をファイルサーバ装置４０に送信し、記憶させる。これにより、ファイルサーバ装置４０には、各々の計算時間ステップにおける粒子の位置座標がトナー粒子２個＋キャリア粒子１個毎に記憶される。例えば、このトナー粒子２個＋キャリア粒子1個毎の粒子の位置座標を画像として表示させるための画像データを生成し、全ての粒子が配置されるように合成して表示させると、検証者は、初期時間ステップから最終時間ステップまでのトナー粒子とキャリア粒子の挙動を視認することができる。
【００３１】
（力分割法）
次に、力分割法に従って行われる処理について説明する。力分割法は、計算領域に配置された粒子をある数量毎にわけ、その数量分の粒子毎に粒子の挙動を力マトリックスに従って計算する計算方法である。この力分割法では、計算装置Ｎ間の計算負荷が均等になり、さらに、粒子分割法に比べて計算装置Ｎ間の通信が少なくなる。
【００３２】
上述したステップＳ１２にて、粒子挙動の計算方法を「力分割法」とする計算条件が読み込まれた場合、続くステップＳ１３では、ステップＳ１１にて特定されたＣＰＵ数に基づいて各々の計算装置Ｎに割り当てる粒子の数が決定され、その数分の粒子が計算対象の粒子として計算装置Ｎ０〜Ｎ１５に割り当てられる。例えば、ステップＳ１２において、トナー粒子の数を１６個、キャリア粒子の数を１６個とする計算条件が読み込まれた場合を想定する。このとき、各計算装置Ｎに割り当てられるトナー粒子の数は、ステップＳ１１にて特定された全ＣＰＵ数である１６個に基づいて１６÷１６＝１個となり、キャリア粒子の数も、１６÷１６＝１個となる。この場合、計算装置Ｎ０〜Ｎ１５には、それぞれ、１個のトナー粒子と１個のキャリア粒子とが割り当てられる。つまり、各計算装置Ｎには、トナー粒子とキャリア粒子とが同じ比率で割り当てられるようになっている。図７は、力分割法の規則を表す力マトリックスＭを示す図である。図では、例えば、計算装置Ｎ０には、トナー粒子Ｔ０とキャリア粒子Ｃ１とが割り当てられている。同様にして、計算装置Ｎ１には、トナー粒子Ｔ２とキャリア粒子Ｃ３とが割り当てられている。
【００３３】
この場合、上述したステップＳ２２では、計算装置Ｎ０〜Ｎ１５のＣＰＵ１１が、設定された計算時間ステップにおいて、自装置に割り当てられた粒子を含む粒子の相互作用力を力マトリックスＭに従って計算する。例えば、計算装置Ｎ６のＣＰＵ１１は、図７に示した力マトリックスＭにおいて横軸で示された計算装置Ｎ４、計算装置Ｎ５及びと計算装置Ｎ７と通信を行い、計算装置Ｎ６の相互作用マトリックスにて割り当てられた粒子、すなわちトナー粒子Ｔ８，Ｔ１０，Ｔ１２，Ｔ１４及びキャリア粒子Ｔ９，Ｔ１１，Ｔ１３，Ｔ１５と、トナー粒子Ｔ４，Ｔ１２，Ｔ２０，Ｔ２８及びキャリア粒子Ｃ５，Ｃ１３，Ｃ２１，Ｃ２９との相互作用力を計算する。このとき、粒子の接触力の計算については、上述と同様にして行われる。続いて、ステップＳ２３では、計算装置Ｎ０〜Ｎ１５のＣＰＵ１１が、計算した相互作用力に基づいて、自装置の相互作用マトリックスにて割り当てられた粒子の位置座標を算出する。そして、ステップＳ２４では、計算装置Ｎ０〜Ｎ１５のＣＰＵ１１が、力マトリックスＭにおいて決められた計算装置Ｎに対して算出した位置座標を送信する。例えば、計算装置Ｎ６のＣＰＵ１１は、力マトリックスＭにおいて縦軸で示された計算装置Ｎ２，Ｎ１０，Ｎ１４及び横軸で示された計算装置Ｎ４，Ｎ５，Ｎ７に対して、トナー粒子Ｔ１２，キャリア粒子Ｃ１３の位置座標を送信する。このとき送信された位置座標は、次の計算時間ステップにおいて粒子の相互作用力を計算する際に用いられる。
【００３４】
このようにして、ステップＳ２２〜２６の処理を繰り返した後、ステップＳ２５において最終時間ステップに達したと判定されると、ステップＳ２７では、計算装置Ｎ０〜Ｎ１５のＣＰＵ１１が、各々の計算時間ステップにおいて算出した位置座標をファイルサーバ装置４０に送信、記憶させる。これにより、ファイルサーバ装置４０には、各々の計算時間ステップにおける粒子の位置座標が記憶される。例えば、この粒子の位置座標を画像として表示させるための画像データを生成し、全ての粒子が配置されるように合成して表示させると、検証者は、初期時間ステップから最終時間ステップまでのトナー粒子とキャリア粒子の挙動を視認することができる。
【００３５】
ここで、仮に、上述した粒子の接触力の計算を、「ソフトスフィアモデル」のみを用いて行った場合を考える。この場合、トナー粒子の接触力の計算では、計算時間ステップの時間刻みをさらに小さくする必要があり、それに伴って、全体の計算時間ステップの時間刻みも小さくしなければならない。そのため、シミュレーションの計算量が膨大になり、計算に非常に時間がかかってしまう。また、仮に、上述した粒子の接触力の計算を、「ハードスフィアモデル」のみを用いて行った場合を考える。この場合、粒子の接触において実際には発生する圧縮が考慮されず、また多数の接点で接触している状態を計算することができないため、シミュレーションの精度が下がってしまう。このことからもわかるように、上述した実施形態によれば、シミュレーションの精度を保ちつつ、粒子の挙動の計算を大幅に高速化することができる。
【００３６】
［変形例］
以上が実施形態の説明であるが、この実施形態の内容は以下のように変形し得る。また、以下の各態様を適宜組み合わせてもよい。
（変形例１）
上述した実施形態では、図３に示した特定テーブルＴ１を例に挙げて説明したが、これに限らない。図８は、この変形例に係る特定テーブルＴ２を示す図である。この特定テーブルＴ２と上述した特定テーブルＴ１との違いは、接触物の種類が「感光体」，「現像ロール」，「ブレード」である場合に、粒子の接触力の計算に用いられる計算モデルとして「ソフトスフィアモデル」が特定される点である。「ソフトスフィアモデル」では、「ハードスフィアモデル」と比べて計算量が多くなってしまうが、粒子の圧縮を考慮した計算が行われるため、シミュレーションの精度が高くなる。加えて、「感光体」，「現像ロール」，「ブレード」は１個ずつしか設けられていないため、計算量が大幅に増えることはない。このように、特定テーブルの内容は、検証者がシミュレーションの精度を向上させたいのか、あるいは計算時間を短くしたいのかに応じて自由に決定され得る。また、特定テーブルは、検証者が操作部２０を操作することによって、書き換えられてもよい。すなわち、特定テーブルは、シミュレーションの対象となる問題（事象）の種類に応じて、検証者によって自由な組み合わせに書き換えられる。
【００３７】
（変形例２）
上述した実施形態において、並列計算装置１は、画像形成装置の現像プロセスにおけるトナー粒子及びキャリア粒子の挙動のシミュレーションを行っていたが、並列計算装置１が計算対象として取り扱う粒子はトナー粒子及びキャリア粒子に限らない。例えば、土砂や薬錠剤などの粒径の異なる複数の粒子の挙動シミュレーションを行ってもよい。
【００３８】
（変形例３）
上述した実施形態において、計算装置Ｎ０〜Ｎ１５のＣＰＵ１１は、それぞれ、算出した位置座標をファイルサーバ装置４０に送信し、記憶させていた。これに対し、計算装置Ｎ０のＣＰＵ１１が、計算装置Ｎ１〜Ｎ１５において算出された位置座標と自装置が算出した位置座標とを１つのファイルにまとめて、ファイルサーバ装置４０に送信し、記憶させてもよい。この場合、計算装置Ｎ１〜Ｎ１５のＣＰＵ１１は、算出した位置座標を通信部１３によって計算装置Ｎ０に送信することになる。また、ファイルサーバ装置４０は、並列計算装置１の外部に設けられ、ネットワークスイッチ１０を介して接続されていてもよい。
【００３９】
（変形例４）
上述した実施形態では、記憶部１４に記憶されている特定テーブルＴ１に基づいて、粒子の接触力の計算において用いられる計算モデルが特定されていたが、これに限らない。例えば、特定テーブルＴ１に代えて、計算対象となる粒子の粒径とその粒子が接触する粒子の粒径とに基づいて計算モデルを選択するプログラムが用いられてもよい。このプログラムは、粒径が大きいキャリア粒子同士が接触した場合には、その接触力の計算モデルとして「ソフトスフィアモデル」を選択する。また、このプログラムは、粒径が小さいトナー粒子と粒径が大きいキャリア粒子とが接触した場合、及び、粒径が小さいトナー粒子同士が接触した場合には、その接触力の計算モデルとして「ハードスフィアモデル」を選択する。計算装置Ｎ０〜Ｎ１５のＣＰＵ１１は、このプログラムにより選択された計算モデルを用いて、計算対象となる粒子の接触力を計算する。この構成でも、上述した実施形態と同様の効果が得られる。
【００４０】
（変形例５）
上述した実施形態では、計算装置Ｎ０〜Ｎ１５がそれぞれ１個のＣＰＵ１１を備えていたが、これに限らない。例えば、１台の計算装置Ｎが複数のＣＰＵ１１を備えていてもよい。あるいは、計算装置Ｎが、１個のＣＰＵパッケージ内に複数のＣＰＵコアを持つマルチコアＣＰＵを備えていてもよい。この場合、上述したＣＰＵ数としては、このＣＰＵコア数が特定されることになる。
【００４１】
（変形例６）
上述した実施形態において、領域分割法では、図６に示したように、現像ロールＳの長手方向に沿って計算領域が分割されていたが、計算領域の分割の仕方はこれに限らない。例えば、計算領域を現像ロールＳの同心円方向に沿って分割してもよい。図９は、計算領域を現像ロールＳの同心円方向に沿って分割する例を示す図である。これは、現像ロールＳと感光体Ｐとの間の現像領域を示しており、現像ロールＳによってトナーＳとキャリアＣとが搬送されている様子を示している。この場合、計算領域は、現像ロールＳの同心円方向に沿って分割され、分割領域Ｂ０，Ｂ１，Ｂ２となる。
【００４２】
（変形例７）
上述した実施形態において、各計算装置ＮのＣＰＵ１１が実行するプログラムは、磁気テープ、磁気ディスク、フレキシブルディスク、光記録媒体、光磁気記録媒体、ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk）、ＲＡＭなどの記録媒体に記録した状態で提供し得る。また、インターネットなどのネットワーク経由で計算装置Ｎにダウンロードさせることも可能である。即ち、本発明をプログラムとして実現することもできる。
【図面の簡単な説明】
【００４３】
【図１】実施形態に係る並列計算装置の構成を示す図である。
【図２】同並列計算装置の計算装置の構成を示す図である。
【図３】同計算装置に記憶された特定テーブルの一例を示す図である。
【図４】第１の計算装置である計算装置の動作を示すフロー図である。
【図５】各々の計算装置の動作を示すフロー図である。
【図６】トナー粒子とキャリア粒子とが配置される計算領域の一例を示す図である。
【図７】力分割法の規則を表す力マトリックスを示す図である。
【図８】変形例に係る特定テーブルを示す図である。
【図９】変形例に係る計算領域を同心円方向に沿って分割する例を示す図である。
【符号の説明】
【００４４】
１…並列計算装置、１０…ネットワークスイッチ、２０…操作部、３０…表示部、４０…ファイルサーバ装置、Ｎ０〜Ｎ１５…計算装置、１１…ＣＰＵ、１２…メモリ、１３…通信部、１４…記憶部
【図１】
2009140092.tif 000003
【図２】
2009140092.tif 000004
【図３】
2009140092.tif 000005
【図４】
2009140092.tif 000006
【図５】
2009140092.tif 000007
【図６】
2009140092.tif 000008
【図７】
2009140092.tif 000009
【図８】
2009140092.tif 000010
【図９】
2009140092.tif 000011