(57)【要約】【課題】粒子の挙動などの対象要素の状態を表す数値データを高速に可視化する。【解決手段】並列計算装置１０は、画像形成装置の現像プロセスにおけるトナー粒子Ｔとキャリア粒子Ｃの挙動を表す位置情報を、トナー粒子Ｔとキャリア粒子Ｃとで並行して算出する。可視化装置３０ｑは、並列計算装置１０によって算出されたキャリア粒子Ｃの位置情報を取得し、取得した位置情報が表すキャリア粒子Ｃの位置を画像として表示するための画像データを生成し、それと並行して可視化装置３０ｒは、トナー粒子Ｔの位置情報を取得し、取得した位置情報が表すトナー粒子Ｔの位置を画像として表示するための画像データを生成する。端末装置４０は、可視化装置３０ｑ又は３０ｒによって生成された画像データを取得し、表示部に表示させる。【選択図】図１
2009070332.tif 000002
【特許請求の範囲】
【請求項１】
並列計算装置と、可視化装置とを備え、
前記並列計算装置は、
ある現象を構成する各々の対象要素の状態を表す数値データを、前記対象要素別に並行して算出する複数の算出手段を備え、
前記可視化装置は、
前記並列計算装置の前記算出手段によって算出された数値データを取得する取得手段と、
前記取得手段によって取得された数値データに基づき、当該数値データが表す状態を画像として表示するための画像データを前記対象要素別に並行して生成する複数の生成手段と、
前記生成手段によって生成された前記対象要素別の画像データを表示手段へと出力する出力手段とを備える
ことを特徴とする可視化システム。
【請求項２】
前記複数の生成手段の数は、前記対象要素の数以下の数である
ことを特徴とする請求項１記載の可視化システム。
【請求項３】
前記可視化装置は、前記取得手段と前記生成手段と前記出力手段とをそれぞれ備える複数の装置からなり、それらの装置の数が前記対象要素の数である
ことを特徴とする請求項１記載の可視化システム。
【請求項４】
前記並列計算装置の前記算出手段は、粒子の種類別に、その粒子の位置を表す位置情報を並行して算出し、
前記可視化装置の前記取得手段は、前記並列計算装置の前記算出手段によって算出された位置情報を取得し、
前記生成手段は、前記取得手段によって取得された各々の位置情報が表す位置において、当該位置情報に対応する前記粒子を画像として表示するための画像データを前記粒子の種類別に並行して生成し、
前記出力手段は、前記生成手段によって生成された前記粒子の種類別の画像データを前記表示手段へと出力する
ことを特徴とする請求項１記載の可視化システム。
【請求項５】
前記並列計算装置の前記算出手段は、力分割並列化法に従って各々の粒子の相互作用力を求め、その相互作用力に基づいて前記粒子の位置を表す位置情報を並行して算出する
ことを特徴とする請求項４記載の可視化システム。
【請求項６】
前記可視化装置の前記生成手段は、少なくとも１種類以上の前記粒子については、複数の当該粒子をまとめて表示するための画像データを生成する
ことを特徴とする請求項４記載の可視化システム。
【請求項７】
前記並列計算装置の前記算出手段は、前記ある現象が発生する領域を分割した分割領域別に、その分割領域における前記現象の状態を表す数値データを並行して算出し、
前記可視化装置の前記取得手段は、前記並列計算装置の前記算出手段によって算出された数値データを取得し、
前記生成手段は、前記取得手段によって取得された数値データに基づき、当該数値データが表す状態を画像として表示するための画像データを前記分割領域別に並行して生成し、
前記出力手段は、前記生成手段によって生成された前記分割領域別の画像データを前記表示手段へと出力する
ことを特徴とする請求項１記載の可視化システム。
【請求項８】
前記可視化装置は、
前記生成手段によって前記対象要素別に並行して生成された画像データを合成する合成手段を備え、
前記出力手段は、前記合成手段によって合成された画像データを前記表示手段へと出力する
ことを特徴とする請求項１記載の可視化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可視化システムに関する。
【背景技術】
【０００２】
人間が視覚的に捉えることができない現象を計算によってシミュレーションし、その計算によって得られた数値データを可視化するということが行われている。例えば、特許文献１には、流体の３次元流体運動を数値計算によって求めた後に、流れとともに変化していく面を表す画像ピクセルデータを生成し、これを表示することで、流体の３次元構造と運動の状態をより明確に可視化する技術が公開されている。
【特許文献１】特開２０００−２９３７０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、例えば、画像形成装置において用いられるトナーやキャリアなどの粒子の挙動を上述したようなコンピュータシミュレーションを用いて計算した場合、シミュレーションによって得られる数値データは膨大な量になる。そのため、この数値データを可視化させる場合には、その可視化処理に非常に時間がかかるという問題があった。
本発明はこのような背景に鑑みてなされたものであり、粒子の挙動などの、対象要素の状態を表す数値データを高速に可視化することを目的とする。
【課題を解決するための手段】
【０００４】
上記課題を解決するため、本発明は、並列計算装置と、可視化装置とを備え、前記並列計算装置は、ある現象を構成する各々の対象要素の状態を表す数値データを、前記対象要素別に並行して算出する複数の算出手段を備え、前記可視化装置は、前記並列計算装置の前記算出手段によって算出された数値データを取得する取得手段と、前記取得手段によって取得された数値データに基づき、当該数値データが表す状態を画像として表示するための画像データを前記対象要素別に並行して生成する複数の生成手段と、前記生成手段によって生成された前記対象要素別の画像データを表示手段へと出力する出力手段とを備えることを特徴とする可視化システムを提供する。
【０００５】
本発明の好ましい態様において、前記複数の生成手段の数は、前記対象要素の数以下の数であってもよい。
本発明の好ましい態様において、前記可視化装置は、前記取得手段と前記生成手段と前記出力手段とをそれぞれ備える複数の装置からなり、それらの前記装置の数が前記対象要素の数であってもよい。
【０００６】
本発明の好ましい態様において、前記並列計算装置の前記算出手段は、粒子の種類別に、その粒子の位置を表す位置情報を並行して算出し、前記可視化装置の前記取得手段は、前記並列計算装置の前記算出手段によって算出された位置情報を取得し、前記生成手段は、前記取得手段によって取得された各々の位置情報が表す位置において、当該位置情報に対応する前記粒子を画像として表示するための画像データを前記粒子の種類別に並行して生成し、前記出力手段は、前記生成手段によって生成された前記粒子の種類別の画像データを前記表示手段へと出力してもよい。
【０００７】
本発明の好ましい態様において、前記並列計算装置の前記算出手段は、力分割並列化法に従って各々の粒子の相互作用力を求め、その相互作用力に基づいて前記粒子の位置を表す位置情報を並行して算出してもよい。
【０００８】
本発明の好ましい態様において、前記可視化装置の前記生成手段は、少なくとも１種類以上の前記粒子については、複数の当該粒子をまとめて表示するための画像データを生成してもよい。
【０００９】
本発明の好ましい態様において、前記並列計算装置の前記算出手段は、前記ある現象が発生する領域を分割した分割領域別に、その分割領域における前記現象の状態を表す数値データを並行して算出し、前記可視化装置の前記取得手段は、前記並列計算装置の前記算出手段によって算出された数値データを取得し、前記生成手段は、前記取得手段によって取得された数値データに基づき、当該数値データが表す状態を画像として表示するための画像データを前記分割領域別に並行して生成し、前記出力手段は、前記生成手段によって生成された前記分割領域別の画像データを前記表示手段へと出力してもよい。
【００１０】
本発明の好ましい態様において、前記可視化装置は、前記生成手段によって前記対象要素別に並行して生成された画像データを合成する合成手段を備え、前記出力手段は、前記合成手段によって合成された画像データを前記表示手段へと出力してもよい。
【発明の効果】
【００１１】
本発明によれば、粒子の挙動などの、対象要素の状態を表す数値データを高速に可視化することできる。
【発明を実施するための最良の形態】
【００１２】
［構成］
図１は、本発明の一実施形態である可視化システム１の構成を示す図である。同図に示すように、この可視化システム１は、並列計算装置１０と、ファイルサーバ装置２０と、可視化装置３０ｑ，３０ｒと、端末装置４０とを備えている。なお、以下の説明では、可視化装置３０ｑ，３０ｒを特に区別する必要がない場合には、これらを総称して「可視化装置３０」という。並列計算装置１０、ファイルサーバ装置２０及び可視化装置３０は、例えばサーバ室などに設置されている。これに対し、端末装置４０は、可視化装置３０が設置されている部屋とは異なる部屋、例えば検証者が検証を行うための部屋に設置されており、可視化装置３０の表示手段として機能する。
【００１３】
並列計算装置１０は、いわゆるクラスタ装置であり、検証者によって指示された現象の数学的モデルを並列処理によって生成する。この並列計算装置１０には、ファイルサーバ装置２０が接続されており、並列計算装置１０の処理によって得られた数値データは、このファイルサーバ装置２０に記憶される。可視化装置３０は、ネットワークを介してファイルサーバ装置２０に接続されており、ファイルサーバ装置２０に記憶されている数値データを取得し、その数値データが表す状態を画像として表示させるための画像データを生成する。端末装置４０は、ネットワークを介して可視化装置３０に接続されており、可視化装置３０によって生成された画像データを取得し、表示する。
【００１４】
（並列計算装置１０）
次に、並列計算装置１０の構成について説明する。図２は、並列計算装置１０の構成を示す図である。同図に示すように、並列計算装置１０は、ネットワークスイッチ１１０と、操作部１２０と、表示部１３０と、１６台の計算装置１４０ａ〜１４０ｐとを備えている。なお、以下の説明では、計算装置１４０ａ〜１４０ｐを特に区別する必要がない場合には、これらを総称して「計算装置１４０」という。各々の計算装置１４０は、ネットワークを介して接続されており、このネットワーク上に設けられたネットワークスイッチ１１０によって計算装置１４０間の通信が行われるようになっている。操作部１２０及び表示部１３０は、計算装置１４０ａに接続されている。操作部１２０は、例えばキーボードとマウスとを備え、利用者の操作に応じたデータを計算装置１４０ａに供給する。表示部１３０は、例えば液晶パネルを備え、計算装置１４０ａによって指示されたデータを表示する。
【００１５】
図３は、各々の計算装置１４０の構成を示す図である。同図に示すように、計算装置１４０は、ＣＰＵ１１と、メモリ１２と、通信部１３と、記憶部１４とを備えている。ＣＰＵ１１は、メモリ１２又は記憶部１４に記憶されている各種のプログラムを実行することによって、計算装置１４０の各部を制御する。また、このＣＰＵ１１は、検証者によって指示された現象の数学的モデルを生成する処理、例えば画像形成装置の現像プロセスにおけるトナー粒子Ｔとキャリア粒子Ｃの挙動を表す位置情報を算出する処理を行う算出手段として機能する。この処理は、現象を構成する対象要素別、例えばトナー粒子Ｔとキャリア粒子Ｃなどの粒子の種類別に各々の計算装置１４０によって並行して行われる。通信部１３は、ネットワークを介して接続された各々の計算装置１４０又はファイルサーバ装置２０と通信を行うための通信インタフェースである。記憶部１４は、例えばハードディスクであり、ＣＰＵ１１によって実行される各種のプログラムを記憶している。
【００１６】
（ファイルサーバ装置２０）
次に、ファイルサーバ装置２０の構成について説明する。図４は、ファイルサーバ装置２０の構成を示す図である。同図に示すように、ファイルサーバ装置２０は、ＣＰＵ２１と、メモリ２２と、通信部２３と、記憶部２４とを備えている。ＣＰＵ２１は、メモリ２２又は記憶部２４に記憶されている各種のプログラムを実行することによって、ファイルサーバ装置２０の各部を制御する。通信部２３は、ネットワークを介して接続された並列計算装置１０とデータの送受信を行うための通信インタフェースである。記憶部２４は、例えばハードディスクであり、ＣＰＵ２１によって実行される各種のプログラムを記憶している。また、この記憶部２４には、並列計算装置１０の各計算装置１４０の算出処理によって得られた数値データが記憶されるようになっている。
【００１７】
（可視化装置３０）
次に、可視化装置３０の構成について説明する。図５は、可視化装置３０の構成を示す図である。同図に示すように、可視化装置３０は、ＣＰＵ３１と、メモリ３２と、通信部３３と、記憶部３４とを備えている。ＣＰＵ３１は、メモリ３２又は記憶部３４に記憶されている各種のプログラムを実行することによって、可視化装置３０の各部を制御する。また、このＣＰＵ３１は、ファイルサーバ装置２０から取得した数値データが表す状態を画像として表示させるための画像データを生成する生成手段として機能する。通信部３３は、ネットワークを介して接続されたファイルサーバ装置２０と通信を行うための通信インタフェースである。記憶部３４は、例えばハードディスクであり、ＣＰＵ３１によって実行される各種のプログラムを記憶している。
【００１８】
（端末装置４０）
次に、端末装置４０の構成について説明する。図６は、端末装置４０の構成を示す図である。同図に示すように、端末装置４０は、ＣＰＵ４１と、メモリ４２と、通信部４３と、記憶部４４と、操作部４５と、表示部４６とを備えている。ＣＰＵ４１は、メモリ４２又は記憶部４４に記憶されている各種のプログラムを実行することによって、端末装置４０の各部を制御する。また、このＣＰＵ４１は、可視化装置３０から取得した画像データを表示部４６に表示させる。通信部４３は、ネットワークを介して接続された可視化装置３０と通信を行うための通信インタフェースである。記憶部４４は、例えばハードディスクであり、ＣＰＵ４１によって実行される各種のプログラムを記憶している。操作部４５は、例えばキーボードとマウスとを備え、利用者の操作に応じたデータをＣＰＵ４１に供給する。表示部４６は、例えば液晶パネルを備え、ＣＰＵ４１によって指示された画像データを表示する。
【００１９】
［動作］
次に、可視化システム１の動作について説明する。以下の説明では、まず検証対象となる現象の内容について説明してから、可視化システム１がその現象を検証する際の処理について説明する。
図７は、検証対象となる現象を説明する図である。ここでは、検証対象として、電子写真方式の画像形成装置の現像プロセスにおけるトナー粒子Ｔ及びキャリア粒子Ｃの挙動を採り上げる。この現像プロセスにおいては、トナー粒子Ｔとキャリア粒子Ｃという２種類の粒子からなる現像剤Ｄが、図中のＡ方向に回転する現像ロールＭによって、感光体Ｅと対向する現像位置に搬送される。この現像ロールＭ内には、マグネットロールが設けられており、このマグネットロールの磁力によって、キャリア粒子Ｃが現像ロールＭ表面に吸着される。トナー粒子Ｔは、この現像ロールＭ表面のキャリア粒子Ｃに付着した状態で現像位置に搬送され、図中のＢ方向に回転する感光体Ｅ表面に形成された静電潜像の電位と現像電位との電位差によって感光体Ｅ側に転移する。これにより、感光体Ｅ表面に形成された静電潜像が現像される。このような現像プロセスを経て形成される画像の画質は、感光体Ｅ表面に転移するトナー粒子Ｔの挙動に大きく影響を受ける。そのため、検証者は、現像プロセスにおけるトナー粒子Ｔ及びキャリア粒子Ｃの挙動を検証することにより、画像形成装置あるいは現像部の開発の効率化を図ることができるのである。
【００２０】
次に、図８を参照して、可視化システム１を構成する各装置の処理について説明する。まず、並列計算装置１０が、画像形成装置の現像プロセスにおける粒子の挙動を表す数値データ、すなわち時々刻々と変化する粒子の位置を表す位置情報を算出する処理について説明する。この処理は、各々の粒子の相互作用力を求め、その相互作用力に基づいて粒子の位置を表す位置情報を並行して算出するための力分割並列化法に基づいたプログラムに従って行われる。
【００２１】
検証者によって計算装置１４０ａの操作部１２０が操作されて、トナー粒子Ｔ及びキャリア粒子Ｃからなる現状粒子の位置を表す位置情報の算出が指示されると、並列計算装置１０は、各々の計算装置１４０のＣＰＵ１１が力分割並列化法に基づいたプログラムを実行することにより、粒子の位置を表す位置情報を粒子の種類別に並行して算出する（スタップＳ１１０）。
【００２２】
ここで、図９及び図１０を参照して、力分割並列化法に従って各々の粒子の相互作用力を求め、その相互作用力に基づいて粒子の位置を表す位置情報を並行して算出する処理について詳細に説明する。まず、検証者によって、計算装置１４０ａに接続されている操作部１２０が操作されて、粒子の位置を表す位置情報を並行して算出する指示がなされると、計算装置１４０ａのＣＰＵ１１は、並列計算装置１０を構成する計算装置１４０の全ＣＰＵ数を特定する（図９のステップＳ１１）。この例では、並列計算装置１０には、１６台の計算装置１４０ａ〜１４０ｐが設けられており、各計算装置１４０がそれぞれ１個のＣＰＵ１１を有しているため、「１６」というＣＰＵ数が特定される。
【００２３】
続いて、計算装置１４０ａのＣＰＵ１１は、粒子の位置を表す位置情報の算出に必要な計算データ及び計算条件を読み込む（ステップＳ１２）。この計算データには、トナー粒子Ｔ及びキャリア粒子Ｃの初期位置を表す位置座標、トナー粒子Ｔ及びキャリア粒子Ｃの物性情報、例えばトナー粒子Ｔ及びキャリア粒子Ｃの大きさ、トナー粒子Ｔの静電力、キャリア粒子Ｃの磁力などが含まれる。また、計算条件には、トナー粒子Ｔ及びキャリア粒子Ｃの数、時間の設定などが含まれる。この計算データ及び計算条件は、例えばファイルサーバ装置２０の記憶部２４に記憶されていて、計算装置１４０ａのＣＰＵ１１によってファイルサーバ装置２０の記憶部２４から読み込まれてもよいし、検証者が計算装置１４０ａの操作部１２０を操作することによって入力したものを読み込んでもよい。
【００２４】
続いて、計算装置１４０ａのＣＰＵ１１は、ステップＳ１１にて特定した各々のＣＰＵ１１に対して、そのＣＰＵ１１による位置情報の算出対象となる粒子（以下、「主担当の粒子」という）を割り当てるとともに、そのＣＰＵ１１による相互作用力の算出対象となる粒子を割り当てる（ステップＳ１３）。なお、後者の“相互作用力の算出対象となる粒子”の中には、前者の“主担当の粒子”が必ず含まれているものとする。
具体的に説明すると、計算装置１４０ａのＣＰＵ１１は、まず、ステップＳ１２において計算条件として読み込まれたトナー粒子Ｔの数とキャリア粒子Ｃの数との合計値を、ステップＳ１１において特定したＣＰＵ数で除算することにより、各々の計算装置１４０のＣＰＵ１１に割り当てる主担当の粒子の数を求める。例えば、ステップＳ１２において、キャリア粒子Ｃの数が１６個、トナー粒子Ｔの数が１６個という計算条件が読み込まれた場合には、トナー粒子Ｔの数とキャリア粒子Ｃの数の合計値である３２をステップＳ１１において特定したＣＰＵ１１の数である１６で除算した数、すなわち３２÷１６＝２個が、各々の計算装置１４０のＣＰＵ１１に割り当てられる主担当の粒子の数として求められる。なお、実際の検証では、数千から数万個の粒子の数が計算条件として読み込まれることになるが、ここでは説明の便宜上、粒子の数が極めて小さい値に設定されたものとして説明する。
【００２５】
そして、計算装置１４０ａのＣＰＵ１１は、上述のようにして求めた主担当の粒子の数に基づいて、主担当の粒子を含む相互作用力を算出する粒子を決定し、その相互作用力を算出するのに必要な計算データを送信する。図１１は、力分割並列化法の規則を表す力マトリックスを示す図である。図中の「ノード番号」は、各々の計算装置１４０を識別するための識別子であり、「ノード０」〜「ノード１５」が、計算装置１４０ａ〜計算装置１４０ｐを表している。「粒子番号」は、各々の粒子を識別するための識別子である。この例では、「０番」〜「１５番」の粒子がキャリア粒子Ｃであり、「１６番」〜「３１番」の粒子がトナー粒子Ｔである。各々の「ノード番号」には、主担当の粒子の「粒子番号」が対応付けられている。
【００２６】
図の例では、「ノード０」という計算装置１４０ａには、「０番」と「１番」のキャリア粒子Ｃが主担当の粒子として割り当てられる。また、この「ノード０」という計算装置１４０ａは、この主担当の粒子を含む「０番」〜「７番」のキャリア粒子Ｃが相互作用力を算出する粒子として割り当てられる。「ノード１」〜「ノード７」という計算装置１４０についても、同様にして主担当のキャリア粒子Ｃと、相互作用力を算出するキャリア粒子Ｃとが割り当てられる。また、「ノード８」という計算装置１４０ｉには、「１６番」と「１７番」のトナー粒子Ｔが主担当の粒子として割り当てられ、この主担当の粒子を含む「１６番」〜「２３番」のトナー粒子Ｔが相互作用力を算出する粒子として割り当てられる。「ノード９」〜「ノード１５」という計算装置１４０についても、同様にして主担当のトナー粒子Ｔと、相互作用力を算出するトナー粒子Ｔとが割り当てられる。
【００２７】
図９のステップＳ１３において、各々の計算装置１４０のＣＰＵ１１に粒子が割り当てられると、各ＣＰＵ１１は、まず、現像ロールＭが初期位置にいる場合の時刻ｔ＝０に時刻を設定する（図１０のステップＳ１４）。続いて、各々の計算装置１４０のＣＰＵ１１は、ステップＳ１３にて自身に割り当てられた粒子の相互作用力を算出する（ステップＳ１５）。図１１を参照して具体的に説明すると、例えば、「ノード６」という計算装置１４０ｇのＣＰＵ１１は、ステップＳ１３において割り当てられた粒子、すなわち図の縦軸で表された「８番」〜「１５番」のキャリア粒子Ｃと、図の横軸で表された「４番」，「５番」，「１２番」，「１３番」，「２０番」，「２１番」，「２８番」，「２９番」の粒子との相互作用力を算出する。同様にして、「ノード４」という計算装置１４０ｅ、「ノード５」という計算装置１４０ｆ、及び「ノード７」という計算装置１４０ｈのＣＰＵ１１は、図の縦軸で表された「８番」〜「１５番」のキャリア粒子Ｃと、図の横軸で表された粒子との相互作用力を算出する。これにより、「８番」〜「１５番」のキャリア粒子Ｃに対する「０番」〜「３１番」の粒子による相互作用力を、「ノード４」〜「ノード７」という４台の計算装置１４０が分担して算出することができる。他の粒子の相互作用力についても同様にして、力マトリックスにおいて横方向で表された４台の計算装置１４０によって分担して算出される。
【００２８】
続いて、各々の計算装置１４０のＣＰＵ１１は、力マトリックスの横方向で表された計算装置１４０と通信部１３を用いて通信を行って、主担当の粒子の相互作用力の総和値を算出する（図１０のステップＳ１６）。例えば、図１１に示した「ノード６」という計算装置１４０ｇのＣＰＵ１１は、「ノード４」という計算装置１４０ｅ、「ノード５」という計算装置１４０ｆ及び「ノード７」という計算装置１４０ｈと通信を行って、ステップＳ１５において算出した相互作用力の値をやり取りし、主担当の粒子である「１２番」と「１３番」のキャリア粒子Ｃの相互作用力の総和値を算出する。他の計算装置１４０のＣＰＵ１１も、同様にして、力マトリックスの横方向で表された計算装置１４０と通信を行って、ステップＳ１５において算出した相互作用力の値をやり取りし、主担当の粒子の相互作用力の総和値を算出する。
【００２９】
続いて、各々の計算装置１４０のＣＰＵ１１は、ステップＳ１６にて算出された相互作用力の総和値を用いて運動方程式を解き、主担当の粒子の位置情報を算出する（図１０のステップＳ１７）。これにより、例えば、図１１に示した「ノード６」という計算装置１４０ｇのＣＰＵ１１は、「１２番」と「１３番」のキャリア粒子Ｃの位置座標を算出する。他の計算装置１４０のＣＰＵ１１も、同様にして、主担当の粒子の位置座標を算出する。これにより、「０番」〜「７番」のキャリア粒子Ｃの位置座標を、「ノード１」〜「ノード７」の８台の計算装置１４０が分担して算出することができ、「８番」〜「１５番」のトナー粒子Ｔの位置座標を、「ノード８」〜「ノード１５」の８台の計算装置１４０が分担して算出することができる。すなわち、現像ロールＭが初期位置にいる場合の時刻ｔ＝０における粒子の位置を表す位置情報が、粒子の種類別に並行して算出される。
【００３０】
続いて、各々の計算装置１４０のＣＰＵ１１は、ステップＳ１７にて算出した主担当の粒子の位置情報を、力マトリックスの縦方向で表された所定の計算装置１４０に通信部１３を用いて通知する（ステップＳ１８）。例えば、図１１に示した「ノード６」という計算装置１４０ｇのＣＰＵ１１は、「１２番」と「１３番」のキャリア粒子Ｃの位置座標を「ノード２」の計算装置１４０ｂ、「ノード１０」の計算装置１４０ｋ及び「ノード１４」の計算装置１４０ｏに通知する。他の計算装置１４０のＣＰＵ１１も、同様にして、主担当の粒子の位置座標を力マトリックスにおいて縦方向で表された計算装置１４０に通知する。これにより、次の時刻における相互作用力の算出を行う際に、このようにして他の計算装置１４０から通知された粒子の位置情報に基づいて、相互作用力の算出を行うことができる。
【００３１】
続いて、各々の計算装置１４０のＣＰＵ１１は、ステップＳ１４にて設定された時刻ｔが、ステップＳ１２にて読み込まれた計算条件において設定された終了時刻ＥＴに至っているか否かを判断する（ステップＳ１９）。例えば、時刻ｔ＝が終了時刻ＥＴに至っていなければ（ステップＳ１９：ＮＯ）、ＣＰＵ１１は、時刻ｔに１を加算した時刻、すなわち時刻ｔ＝ｔ＋１に時刻を設定し（ステップＳ２０）、設定した時刻ｔで再びステップＳ１５以降の処理を行う。例えば、時刻ｔ＝ｔ＋１を現像ロールＭが９０度回転したときの時刻とすると、今度は現像ロールＭが初期位置から９０度回転されたときの粒子の位置情報が算出されることになる。一方、時刻ｔ＝終了時刻ＥＴであれば（ステップＳ１９：ＹＥＳ）、ＣＰＵ１１はこの処理を終了する。例えば、終了時刻ＥＴとして、現像ロールＭが１回転するだけの時刻が設定されている場合には、現像ロールＭが１回転する間の各々の時刻における粒子の位置を表す位置情報が、１６台の計算装置１４０によって分担して算出されたところで、処理が終了される。
【００３２】
このようにして、時刻ｔから終了時刻ＥＴまでの各々の時刻における粒子の位置情報を算出すると、各々の計算装置１４０のＣＰＵ１１は、算出した位置情報を通信部１３を用いてファイルサーバ装置２０に送信する（図８のステップＳ１２０）。この例では、「ノード０」〜「ノード７」の計算装置１４０からは、時刻ｔから終了時刻ＥＴにおけるキャリア粒子Ｃの位置を表す位置情報が送信され、「ノード８」〜「ノード１５」の計算装置１４０からは、時刻ｔから終了時刻ＥＴにおけるトナー粒子Ｔの位置を表す位置情報が送信される。
【００３３】
ファイルサーバ装置２０のＣＰＵ２１は、並列計算装置１０の各々の計算装置１４０から位置情報が送信されてくると、その位置情報を通信部２３を用いて受信し、記憶部２４に記憶させる（ステップＳ１３０）。図１２は、ファイルサーバ装置２０の記憶部２４に記憶された位置情報を示す図である。図中の「Ｆｉｌｅ０」〜「Ｆｉｌｅ１５」はそれぞれ、「ノード０」〜「ノード１５」の計算装置１４０によって送信された位置情報を表している。すなわち、ファイルサーバ装置２０の記憶部２４には、キャリア粒子Ｃの位置を表す「Ｆｉｌｅ０」〜「Ｆｉｌｅ７」という位置情報、及び、トナー粒子Ｔの位置を表す「Ｆｉｌｅ８」〜「Ｆｉｌｅ１５」という位置情報が記憶される。例えば、「Ｆｉｌｅ０」という位置情報においては、「ｔ＝０」という時刻情報と、「０番」という粒子番号と、「（ｘ１，ｙ１）」という位置座標とが対応付けられ、「ｔ＝０」という時刻情報と、「１番」という粒子番号と、「（ｘ２，ｙ２）」という位置座標とが対応付けられている。これは、時刻ｔ＝０において、「０番」のキャリア粒子Ｃの位置座標が「（ｘ１，ｙ１）」であり、「１番」のキャリア粒子Ｃの位置座標が「（ｘ２，ｙ２）」であることを表している。
【００３４】
次に、可視化装置３０が、ファイルサーバ装置２０に記憶されている位置情報を取得し、その位置情報が表す位置において、その位置情報に対応する粒子を画像として表示させるための画像データを生成する処理について説明する。
ファイルサーバ装置２０の記憶部２４に位置情報が記憶されると、可視化装置３０ｑのＣＰＵ３１は、通信部３３を用いてファイルサーバ装置２０にアクセスして、キャリア粒子Ｃの位置を表す「Ｆｉｌｅ０」〜「Ｆｉｌｅ７」という位置情報を読み出し、それと並行して、可視化装置３０ｒのＣＰＵ３１は、通信部３３を用いてファイルサーバ装置２０にアクセスして、トナー粒子Ｔの位置を表す「Ｆｉｌｅ８」〜「Ｆｉｌｅ１５」という位置情報を読み出す（ステップＳ１４０）。これにより、並列計算装置１０の各計算装置１４０によって算出された位置情報が、可視化装置３０によって取得される。
【００３５】
続いて、可視化装置３０ｑのＣＰＵ３１は、読み出した位置情報に基づいて、時刻ｔから終了時刻ＥＴにおけるキャリア粒子Ｃの位置の移動を画像として表示するための画像データを生成し、それと並行して、可視化装置３０ｒのＣＰＵ３１は、読み出した位置情報に基づいて、時刻ｔから終了時刻ＥＴにおけるトナー粒子Ｔの位置の移動を画像として表示するための画像データを生成する（ステップＳ１５０）。すなわち、可視化装置３０のＣＰＵ３１は、読み出した位置情報が表す位置において、その位置情報に対応する粒子を画像として表示するための画像データを並行して生成する。この画像データは、時刻ｔから終了時刻ＥＴまでの粒子の位置の移動をアニメーションとして表示するための画像データであってもよいし、時刻ｔから終了時刻ＥＴまでの各々の時刻における粒子の位置を静止画像として表示するための画像データであってもよい。そして、可視化装置３０ｑ，３０ｒのＣＰＵ３１はそれぞれ、生成した画像データを記憶部３４に記憶させる（ステップＳ１６０）。これにより、可視化装置３０ｑの記憶部３４には、キャリア粒子Ｃの位置を表す画像データが記憶され、可視化装置３０ｒの記憶部３４には、トナー粒子Ｔの位置を表す画像データが記憶される。
【００３６】
次に、端末装置４０が、可視化装置３０によって生成された画像データを取得し、表示する処理について説明する。
検証者によって端末装置４０の操作部４５が操作されて、例えばキャリア粒子Ｃの位置を表す画像データの表示が指示されると、端末装置４０のＣＰＵ４１は、通信部４３を用いて、キャリア粒子Ｃの位置を表す画像データが記憶されている可視化装置３０ｑから画像データを取得する（ステップＳ１７０）。そして、端末装置４０のＣＰＵ４１は、取得した画像データ、すなわちキャリア粒子Ｃの位置を表す画像データを表示部４６に表示させる（ステップＳ１８０）。これにより、端末装置４０の表示部４６には、時刻ｔから終了時刻ＥＴにおけるキャリア粒子Ｃの挙動を表す画像が表示される。図１３は、このときに表示部４６に表示される画像のうち、時刻ｔ＝２におけるキャリア粒子Ｃの位置を表す画像を示す図である。同図に示すように、この画像には、時刻ｔ＝２におけるキャリア粒子Ｃの位置を表す画像のみが描画されており、トナー粒子Ｔの位置を表す画像は描画されていない。検証者はこの画面を閲覧することで、キャリア粒子Ｃの挙動のみを、視覚的に分かりやすく把握することが可能となる。
【００３７】
また、検証者によって端末装置４０の操作部４５が操作されて、例えばトナー粒子Ｔの位置を表す画像データの表示が指示されると、端末装置４０のＣＰＵ４１は、通信部４３を用いて、トナー粒子Ｔの位置を表す画像データが記憶されている可視化装置３０ｒから画像データを取得する（ステップＳ１９０）。続いて、端末装置４０のＣＰＵ４１は、取得した画像データ、すなわちトナー粒子Ｔの位置を表す画像データを表示部４６に表示させる（ステップＳ２００）。これにより、端末装置４０の表示部４６には、時刻ｔから終了時刻ＥＴにおけるトナー粒子Ｔの位置を表す画像が表示される。図１４は、このときに表示部４６に表示される画像のうち、時刻ｔ＝２におけるトナー粒子Ｔの位置を表す画像を示す図である。同図に示すように、この画像には、時刻ｔ＝２におけるトナー粒子Ｔの位置を表す画像のみが描画されており、キャリア粒子Ｃの位置を表す画像は描画されていない。検証者はこの画面を閲覧することで、トナー粒子Ｔの挙動のみを、視覚的に分かりやすく把握することが可能となる。
【００３８】
以上説明した実施形態においては、複数の可視化装置３０が、粒子の位置情報が表す位置において、その位置情報に対応する粒子を画像として表示するための画像データを粒子の種類別に並行して生成しているため、１台の可視化装置３０が、全ての粒子の位置情報に応じた画像データを生成する場合と比べて、粒子の位置情報を高速に可視化することができる。また、各々の可視化装置３０が扱うデータの量が少なくなるので、各可視化装置３０に備えるべきメモリ３２の容量が少なくて済む。さらに、複数の可視化装置３０が設けられていることにより、ファイルサーバ装置２０から一度に読み出されるデータの量が少なくなり、ネットワークのトラフィックを低減させることができる。
また、上述した実施形態においては、複数のＣＰＵ１１を有する並列計算装置１０に対して、担当の粒子を割り当てた上で力分割並列化法に従って粒子の挙動を表す位置情報を算出しているため、各々の計算装置１４０が、力マトリックスの横方向で表された３台の計算装置１４０と、縦方向で表された３台の計算装置１４０と通信を行うだけで、主担当の粒子の位置情報を算出することができる。これにより、計算装置１４０間の通信時間が短縮されるとともに、計算装置１４０間のネットワークのトラフィックを低減させることができる。
【００３９】
［変形例］
以上が実施形態の説明であるが、この実施形態の内容は以下のように変形し得る。また、以下の各態様を適宜組み合わせてもよい。
（１）上述した実施形態において、可視化システム１が、可視化装置３０ｑにおいて生成された画像データと可視化装置３０ｒにおいて生成された画像データとを合成する可視化装置３０ｓをさらに備えてもよい。この可視化装置３０ｓは、可視化装置３０ｑ，３０ｒにそれぞれ接続されている。そして、例えば、上述したように、可視化装置３０ｑのＣＰＵ３１が、キャリア粒子Ｃの位置を表す画像データを生成し、可視化装置３０ｒのＣＰＵ３１がトナー粒子Ｔの位置を表す画像データを生成する場合、可視化装置３０ｓのＣＰＵ３１は、まず可視化装置３０ｑと可視化装置３０ｒからこれらの画像データを取得する。そして、可視化装置３０ｓのＣＰＵ３１は、取得したキャリア粒子Ｃの位置を表す画像データとトナー粒子Ｔの位置を表す画像データとを合成して、記憶部３４に記憶させる。検証者によって端末装置４０の操作部４５が操作されて、トナー粒子Ｔ及びキャリア粒子Ｃの位置を表す画像データの表示が指示されると、端末装置４０のＣＰＵ４１は、可視化装置３０ｓから合成された画像データを取得し、取得した画像データを表示部４６に表示させる。図１５は、この合成された画像データに基づいて、表示部４６に表示される画像を示す図である。同図に示すように、この画像には、トナー粒子Ｔの位置を表す画像とキャリア粒子Ｃの位置を表す画像とが重ね合わされて描画されている。検証者はこの画面を閲覧することで、キャリア粒子Ｃの挙動とともにトナー粒子Ｔの挙動をも把握することが可能となる。
また、端末装置４０が、可視化装置３０ｑにおいて生成された画像データと可視化装置３０ｒにおいて生成された画像データとを合成する処理を行なってもよい。その場合、端末装置４０のＣＰＵ４１は、上述した実施形態と同様にして、可視化装置３０ｑと可視化装置３０ｒから画像データを取得し、取得した画像データを合成する。この構成であっても、端末装置４０の表示部４６には、図１５に示したような画像が表示される。
【００４０】
（２）上述した実施形態において、並列計算装置１０は、力分割並列化法に従って、トナー粒子Ｔとキャリア粒子Ｃからなる粒子の挙動を表す位置情報を粒子の種類別に並行して算出していた。これに対し、並列計算装置１０は、図１６に示すように、画像形成装置の現像プロセスにおける粒子の挙動を表す位置情報を、その現象が発生する領域を分割した分割領域別に並行して算出してもよい。例えば、並列計算装置１０の計算装置１４０ａのＣＰＵ１１が図中の「領域Ａ」という分割領域における粒子の挙動を表す位置情報を算出し、それと並行して、計算装置１４０ｂのＣＰＵ１１が図中の「領域Ｂ」という分割領域における粒子の挙動を表す位置情報を算出し、計算装置１４０ｃのＣＰＵ１１が図中の「領域Ｃ」という分割領域における粒子の挙動を表す位置情報を算出する。この場合には、例えば３台の可視化装置３０が設けられ、各々の計算装置１４０によって算出された位置情報は、それぞれ異なる可視化装置３０によって取得される。各々の可視化装置３０のＣＰＵ３１は、取得した位置情報が表す粒子の位置を画像として表示するための画像データを並行して生成し、端末装置４０のＣＰＵ４１は、いずれかの可視化装置３０にアクセスして、その可視化装置３０から取得した画像データを表示部４６に表示させる。これにより、端末装置４０の表示部４６に、図に示す「領域Ａ」〜「領域Ｃ」のいずれかの分割領域における粒子の挙動を表す画像が表示される。例えば、「領域Ｂ」という分割領域が、現像ロールＭと感光体Ｅとが対向する現像位置に相当する領域であれば、検証者は、この「領域Ｂ」という分割領域における粒子の挙動を表す画像のみを確認するだけで、製品の開発に有用な検証を行うことができる。
【００４１】
（３）上述した実施形態において、可視化装置３０のＣＰＵ３１は、ファイルサーバ装置２０から読み出した位置情報が表す個々の粒子の位置を画像として表示するための画像データを生成していた。すなわち、可視化装置３０のＣＰＵ３１は、粒子の１つひとつを表す画像データを生成していた。これに対し、可視化装置３０のＣＰＵ３１は、画像データの情報量を減らすために、複数の粒子をまとめて表す画像データを生成してもよい。図１７は、このようにして生成された画像データを示す図である。この画像データは、上述したようにして、トナー粒子Ｔの位置を表す画像データとキャリア粒子Ｃの位置を表す画像データとが合成されて得られた画像データに対して、複数のトナー粒子Ｔの分布を色の濃淡で表したものである。この図では、トナー粒子Ｔの数が１〜１０個である領域を薄い色のモザイク状のオブジェクト画像（図中の「Ｌ」）で表し、トナー粒子Ｔの数が１１〜５０個である領域をやや濃い色のモザイク状のオブジェクト画像（図中の「Ｍ」）で表し、トナー粒子Ｔの数が５１〜１００個である領域を濃い色のモザイク状のオブジェクト画像（図中の「Ｈ」）で表している。トナー粒子Ｔの数はキャリア粒子Ｃよりも数の多いため、このようにしてトナー粒子Ｔの位置を表す画像データの情報量を減らすことにより、粒子の位置情報をより高速に可視化することができる。
また、可視化装置３０のＣＰＵ３１は、例えば、１０個や１００個などの複数のトナー粒子Ｔを１つの画像として表示するための画像データを生成することによって、画像データの情報量を減らしてもよい。
また、可視化装置３０のＣＰＵ３１は、トナー粒子Ｔとキャリア粒子Ｃの両方について、複数の粒子をまとめて表示させるための画像データを生成してもよい。
【００４２】
（４）上述した実施形態において、各々の計算装置１４０のＣＰＵ１１は、時刻ｔから終了時刻ＥＴまでの各々の時刻における粒子の位置情報を算出した後に、算出した位置情報をファイルサーバ装置２０に送信していた。これに対し、各々の計算装置１４０のＣＰＵ１１は、ステップＳ１７においてある時刻ｔにおける粒子の位置情報を算出する毎に、算出した位置情報をファイルサーバ装置２０に送信してもよい。この場合、ファイルサーバ装置２０の記憶部２４には、計算装置１４０によって新たな時刻ｔにおける位置情報が算出される度に、その時刻ｔにおける位置情報が記憶されることになる。可視化装置３０のＣＰＵ３１は、ファイルサーバ装置２０の記憶部２４に位置情報が記憶される度に、その位置情報を画像として表示するための画像データを生成する。すなわち、並列計算装置１０によって、時刻ｔ＝１における位置情報が算出されると、可視化装置３０のＣＰＵ３１は、時刻ｔ＝１における位置情報を画像として表示するための画像データのみを生成する。端末装置４０のＣＰＵ４１は、可視化装置３０にアクセスして、時刻ｔ＝１における粒子の位置を表す画像データを取得し、表示部４６に表示させる。これにより、検証者は、時刻ｔから終了時刻ＥＴまでの全ての処理が完了していなくても、処理が完了した時刻ｔの粒子の位置を検証することができる。
【００４３】
（５）上述した実施形態において、可視化システム１には、ファイルサーバ装置２０が設けられていたが、このファイルサーバ装置２０は設けなくてもよい。この場合、並列計算装置１０には、ネットワークを介して可視化装置３０が接続され、各々の計算装置１４０のＣＰＵ１１は、算出した位置情報を可視化装置３０に送信する。これにより、可視化システム１を構成する装置の数を減らすことができる。
【００４４】
（６）上述した実施形態において、可視化装置３０は、並列計算装置１０とは別体の装置として設けられていたが、並列計算装置１０の一部の計算装置１４０が可視化装置３０として機能する構成であってもよい。この場合、各々の計算装置１４０のＣＰＵ１１は、算出した位置情報を、可視化装置として機能する計算装置１４０に送信する。そして、並列計算装置１０には、ネットワークを介して端末装置４０が接続され、端末装置４０のＣＰＵ４１は、並列計算装置１０の可視化装置として機能する計算装置１４０にアクセスして、生成された画像データを取得する。これにより、可視化システム１を構成する装置の数を減らすことができる。
【００４５】
（７）上述した実施形態において、可視化装置３０は２台設けられていたが、この可視化装置３０の台数は、検証者が検証する現象を構成する対象要素の数以下の台数であって、複数台設けられていればよい。例えば、検証者が検証する現象を構成する対象要素の数が１０である場合には、可視化装置３０が５台設けられ、各々の可視化装置３０が２つの対象要素について、その状態を表す画像データを生成してもよい。この構成であっても、上述した実施形態と同様の効果が得られる。
【００４６】
（８）上述した実施形態において、並列計算装置１０は、いわゆるクラスタ装置であり、ＣＰＵ１１とメモリ１２とを有する複数の計算装置１４０によって並列処理を行っていた。これに対し、並列計算装置１０は、複数の計算装置１４０に代えて、メモリ１２を共有する複数のＣＰＵ１１を備えるマルチプロセッサであってもよい。
また、上述した実施形態では、複数台の可視化装置３０が設けられていたが、これに代えて、複数の計算装置を備える並列計算装置を設け、この並列計算装置を可視化装置として機能させてもよい。また、複数台の可視化装置３０に代えて、メモリ３２を共有する複数のＣＰＵ３１を備えるマルチプロセッサの可視化装置３０を１台だけ設けてもよい。この構成であっても、上述した実施形態と同様の効果が得られる。
【００４７】
（９）上述した実施形態において、端末装置４０のＣＰＵ４１は、キャリア粒子Ｃの位置を表す画像データと、トナー粒子Ｔの位置を表す画像データとを、別々に表示させていた。これに対し、端末装置４０のＣＰＵ４１は、キャリア粒子Ｃの位置を表す画像データとトナー粒子Ｔの位置を表す画像データとを取得し、これらの画像データを並べて表示してもよい。これにより、画像データの合成処理を行うことなく、トナー粒子Ｔの位置を表す画像とキャリア粒子Ｃの位置を表す画像とを同時に検証することができる。
【００４８】
（１０）上述した実施形態において、図１１に示した力マトリックスは、１６個のトナー粒子Ｔと、１６個のキャリア粒子Ｃとの相互作用力を算出するためのものであったが、１６個のトナー粒子Ｔの相互作用力を算出するための力マトリックスと、１６個のキャリア粒子Ｃの相互作用力を算出するための力マトリックスとがそれぞれ設けられていてもよい。この場合、トナー粒子Ｔの相互作用力を算出するための力マトリックスに従って処理を行う計算装置１４０は、トナー粒子Ｔの静電相互作用力のみを算出し、キャリア粒子Ｃの相互作用力を算出するための力マトリックスに従って処理を行う計算装置１４０は、キャリア粒子Ｃの磁気相互作用力のみを算出することになる。静電力と磁気力とは互いに影響を及ぼさないため、このような方法であっても、上述した実施形態と同様の効果を得ることができる。
【００４９】
（１１）上述した実施形態において、並列計算装置１０は、画像形成装置の現像プロセスにおけるトナー粒子Ｔ及びキャリア粒子Ｃの挙動を表す位置情報を並行して算出する処理を行っていたが、並列計算装置１０は、検証者が検証する現象に応じた処理を行う。例えば、検証者が、複数の種類の原子の挙動を検証する場合、並列計算装置１０は、その原子の挙動を表す位置情報を原子の種類別に並行して算出することになる。要するに、並列計算装置１０は、ある現象を構成する各々の対象要素の状態を表す数値データを、その対象要素別に並行して算出すればよい。また、並列計算装置１０が計算対象として扱う粒子は、トナー粒子Ｔやキャリア粒子Ｃなどの現像粒子に限らず、他の種類の粒子であってもよい。
【図面の簡単な説明】
【００５０】
【図１】可視化システム１の構成を示す図である。
【図２】並列計算装置１０の構成を示す図である。
【図３】各々の計算装置１４０の構成を示す図である。
【図４】ファイルサーバ装置２０の構成を示す図である。
【図５】可視化装置３０の構成を示す図である。
【図６】端末装置４０の構成を示す図である。
【図７】検証対象となる現象を説明する図である。
【図８】可視化システム１の動作を示すシーケンス図である。
【図９】力分割並列化法に従った粒子の位置情報の算出処理を示すフロー図である。
【図１０】力分割並列化法に従った粒子の位置情報の算出処理を示すフロー図である。
【図１１】力マトリックスを示す図である。
【図１２】ファイルサーバ装置２０の記憶部２４に記憶された位置情報を示す図である。
【図１３】キャリア粒子Ｃの位置を表す画像を示す図である。
【図１４】トナー粒子Ｔの位置を表す画像を示す図である。
【図１５】合成された画像データに基づいて表示される画像を示す図である。
【図１６】粒子の位置情報を分割領域別に算出する処理を説明する図である。
【図１７】複数の粒子をまとめて表す画像データの一例を示す図である。
【符号の説明】
【００５１】
１…可視化システム、１０…並列計算装置、１１０…ネットワークスイッチ、１２０…操作部、１３０…表示部、１４０…計算装置、１１…ＣＰＵ、１２…メモリ、１３…通信部、１４…記憶部、２０…ファイルサーバ装置、２１…ＣＰＵ、２２…メモリ、２３…通信部、２４…記憶部、３０…可視化装置、３１…ＣＰＵ、３２…メモリ、３３…通信部、３４…記憶部、４０…端末装置、４１…ＣＰＵ、４２…メモリ、４３…通信部、４４…記憶部、４５…操作部、４６…表示部。 
【図１】
2009070332.tif 000003
【図２】
2009070332.tif 000004
【図３】
2009070332.tif 000005
【図４】
2009070332.tif 000006
【図５】
2009070332.tif 000007
【図６】
2009070332.tif 000008
【図７】
2009070332.tif 000009
【図８】
2009070332.tif 000010
【図９】
2009070332.tif 000011
【図１０】
2009070332.tif 000012
【図１１】
2009070332.tif 000013
【図１２】
2009070332.tif 000014
【図１３】
2009070332.tif 000015
【図１４】
2009070332.tif 000016
【図１５】
2009070332.tif 000017
【図１６】
2009070332.tif 000018
【図１７】
2009070332.tif 000019