粒子挙動解析装置、情報処理装置、プログラム
【課題】粒子挙動解析装置において処理結果出力処理をより効率的に行なう。
【解決手段】数値演算処理部234は、解析対象範囲内の粒子に関して予め決められた分割法に従って分割された分割部分について、他の装置との間で情報通信を行ないつつ、粒子に作用する他の物質との間での相互作用力を考慮して粒子の挙動を計算する。優先度設定部242は、粒子種、粒子特性の分布、粒子を構成する原子種などに基づき、解析結果の出力処理の可否と対応する優先度を粒子に設定する。分割処理部250は、解析対象範囲内の粒子を予め決められた分割法に従って分割し、各分割部分を各数値演算処理部234に割り当てる。出力データ処理部236や行方向処理結果出力処理部260は、設定された優先度に基づいて数値演算処理部234により得られた解析結果の出力可否を切り替える。必要なデータのみを出力することで、効率的なファイル出力処理を実現する。
【解決手段】数値演算処理部234は、解析対象範囲内の粒子に関して予め決められた分割法に従って分割された分割部分について、他の装置との間で情報通信を行ないつつ、粒子に作用する他の物質との間での相互作用力を考慮して粒子の挙動を計算する。優先度設定部242は、粒子種、粒子特性の分布、粒子を構成する原子種などに基づき、解析結果の出力処理の可否と対応する優先度を粒子に設定する。分割処理部250は、解析対象範囲内の粒子を予め決められた分割法に従って分割し、各分割部分を各数値演算処理部234に割り当てる。出力データ処理部236や行方向処理結果出力処理部260は、設定された優先度に基づいて数値演算処理部234により得られた解析結果の出力可否を切り替える。必要なデータのみを出力することで、効率的なファイル出力処理を実現する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、粒子挙動解析装置および情報処理装置とプログラムに関する。
【背景技術】
【0002】
デジタル処理を行なう情報処理装置において、複数のプロセッサ(計算装置)により並列処理を行なうものが知られている(特許文献1,2を参照)。以下では、このような情報処理装置をマルチプロセッサ装置とも称する。
【0003】
【特許文献1】特開2007−193152公報
【特許文献2】特開2007−265143公報
【0004】
特許文献1では、複数のプロセッサの並列処理により力分割並列アルゴリズムに従って粒子挙動解析処理を行なう仕組みが提案されている。具体的には、ネットワーク接続された複数の計算装置を使用して、複数種類の粒子間相互作用を考慮しつつ、粒子挙動解析を高速に実現できるようにしている。たとえば、各粒子の磁気力、静電気力、接触力の各粒子間相互作用について、それぞれ各別の力マトリクスを用いて、特定プロセッサに分散して計算、特定プロセッサ間で通信し分散して計算した相互作用力の和を求め、各粒子の運動方程式を解いて位置座標を計算する。そして、各粒子の位置座標を特定プロセッサに通信し、計算情報を更新する。このような処理を予め決められた計算ステップに到達するまで、同様に繰り返す。
【0005】
特許文献2では、マルチプロセッサシステムにおいて、複数ファイルの処理を効率的に並列処理する仕組みが提案されている。具体的には、ファイル読み書き時に、ファイル操作を行なうプロセッサを指定し、プロセッサは予め決められた(所定)のデータをファイルに書き込む処理を行なう。つまり、複数ファイルに対して、ファイルごとに読み書き操作を行なうプロセッサを割り当てることを特徴としている。
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は、処理結果情報の出力処理を効率的に行なうことのできる仕組みを提供することを目的とする。
【課題を解決するための手段】
【0007】
請求項1に記載の発明は、解析対象範囲に関して予め決められた分割法に従って分割された分割部分について、他の装置との間で情報通信を行ないつつ、粒子に作用する他の物質との間での相互作用力を考慮して前記粒子の挙動を計算する粒子挙動計算部と、解析結果の出力処理の可否と対応する前記分割部分の優先度に基づいて前記粒子挙動計算部により得られた解析結果の出力可否を切り替える出力処理部と、を備えた粒子挙動解析装置である。
【0008】
請求項2に記載の発明は、請求項1に記載の発明において、解析対象範囲を予め決められた分割法に従って分割し、それぞれの分割部分を各粒子挙動計算部に割り当てる分割処理部と、前記分割部分に解析結果の出力処理と対応する優先度を設定する優先度設定部と、をさらに備えている。
【0009】
請求項3に記載の発明は、請求項2に記載の発明において、前記優先度設定部は、粒子の種類に基づいて優先度を設定する。
【0010】
請求項4に記載の発明は、請求項2に記載の発明において、前記優先度設定部は、粒子特性の分布に基づいて優先度を設定する。
【0011】
請求項5に記載の発明は、請求項4に記載の発明において、前記優先度設定部は、分布の区分数と前記数値演算処理部の数を一対一に対応させ、各分布に優先度を設定する。
【0012】
請求項6に記載の発明は、請求項2に記載の発明において、前記優先度設定部は、粒子を構成する原子の種類に基づいて優先度を設定する。
【0013】
請求項7に記載の発明は、請求項2〜6の内の何れか一項に記載の発明において、前記優先度設定部は、挙動の主体となる方の優先度を高く設定する。
【0014】
請求項8に記載の発明は、請求項2〜6の内の何れか一項に記載の発明において、前記優先度設定部は、挙動の主体とならない方の優先度を高く設定する。
【0015】
請求項9に記載の発明は、請求項2に記載の発明において、前記分割処理部は、粒子を力行列を使用した力分割法により分割し、それぞれの分割部分を各粒子挙動計算部に割り当てるものであり、さらに、前記優先度に基づいて解析結果の出力可否を切り替え、出力対象となるものついて、前記力行列における行方向ごとに、各粒子挙動計算部により得られた解析結果を前記出力処理部を介して集約し纏めて出力する行方向処理結果出力処理部を備える。
【0016】
請求項10に記載の発明は、解析対象範囲に関して予め決められた分割法に従って分割された分割部分について、他の装置との間で情報通信を行ないつつ、粒子に作用する他の物質との間での相互作用力を考慮して前記粒子の挙動を計算する粒子挙動計算部と、解析結果の出力処理の可否と対応する前記分割部分の優先度に基づいて前記粒子挙動計算部により得られた解析結果を出力する出力処理部と、して電子計算機を機能させるプログラムである。
【0017】
請求項11に記載の発明は、入力された計算情報に基づき情報処理計算を行なう計算部と、解析結果の出力処理の可否と対応する優先度に基づいて前記情報処理計算の結果の出力可否を切り替える出力処理部と、を備えた情報処理装置である。
【発明の効果】
【0018】
請求項1,2,10,11に記載の発明によれば、請求項1,10,11に係る発明を適用しない場合と比べて、処理結果情報の出力処理をより効率的に行なうことができる。
【0019】
請求項2に記載の発明によれば、
請求項3に記載の発明によれば、解析対象範囲に複数種類の粒子を含む場合に、粒子の種類に基づいた出力可否の切り替えを行なうことができる。
【0020】
請求項4に記載の発明によれば、粒子特性の分布に基づいた出力可否の切り替えを行なうことができる。
【0021】
請求項5に記載の発明によれば、請求項5に係る発明を適用しない場合と比べて、粒子特性の分布に基づいた出力可否の切り替えをより細かく制御できる。
【0022】
請求項6に記載の発明によれば、粒子を構成する原子の種類に基づいた出力可否の切り替えを行なうことができる。
【0023】
請求項7に記載の発明によれば、挙動の主体となる方に関する処理結果情報の出力処理をより効率的に行なうことができる。
【0024】
請求項8に記載の発明によれば、挙動の主体とならない方に関する処理結果情報の出力処理をより効率的に行なうことができる。
【0025】
請求項9に記載の発明によれば、力行列を構成する何れか1つの粒子挙動計算部が全ての分を纏めて解析結果の出力処理を行なう場合に比べて、解析結果の出力処理効率の低下を防止できる。
【発明を実施するための最良の形態】
【0026】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下においては、情報処理装置が適用される具体例として、粒子挙動解析装置を例に説明する。粒子挙動解析装置の解析対象粒子が存在する装置としては、たとえば、プリンタ装置、ファクシミリ装置、またはそれらの機能を有する複合機などの画像形成装置を例に説明する。
【0027】
解析対象粒子との関係においては、トナー粒子のみまたはキャリア粒子とトナー粒子からなる現像剤を用いる電子写真方式による画像形成装置の現像装置における現像剤挙動解析に着目する。ただしこれは一例であって、解析対象粒子が存在する装置は画像形成装置に限定されない。
【0028】
<画像形成装置の概要>
図1は、印刷装置(プリンタ)や複写装置(コピー機)などの電子写真方式の画像形成装置の一構成例を示す図である。図示のように、画像形成装置1は、感光体10を中心として、その近傍に配された直流電源22、交流バイアス電源24、および帯電部26を具備した帯電装置20と、レーザ光源32やポリゴンミラー34やモータ36を具備した露光装置30と、図示しない攪拌機構を備えた現像装置40と、転写電源52および転写部54を具備した転写装置50と、ブレード機構を持つクリーニング装置60と、用紙搬送路上の後流側の予め決められた位置に配されたロール機構を具備した定着装置70とを備えている。
【0029】
現像装置40には、現像剤粒子102が充填されている。図では、1つの現像剤粒子102を便宜的に1つの丸で示している。実際には、現像剤粒子102はたとえば、それぞれ物性や粒径の異なる磁性体から構成されたキャリア粒子と非磁性のトナー粒子(たとえば各色のトナー粒子)を主成分として含有する2成分方式のものである。キャリア粒子とトナー粒子の対によって、全体として磁性粉体が形成されるようにしている。トナー粒子は、キャリア粒子に静電力により互いに吸着されている。一般的には、キャリア粒子の粒径の方がトナー粒子の粒径よりも大きい。なお、トナー粒子としては、磁性トナーを使用してもよい。現像剤粒子102は、実際にはさらに、キャリア粒子およびトナー粒子の他に外添剤などの他の粒子も含む。
【0030】
現像装置40は、収納容器101内に、表面に現像剤粒子102を担持する担持ロールの一例である現像ロール140(マグロール、マグネットローラ、磁気搬送ローラとも言われる)を、周面が開口部101aから少し突き出すように備える。現像ロール140内には、その内周縁に沿って、予め決められた間隔で予め決められた数のマグネット142が配置されている。
【0031】
また、現像装置40は、現像ロール140の近傍に、高さ規制部材や層形成部材として機能する規制ブレード150を備え、マグネット142による磁力線に沿ってできた現像剤粒子102の磁気ブラシ(穂立ち)の高さを規制するようになっている。
【0032】
現像ロール140は、矢印X方向に回転される感光体10とともに、感光体10と対向する側のその表面の回転移動方向が、感光体10の移動方向Xと同じ向き(矢印Y方向)に回転される。感光体10の移動方向Xと逆向きに回転駆動するようにしてもよい。
【0033】
現像剤粒子102は、攪拌機能を持つ攪拌搬送ロール(図示せず)により攪拌され摩擦帯電されつつ現像ロール140側に搬送される。規制ブレード150によって現像剤粒子102の現像ロール140への吸着量が規制され一定の高さで現像ロール140の周縁に現像剤粒子102が付着する。キャリア粒子は、現像ロール140に内蔵されたマグネット142からの磁場により磁気ブラシを構成する。トナー粒子はキャリア粒子とともに、感光体10に対向する部分まで搬送される。
【0034】
画像形成装置1を複写装置として構成する場合、帯電装置20によって、直流電源22からの直流電圧に交流バイアス電源24からの交流バイアス電圧を重畳させて帯電電位(初期電位)を生成し、この帯電電位で、感光体10の表面を一様な表面電位に帯電させる。
【0035】
この後、原稿を図示しない読取装置によってスキャンして得た画像データに従って感光体10の表面に露光装置30に備えられるレーザ光源32から発せられるレーザ・ビームをモータ36により回転駆動されるポリゴンミラー34でスキャンすることによって、感光体10表面を露光して潜像電位からなる静電潜像を形成する。
【0036】
続いて、現像装置40は、図示しない攪拌機構において出力色のトナー粒子やキャリア粒子などでなる現像剤粒子102を混合しながら、その現像剤粒子102中のトナー粒子を感光体10の表面に形成されている静電潜像に重畳することでトナー像を感光体10の表面に形成させる。
【0037】
すなわち、現像ロール140は、感光体10に対向して設けられており、現像ロール140に吸着された現像剤粒子102のうちトナー粒子は、帯電されており、静電気力により感光体10に吸着される。このとき、感光体10の表面は、記録画像に応じて帯電されることで静電潜像が形成されており、トナー粒子は、感光体10に形成された静電潜像に応じて吸着される。これによって、感光体10の表面に形成された潜像は現像化される。現像処理後のキャリア粒子と、感光体10側に飛翔されなかったトナー粒子とは、収納容器101内に回収される。
【0038】
この後、転写装置50は、感光体10の表面に形成されているトナー像を、外部から搬送されてきた印刷用紙上に転写する。感光体10と転写部54とが対向する予め決められた範囲を転写領域と称する。
【0039】
転写済の用紙は定着装置70側に搬送され、定着装置70にて加熱溶融・圧着作用によりトナー像を転写体としての印刷用紙上に定着する。定着済の用紙は、図示しない排出装置によって、画像形成装置1の外に排紙される。
【0040】
一方、クリーニング装置60は、転写装置50による転写後の感光体10の表面に残留する残留トナーを除去する。清掃後の感光体10の表面には残留電位が残っているが、帯電装置20で初期電位を印加してから次の電子写真プロセスに利用される。
【0041】
なお、カラー画像形成用の画像形成装置1を構成する場合、画像形成に関わる主要部の構成としては、たとえば転写装置50にて直接に用紙に感光体10のトナー像を転写体である用紙に転写させるのではなく、たとえば、K(黒),Y(イエロー),M(マゼンタ),C(シアン)の出力色に対応する複数のエンジンを、たとえばK→Y→M→Cの順にインライン状に配列し、K,Y,M,Cの画像を4つのエンジンで並列的(同時進行的)に処理する、すなわち配置位置に応じた時間を隔てて、1色ずつ中間転写ベルトに感光体10のトナー像を転写(特に1次転写という)させ、その後、中間転写ベルト上のトナー像を用紙に転写(特に2次転写という)させるように構成したタンデム型のカラー画像形成装置にしてもよい。
【0042】
このような電子写真プロセスでは、感光体10に対する帯電、スキャンした原稿イメージの露光、現像すなわち感光体10へのトナー重畳、用紙へのトナー転写およびトナー定着、感光体10のクリーニングという複数の工程からなる。電子写真プロセスでは、たとえば、攪拌、現像、転写などの各プロセスにおいて粉体挙動解析シミュレーションを適用することで、現実に画像形成実験を行なうことなく、形成される画像を予測し評価する。キャリア粒子およびトナー粒子の挙動の解析が、電子写真装置本体や現像装置40の開発にとって重要な要素となる。
【0043】
たとえば、現像装置40の解析では、攪拌プロセスや現像プロセスなどが解析対象となる。たとえば、規制ブレード150の攪拌搬送ロール側の予め決められた範囲領域を層形成領域と称し、現像剤粒子102についての粒子挙動解析では、磁場および重力場の作用を考慮する。攪拌搬送ロールにより攪拌・搬送される予め決められた範囲領域を攪拌搬送領域と称し、現像剤粒子102についての粒子挙動解析では、重力場の作用を考慮する。
【0044】
攪拌搬送領域と層形成領域との間の現像剤粒子102が現像ロール140に磁気吸着される予め決められた範囲領域をピックアップ領域と称し、現像剤粒子102についての粒子挙動解析では、磁場および重力場の作用を考慮する。
【0045】
感光体10と現像ロール140の各周縁が対向し現像作用の行なわれる範囲領域を現像ニップ領域と称し、現像剤粒子102についての粒子挙動解析では、電場、磁場、重力場の作用を考慮する。現像剤粒子102の回収される予め決められた範囲領域をピックオフ領域と称し、現像剤粒子102についての粒子挙動解析では、磁場および重力場の作用を考慮する。
【0046】
感光体10の表面は、記録画像に応じて帯電されており、トナー粒子は、静電力により感光体10の表面に飛翔する。感光体10の表面には、飛翔したトナー粒子が付着し、記録画像に応じたトナー像が形成される。このとき、トナー粒子の感光体10への吸着のされ方によって、記録画像の画質が左右される。トナー粒子は、キャリア粒子により感光体10に搬送されているので、トナー粒子の感光体10への吸着のされ方は、現像ロール140と感光体10との間の現像ニップ領域でのキャリア粒子およびトナー粒子の挙動により決定される。
【0047】
また、転写装置50における転写プロセスでは、感光体表面粗さや、感光体・中間転写ベルトや用紙などの転写体間の速度差、転写体の接触幅などの転写プロセスにおける条件パラメータを変更しながら、粉体挙動解析シミュレーションを繰り返し行なっていくことで、転写プロセスを再現しながら形成される画質の評価を行なう。因みに、転写プロセスについての粒子挙動解析では、現像剤粒子102(特にトナー粒子)に作用する電場および重力場を考慮する。
【0048】
<粒子挙動解析システム>
図2は、粒子挙動解析システムの一構成例を示すブロック図である。粒子挙動解析システムにおいては、各相互作用の解析を行なう際、多くのプロセッサを用いた並列計算処理では、並列処理効率に飽和傾向が出る。その対策として、粒子分割、力分割、領域分割などの各種の分割手法を用いて解析する。以下では、特段の断りのない限り、力分割法を適用した粒子挙動解析を行なうものとして説明する。力分割法を用いて粒子挙動解析を行なう仕組みそのものについては特許文献1に記載のものと同様で良く、ここではその説明を割愛する。
【0049】
粒子挙動解析システム200Aは、それぞれ粒子挙動解析機能を有する複数台の粒子挙動解析装置202がネットワーク接続されて構成されている。各粒子挙動解析装置202は、1つの筐体内(半導体基板上)に計算処理を行なうコア部分(いわゆるCPUの部分)が1つのシングルコアのものである。
【0050】
各粒子挙動解析装置202は、主要の処理データを相互にネットワーク208を介して伝達し合い、粒子挙動解析処理を並列的に実行可能になっており、粒子挙動解析システム200Aとしては、事実上の並列型計算装置(クラスタ計算機)として構成されている。ネットワーク208は、通信状態がルーティング機能を持つネットワーク管理装置208aで管理されるようになっている。
【0051】
各粒子挙動解析装置202は、一例として、一般の電子計算機と同様のもので構成するのがよい。また、図示した例では、粒子挙動解析システム200Aを構成する各粒子挙動解析装置202の内の1台が全体を統括する計算管理ノードの機能を持つ主粒子挙動解析装置202aとして機能するようになっている。主粒子挙動解析装置202aに対して残りの粒子挙動解析装置202が、主粒子挙動解析装置202aにより制御される副粒子挙動解析装置202bとしてネットワーク接続されている。
【0052】
ここで、本実施形態の副粒子挙動解析装置202bは、詳細は後述するが、力分割法を適用する際に使用される力マトリクス(力行列)における行方向ごとに各副粒子挙動解析装置202bにより得られた解析結果を纏めて出力する機能部(行方向処理結果出力処理部)を具備する代表ノード用のもの(代表副粒子挙動解析装置202b_1)と、それ以外の一般ノード用のもの(一般副粒子挙動解析装置202b_2)とに分けられる。
【0053】
なお、図では便宜的に、ネットワーク管理装置208aから1本のネットワーク線を出し、そのネットワーク線上に主粒子挙動解析装置202aと副粒子挙動解析装置202bとを接続する態様で示しているが、実際には、ネットワーク管理装置208aに備えられる個別のポートに各粒子挙動解析装置202が接続され、各粒子挙動解析装置202間の通信は、このネットワーク管理装置208aを介してなされるようになっている。
【0054】
主粒子挙動解析装置202aには、粒子挙動解析処理用の各種の操作を行なうためのキーボードやマウスなどの指示入力装置210と、処理結果を操作者に画像情報として提示する表示装置212とが接続されている。
【0055】
このような基本構成のシステム構成を採ることで、複数種類の多体粒子間相互作用がある系について粒子挙動解析処理を行なうに当たり、各粒子の磁気相互作用、静電相互作用、または機械的相互作用(接触力;壁などと粒子間の接触力や粒子間接触)などの各相互作用について、予め定められた分割法を適用して並列処理にて挙動解析を実行する。なお、機械的相互作用は、たとえば、壁やその他の物体と粒子間の接触力や粒子間接触による接触力である。
【0056】
たとえば、キャリア粒子についてはMaxwell方程式を基礎とした磁場解析法などを利用して磁気力を算出し、トナー粒子についてはクーロン力に着目した静電界解析を行ない、さらに、キャリア粒子、トナー粒子の接触力を粒子の接触量から算出し、最終的には、各作用力を組み合わせて運動方程式を解き、現像剤粒子102の挙動を高精度で予測する。
【0057】
特に本実施形態では、各粒子挙動解析装置202において各相互作用の解析を行なう際、領域分割法(SD;Spatial Decomposition Method)や粒子分割法(PD;Particle Decomposition Method あるいはRD;Replicated Data Method)ではなく力分割法(力マトリクスを用いたアルゴリズム)を用いて解析することで、全プロセッサ(本実施形態の各粒子挙動解析装置202)間の計算用データの通信量を低減させる。計算用データの通信量を低減させることで、多プロセッサ使用時のプログラムの並列化性能を向上させ、計算時間を大幅に短縮する。
【0058】
なお、図2に示した粒子挙動解析システム200Aの基本構成では、事実上の並列型計算装置(クラスタ計算機)の構成で示したが、これは一例に過ぎない。図示を割愛するが、特許文献1の図3の構成のように、それぞれ粒子挙動解析機能を有する複数台の粒子挙動解析装置を第1ネットワークにてネットワーク接続されて並列型計算装置として構成されている複数の粒子挙動解析システムを、さらに、別の第2ネットワークで接続して構成されたものとしてもよい。この場合、各粒子挙動解析システムは、主要の処理データを相互に外部ネットワーク(第2ネットワーク)を介して伝達し合い、それぞれ対象の異なる粒子挙動解析処理を並列的に実行可能になり、このような変形例の粒子挙動解析システムとしては、事実上の並列型計算装置をネットワーク接続してなるグリッド型計算装置として構成される。また、複数のコア部分(いわゆるCPUの部分)を1つの筐体(半導体チップ)に収容したマルチコアを有するものとしてもよい。
【0059】
<粒子挙動解析装置;第1構成例>
図3〜図3Aは、粒子挙動解析装置202の第1構成例を示すブロック図である。ここで、図3は、特に計算管理ノードの機能を具備した主粒子挙動解析装置202a(代表ノードの代表副粒子挙動解析装置202b_1を含む)について示している。図3Aは、代表ノード以外の一般ノードの機能を具備した一般副粒子挙動解析装置202b_2について示している。
【0060】
図3に示すように、主粒子挙動解析装置202aは、指示入力装置210などを利用して処理対象データを取り込むデータ入力部220と、粒子挙動解析処理を行なうデータ処理部230と、処理結果を表示装置212などを利用して操作者に提示する情報提示部240と、粒子に解析結果の出力処理と対応する優先度を設定する優先度設定部242を備えている。データ入力部220と情報提示部240と優先度設定部242は、主粒子挙動解析装置202aの計算管理ノードに相当する部分に設けられている。
【0061】
また、主粒子挙動解析装置202aの計算管理ノードに相当する部分に、処理対象要素を力分割法により分割するに当たり、それぞれ計算装置で構成され力分割法による粒子挙動解析を行なう各計算システム(プロセッサとも称する;図1では粒子挙動解析装置202)に各分割部分を割り当てる分割処理部250を備えている。分割処理部250は、縦N・横Nの力マトリクスを使用するように設定する。
【0062】
データ入力部220は、指示入力装置210を構成するキーボードやマウスを介して操作者より入力されるコマンドやデータを受け付け、データ処理部230、分割処理部250にそれぞれで必要とされるデータを渡す。
【0063】
分割処理部250は、縦N・横Nの力マトリクスを使用するように設定し、各力マトリクスに解析対象粒子を割り当てる。
【0064】
なお、分割処理部250は、各ノードでの計算負荷が概ね均等となるようにすることも考慮するのがよい。たとえば、処理対象要素を予め決められた分割法により分割するに当たり、それぞれ複数の計算装置で構成された各計算システム(粒子挙動解析システム200)における同一範囲時点での計算時間(ステップ当たりの計算時間)が同等となるように解析対象要素を配分する解析負荷分散処理部を具備する構成とする。この解析負荷分散処理部は、分割処理部250が兼用する構成(解析負荷分散処理部250aと記す)としてもよいし、分割処理部250とは別の機能要素として設けてもよい。
【0065】
解析負荷分散処理部250aは、静電相互作用、磁気相互作用、機械的相互作用(接触力)、または付着力などの複数種類の粒子間相互作用を考慮する場合や、現像剤102を構成する物性の異なる複数種類の粒子(本例ではキャリア粒子、トナー粒子、外添剤)を解析対象とする場合においても、並列解析処理時の各数値演算処理部(粒子挙動計算部)間の計算時間差が確実に小さくなるように、解析対象の作用力の相違や粒子種の相違を勘案して解析対象要素を配分する分割処理を行なう。
【0066】
また解析負荷分散処理部250aは、粒子挙動解析システム200を構成する各粒子挙動解析装置202や、粒子挙動解析システム201を構成する各粒子挙動解析システム200の処理性能(計算能力)をも勘案して、解析対象要素を配分するのがよい。そして、解析負荷分散処理部250aは、分割担当領域や分割担当粒子(のグループ)をそれぞれ複数の計算装置(粒子挙動解析装置202)で構成された計算システム(粒子挙動解析システム200)に割り当てる。データ処理部230では、他の分割部分に関しての処理を担当する他の各数値演算処理部との間でデータ通信を行ないつつ、分割された担当する分割部分について、力分割法による粒子挙動解析を行なう。
【0067】
力分割法を適用したデータ処理時には、粒子間距離と相互作用力との関係(相互作用力の距離依存性)を考慮して、解析対象粒子種を複数とする複数成分粒子系の解析時には複数のカットオフを設定してもよい。たとえば、解析対象の相互作用力が距離の近い粒子との相互作用についてのみ着目すればよい相互作用力(近距離力もしくは短距離力と称する)であるときにはカットオフを小さく設定し、距離の近い粒子とだけでなく距離の離れた粒子との相互作用についても着目する必要のある相互作用力(遠距離力もしくは長距離力と称する)であるときにはカットオフを大きく設定する。
【0068】
データ処理部230は、データ入力部220から入力されたデータに基づいて後述する粒子挙動解析処理を行なう。データ処理部230は、より詳細には、データ受付部232、数値演算処理部234(粒子挙動計算部)、出力データ処理部236、データ記憶部238を有している。出力データ処理部236には、優先度設定部242が設定した優先度の情報が供給される。
【0069】
データ記憶部238は、相互作用を計算するためのパラメータ表のデータを記憶する装置であり、メモリバスを介して数値演算処理部234に接続される。ここで、データ記憶部238は、粒子挙動解析装置202ごとに設けられる一時記憶部238aおよび外部記憶装置238bで構成される。
【0070】
一時記憶部238aは、マルチコア部239が具備するCPUと同一の半導体基板上に内蔵されるいわゆるキャッシュメモリ(Cache Memory)である。外部記憶装置238bは、いわゆるメインメモリとも称される外部の半導体製の記憶媒体(たとえば数100MB〜数GB程度の容量のもの)、およびメインメモリより大容量(数100GB以上)のハードディスク装置(HDD)などである。周知のように、CPUのアクセスは、メインメモリよりもキャッシュメモリの方が高速である。
【0071】
データ処理部230は、副粒子挙動解析装置202bに含まれる。ここで、主粒子挙動解析装置202aが代表ノードに該当するときには、図示のように、副粒子挙動解析装置202bとしては、代表副粒子挙動解析装置202b_1を含む。一方、主粒子挙動解析装置202aが代表ノードに該当しないときには、代表副粒子挙動解析装置202b_1に代えて一般副粒子挙動解析装置202b_2にする。
【0072】
データ受付部232は、データ入力部220から入力されたデータを外部記憶装置238bに記憶し、数値計算時に必要なデータを数値演算処理部234に供給する。外部記憶装置238bには、たとえば、解析の対象としている現像装置40の構成および現像剤粒子102の座標、物性値に関するデータなどが記憶される。
【0073】
数値演算処理部234は、分割処理部250による分割処理により割り当てられた分割部分について、決められた分割法に従ってデータ記憶部238との間でデータ(情報)の入出力(メモリアクセス)を行ないながら計算を行なう粒子挙動計算部として機能する。
【0074】
粒子挙動解析装置202はさらに、図3に示すように、代表副粒子挙動解析装置202b_1の部分は、行方向処理結果出力処理部260を備える。行方向処理結果出力処理部260には、優先度設定部242が設定した優先度の情報が供給される。行方向処理結果出力処理部260は、自身が属する同一行の各一般副粒子挙動解析装置202b_2の出力データ処理部236から、それぞれの解析結果を取得する。そして、行方向処理結果出力処理部260は、自身の出力データ処理部236からの解析結果を含めて、当該行の各解析結果を纏めて計算管理ノードの情報提示部240にファイル出力する。
【0075】
また、図3Aに示すように、一般副粒子挙動解析装置202b_2は、代表副粒子挙動解析装置202b_1における行方向処理結果出力処理部260を備えていない。出力データ処理部236は、それぞれの解析結果を、自身が属する同一行の代表副粒子挙動解析装置202b_1の行方向処理結果出力処理部260にファイル転送する。
【0076】
各数値演算処理部234は、供給されたデータに基づき、粒子の一例である現像剤粒子102(詳細にはキャリア粒子やトナー粒子など)について、磁気相互作用、静電相互作用、または機械的相互作用(接触力)など、複数の相互作用を同時に考慮した粒子挙動を、力分割法を適用してシミュレーション処理にて解析する。数値演算処理部234は、その解析結果の出力ファイルを予め決められたタイミングごとに出力データ処理部236に供給する。
【0077】
たとえば、先ず、主粒子挙動解析装置202aは、現時点において粒子挙動解析処理に使用可能な粒子挙動解析システム200を構成する粒子挙動解析装置202の数(プロセッサ数)を特定する。この後、計算に必要な各種物理パラメータや粒子の初期配置や力分割法で特に必要となる解析対象粒子数などの計算条件を読み込む。そして、特定した各粒子挙動解析装置202(プロセッサ)を、力分割法に従ってマトリクス配置して、解析対象の粒子(現像剤102を構成するキャリア粒子やトナー粒子)を割り当てる。
【0078】
次に、複数種類の多体粒子間相互作用力を、特定プロセッサ(他の数値演算処理部234)に分散して計算する。このとき、複数種類の多体粒子間相互作用に対しては、それぞれ別の力マトリックスを用いて計算する。たとえば、担当マトリクス中の相手粒子との間における磁気相互作用を、当該磁気相互作用解析用の力マトリックスを用いて解析処理する。次に、出力データ処理部236を介して特定プロセッサ間で通信し、磁気相互作用について、分散して計算した磁気相互作用力の総和値を求める。
【0079】
同様にして、担当マトリクス中の相手粒子との間における静電相互作用を、当該静電相互作用解析用の力マトリックスを用いて解析処理する。次に、出力データ処理部236を介して特定プロセッサ間で通信し、静電相互作用について、分散して計算した静電相互作用力の総和値を求める。
【0080】
また、担当マトリクス中の相手粒子との間における機械的相互作用(接触力)を、当該機械的相互作用解析用の力マトリックスを用いて解析処理する。次に、出力データ処理部236を介して特定プロセッサ間で通信し、機械的相互作用について、分散して計算した機械的相互作用力の総和値を求める。
【0081】
さらに、磁気相互作用、静電相互作用、および機械的相互作用(接触力)のそれぞれについて求めた各総和値を加算して全総和値を求める。次に、磁気相互作用、静電相互作用、および機械的相互作用(接触力)の全総和値を使用して、各粒子の運動方程式を解き、位置座標を計算する。そして、このようにして求めた各粒子の位置座標を、相互作用マトリクスに関係する特定プロセッサ(数値演算処理部234)に送り、計算情報を更新する。この後、予め決められた計算ステップに到達するまで、同様の処理を繰り返す。
【0082】
出力データ処理部236は、各計算ステップでの計算データの受け渡しを各数値演算処理部234間で行なう以外に、予め決められた計算ステップごとに、数値演算処理部234での計算結果の出力ファイルを予め決められている他(この例では力分割法の行方向のもの)の粒子挙動解析装置202(数値演算処理部234)から受け取り、情報提示部240に渡す。情報提示部240は、各粒子挙動解析装置202からのデータを集約して、表示データに変換し、表示装置212に供給する。表示装置212は、情報提示部240から供給された表示データに基づく処理結果画像を表示する。実際には確認困難な現像剤粒子102の挙動を視覚的に把握できるように、現像剤粒子102の挙動予測を可視化して表示装置212上に表示するのである。
【0083】
なお、プロセッサは、数値演算処理部234として機能するだけでなく、その他の一般的な演算処理機能や制御機能など、一般的なCPUが備える機能を実現し得るものである。副粒子挙動解析装置202bには、CPUがプログラム処理により各機能部として機能するようにするための仕組みとして、一般的な電子計算機(コンピュータ)と同様の構成も備え、コンピュータシステムを構築している。
【0084】
本実施形態において、粒子の挙動を解析する仕組みは、ハードウェア処理回路により構成することに限らず、その機能を実現するプログラムコードに基づき電子計算機(コンピュータ)を用いてソフトウェア的に実現することも可能である。よって、本実施形態に係る仕組みを、電子計算機(コンピュータ)を用いてソフトウェアで実現するために好適なプログラムまたはこのプログラムを格納したコンピュータ読取可能な記録媒体(記憶媒体)が発明として抽出される。ソフトウェアにより実行させる仕組みとすることで、ハードウェアの変更を伴うことなく、処理手順などが容易に変更されることとなる。
【0085】
一連の粒子挙動解析処理はハードウェアまたはソフトウェアの単独に限らずその両者の複合構成によっても実現され得る。ソフトウェアによる処理を実行する場合、処理手順を示したプログラムを、ハードウェアに組み込まれたコンピュータ内の記憶媒体に組み込んで(インストールして)実行させたり、各種処理が実行可能な汎用の電子計算機にプログラムを組み込んで実行させる。
【0086】
粒子挙動解析処理機能をコンピュータに実行させるプログラムは、CD−ROMなどの記録媒体を通じて配布される。または、このプログラムは、CD−ROMではなくFDに格納されてもよい。また、MOドライブを設け、MOに前記プログラムを格納してもよく、またフラッシュメモリなどの不揮発性の半導体メモリカードなど、その他の記録媒体にプログラムを格納してもよい。
【0087】
ソフトウェアを構成するプログラムは、記録媒体を介して提供されることに限らず、有線または無線などの通信網を介して提供されてもよい。たとえば、他のサーバなどからインターネットなどのネットワークを経由してプログラムをダウンロードして取得したり、または更新したりしてもよい。粒子挙動解析処理を行なう機能を実現するプログラムコードを記述したファイルとしてプログラムが提供されるが、この場合、一括のプログラムファイルとして提供されることに限らず、コンピュータで構成されるシステムのハードウェア構成に応じて、個別のプログラムモジュールとして提供されてもよい。
【0088】
たとえば、コンピュータシステムは、プロセッサコアが機能する中央制御部910、読出専用の記憶部であるROM(Read Only Memory)、または随時読出し・書込みが可能なメモリであるRAM(Random Access Memory)などを具備する記憶部912、操作部914、図示を割愛したその他の周辺部材を有する。ROMには粒子挙動解析処理機能用の制御プログラムなどが格納される。操作部914は、利用者による操作を受け付けるためのユーザインタフェースである。
【0089】
なお、コンピュータシステムの制御系としては、メモリカードなどの図示を割愛した外部記録媒体を挿脱可能に構成し、またインターネットなどの通信網との接続が可能に構成するとよい。このためには、制御系は、中央制御部910や記憶部912の他に、可搬型の記録媒体の情報を読み込むメモリ読出部920や外部との通信インタフェース手段としての通信I/F922を備えるようにするとよい。メモリ読出部920を備えることで外部記録媒体からプログラムのインストールや更新ができる。通信I/F922を備えることで、通信網を介しプログラムのインストールや更新を行ない得るようになる。
【0090】
なお、本実施形態の粒子挙動解析処理を実現するための情報処理装置の各部(機能ブロックを含む)の具体的手段は、ハードウェア、ソフトウェア、通信手段、これらの組み合わせ、その他の手段を用いてよく、このこと自体は当業者において自明である。また、機能ブロック同士が複合して1つの機能ブロックに集約されてもよい。また、コンピュータにプログラム処理を実行させるソフトウェアは、組合せの態様に応じて分散してインストールされ得る。
【0091】
<粒子挙動解析装置:第2構成例>
図3B〜図3Cは、粒子挙動解析装置202の第2構成例を説明する図である。ここで、図3Bは、特に計算管理ノードの機能を具備した主粒子挙動解析装置202aに着目したブロック図である。図3Cは、一般ノードの機能を具備した副粒子挙動解析装置202bに着目したブロック図である。主粒子挙動解析装置202aは、副粒子挙動解析装置202bを含んで構成されている。
【0092】
粒子挙動解析装置202の第2構成例は、第1構成例に対して行方向処理結果出力処理部260を取り外したものである。そのため、各数値演算処理部234は、行方向処理結果出力処理部260を介することなく、各別にファイル出力を行なう。実際には、何れか1つの粒子挙動解析装置202が他の粒子挙動解析装置202の出力ファイルを取り纏めて情報提示部240にファイル出力する。その他の点は、第1構成例と同様である。
【0093】
[ファイル出力処理の問題点]
図4〜図4Cは、本実施形態を適用しない比較例の力分割法における、各ノードで取得された解析結果を出力するファイル出力処理の問題点を説明する図である。ここで、図4〜図4Aは、第2構成例の粒子挙動解析装置202を適用した場合のファイル出力処理を説明する図である。図4Bは、第1構成例の粒子挙動解析装置202を適用した場合のファイル出力処理を説明する図である。図4Cは、第1比較例と第2比較例の各ファイル出力処理の対比を説明する図である。
【0094】
[処理例:第1比較例]
先ず、第2構成例の粒子挙動解析装置202を適用した場合の第1比較例(図4〜図4A)について説明する。ここでは、32粒子を16個のプロセッサ(16台の粒子挙動解析装置202:16CPUと記す)で並列計算する場合の処理例を示す。
【0095】
たとえば、遠距離力や近距離力など複数の粒子の相互作用を計算する場合に、領域分割法を使わず力分割法を適用した粒子挙動解析処理とすることで解析処理時間を短縮する。ただし、このような力分割法を適用した粒子挙動解析処理とすると、近距離力を計算するために粒子情報(座標)は毎ステップ通信するため、領域分割を適用した場合と比較すると通信負荷は大きくなり高い並列化性能が得られない。
【0096】
なお、分割法を適用して複数のコンピュータで並列化処理を行なうと通信負荷が大きくなるのは、力分割法に限った話ではない。並列処理における一般的な問題点として、複数プロセッサを用いた場合に、並列数に応じて全処理時間における計算用データ通信時間の比率が増大し、並列化の効果が飽和するようになる。
【0097】
各ノードの数値演算処理部234は、粒子挙動を力分割法を適用してシミュレーション処理にて解析した処理結果(解析結果)を出力データ処理部236に供給する。各ノードの出力データ処理部236は、解析結果のファイル出力のため、力マトリクスを構成する何れか1つの計算ノード(ここでは主粒子挙動解析装置202a)の出力データ処理部236に、それぞれの解析結果を転送する。主粒子挙動解析装置202aを構成する副粒子挙動解析装置202bの出力データ処理部236は、自身を含む各副粒子挙動解析装置202bの解析結果を纏めてファイル出力する。
【0098】
つまり、図4に示すように、比較例の粒子挙動解析システム200Xにおける力分割による並列処理では、1つの計算ノード(CPU)が各粒子挙動解析装置202の解析結果を纏めてファイル出力を行なうため、その計算ノードは、計算用データの通信負荷だけでなく、ファイル出力データの通信負荷も加わってしまい、大きなオーバーヘッドが生じる。このため、その計算ノードは、他のノードに比べて挙動解析処理時間が長く掛る。この影響は、粒子挙動解析システム200全体に及ぶので、全体としての挙動解析処理時間が長く掛ることになる。
【0099】
さらに、図4Aに示すように、比較例の粒子挙動解析システム200Xにおける計算用ノード(粒子挙動解析装置202)間を接続する通信線(ネットワーク208)の帯域は、計算用データとファイル出力用データの両者によって使われれる。計算速度に大きな影響を及ぼす計算用データ通信帯域が、ファイル出力用データの通信にも使われるため、並列計算性能の低下が発生する。結果的には、挙動解析処理時間が長く掛ることになる。
【0100】
[処理例:第2比較例]
これに対して第1構成例の粒子挙動解析装置202を適用した場合の第2比較例(図4B)では、力分割法で使用される力マトリクスの特質に着目して、従前よりもファイル出力(ファイル書込み処理)の通信負荷を軽減できる手法を採る。具体的には、力マトリクスにおける行方向ごとに、各粒子挙動解析装置202により得られた解析結果を纏めてファイル出力を行なうことにする。つまり、力マトリクスを用いた並列処理において、ファイル出力を行なう際に、同一行内の並列計算要素(粒子挙動解析装置202)でファイル出力データを集合させるために通信を行ない、行ごとにファイル出力処理を行なう。
【0101】
ここで、行ごとにファイル出力処理を行なうノード(CPU、粒子挙動解析装置202)を何れに担当させるかで、様々なシステム態様を採り得る。第1実施形態では、このファイル出力を担当するものを、力マトリクスを構成する当該行に属する何れかの粒子挙動解析装置202にする。このような力マトリクスを構成するノードの内、1行分の解析結果を纏めてファイル出力を行なうノードを特に代表ノードと称し、代表ノードの粒子挙動解析装置202を代表副粒子挙動解析装置202b_1とする。代表副粒子挙動解析装置202b_1以外の粒子挙動解析装置202を一般副粒子挙動解析装置202b_2と称する。
【0102】
各ノードの数値演算処理部234は、粒子挙動を力分割法を適用してシミュレーション処理にて解析した処理結果(解析結果)を出力データ処理部236に供給する。力マトリクスを構成する各行の各副粒子挙動解析装置202bの内、代表副粒子挙動解析装置202b_1(代表ノード)を除く一般副粒子挙動解析装置202b_2(一般ノード)の出力データ処理部236は、解析結果のファイル出力のため、同一行の代表副粒子挙動解析装置202b_1の行方向処理結果出力処理部260に、それぞれの解析結果を転送する。
【0103】
代表副粒子挙動解析装置202b_1の行方向処理結果出力処理部260は、自身の出力データ処理部236からの解析結果と、各一般副粒子挙動解析装置202b_2の解析結果を纏めて、計算管理ノードの情報提示部240にファイル出力する。つまり、第1実施形態のファイル出力処理では、力マトリクスの行方向で出力用データを通信し、各代表ノードがファイル出力を行なう。
【0104】
各行の代表ノード(代表副粒子挙動解析装置202b_1)は、当該行に関しての出力ファイル中では、解析結果が粒子番号順に並ぶ順序で出力処理を行なうようにする。つまり、解析結果データが粒子番号順に並ぶ順序でファイル出力を行なう。各行の代表ノード(代表副粒子挙動解析装置202b_1)は、順番に、各行の解析結果をファイル出力する。
【0105】
各行の代表ノードの割当て方と各行の代表ノードからのファイル出力順序の組合せとしては、様々な組合せを採り得る。図5は、最も好適な例を示したものであり、各行の代表ノードは、力マトリクスにおいて列方向に同じ位置のものとしている。図示した例では、ノード#0が0行目のデータ出力#0(粒子#0〜7のデータ)を担当する。よって、ノード#1の出力データ処理部236とノード#0の行方向処理結果出力処理部260との間で、粒子#2,3についてファイル出力用のデータ通信がある。ノード#2の出力データ処理部236とノード#0の行方向処理結果出力処理部260との間で、粒子#4,5についてファイル出力用のデータ通信がある。ノード#3の出力データ処理部236とノード#0の行方向処理結果出力処理部260との間で、粒子#6,7についてファイル出力用のデータ通信がある。これにより、ノード#0には、自身の担当分である粒子#0,1を含む粒子#0〜7の解析結果が集約される。
【0106】
また、ノード#4が2行目のデータ出力#1(粒子#8〜15のデータ)を担当する。よって、ノード#5の出力データ処理部236とノード#4の行方向処理結果出力処理部260との間で、粒子#10,11についてファイル出力用のデータ通信がある。ノード#6の出力データ処理部236とノード#4の行方向処理結果出力処理部260との間で、粒子#12,13についてファイル出力用のデータ通信がある。ノード#7の出力データ処理部236とノード#4の行方向処理結果出力処理部260との間で、粒子#14,15についてファイル出力用のデータ通信がある。これにより、ノード#4には、自身の担当分である粒子#8,9を含む粒子#8〜15の解析結果が集約される。
【0107】
また、ノード#8が2行目のデータ出力#2(粒子#16〜23のデータ)を担当する。よって、ノード#9の出力データ処理部236とノード#8の行方向処理結果出力処理部260との間で、粒子#18,19についてファイル出力用のデータ通信がある。ノード#10の出力データ処理部236とノード#8の行方向処理結果出力処理部260との間で、粒子#20,21についてファイル出力用のデータ通信がある。ノード#11の出力データ処理部236とノード#8の行方向処理結果出力処理部260との間で、粒子#22,23についてファイル出力用のデータ通信がある。これにより、ノード#8には、自身の担当分である粒子#16,17を含む粒子#16〜23の解析結果が集約される。
【0108】
また、ノード#12が3行目のデータ出力#2(粒子#24〜31のデータ)を担当する。よって、ノード#13の出力データ処理部236とノード#12の行方向処理結果出力処理部260との間で、粒子#26,27についてファイル出力用のデータ通信がある。ノード#14の出力データ処理部236とノード#12の行方向処理結果出力処理部260との間で、粒子#28,29についてファイル出力用のデータ通信がある。ノード#15の出力データ処理部236とノード#12の行方向処理結果出力処理部260との間で、粒子#30,31についてファイル出力用のデータ通信がある。これにより、ノード#12には、自身の担当分である粒子#24,25を含む粒子#24〜31の解析結果が集約される。
【0109】
各行方向処理結果出力処理部260は、情報提示部240がその行の各ノードでの解析結果に基づく情報提示をスムーズに行なうように、それぞれが担当する出力ファイル中で、データが粒子番号順に並ぶ順序でファイル出力を順次行なう。また、各行方向処理結果出力処理部260は、たとえば、データ出力#0→データ出力#2→データ出力#3→データ出力#1などのように、解析結果が粒子番号順に並ばない順序で出力処理を行なってもよい。各行方向処理結果出力処理部260は、好ましくは、情報提示部240が全てのノードでの解析結果に基づく情報提示をスムーズに行なうように、データ出力#0→データ出力#1→データ出力#2→データ出力#3のように、列方向にも、解析結果が粒子番号順に並ぶ順序で出力処理を行なうようにする。
【0110】
図示しないが、各行の代表ノードは、力マトリクスにおいて、列方向にそれぞれ異なる位置のものとしてもよい。たとえば、ノード#0が0行目のデータ出力#0(粒子#0〜7のデータ)を担当し、ノード#5が1行目のデータ出力#1(粒子#8〜15のデータ)を担当し、ノード#10が2行目のデータ出力#2(粒子#16〜23のデータ)を担当し、ノード#15が3行目のデータ出力#3(粒子#24〜31のデータ)を担当する。この場合においても、好ましくは、各行方向処理結果出力処理部260は、列方向にも、解析結果が粒子番号順に並ぶ順序で出力処理を行なうようにする。
【0111】
[第1比較例と第2比較例の対比と問題点]
図4Cに第1・第2比較例の対比を示す。第1比較例のファイル出力処理では、各計算ノードはNステップ目について並列処理による数値計算を行なってから(S110)、ノード#0にファイル出力のためのデータ通信を行なう(S112)。その後、ノード#0では、自身を含む全ての計算ノード分を纏めてファイル出力処理を行なう(S114)。その後、各計算ノードは(N+1)ステップ目について並列処理による数値計算を行なう(S116)。以下同様である。
【0112】
一方、第2比較例のファイル出力処理では、各計算ノードはNステップ目について並列処理による数値計算を行なう(S120)。この後、行ごとに、それぞれの代表ノードにファイル出力のためのデータ通信を並行して行なう(S122)。たとえば、ノード#0と同一行の他の計算ノード(#1〜#3)は、ノード#0にファイル出力のためのデータ通信を行なう(S122_#0 )。ノード#4と同一行の他の計算ノード(#5〜#7)は、ノード#4にファイル出力のためのデータ通信を行なう(S122_#4 )。ノード#8と同一行の他の計算ノード(#9〜#11)は、ノード#8にファイル出力のためのデータ通信を行なう(S122_#8 )。図示しないが、ノード#12と同一行の他の計算ノード(#13〜#15)は、ノード#12にファイル出力のためのデータ通信を行なう(S122_#12)。
【0113】
その後、各代表ノードでは、自身を含む同一行の計算ノード分を纏めてファイル出力処理を順番に行なう(S124)。たとえば、ノード#0では、自身を含む各計算ノード(#0〜#3)分を纏めてファイル出力処理を行なう(S124_#0 )。その後、ノード#4では、自身を含む各計算ノード(#4〜#7)分を纏めてファイル出力処理を行なう(S124_#4 )。その後、ノード#8では、自身を含む各計算ノード(#8〜#11)分を纏めてファイル出力処理を行なう(S124_#8 )。図示しないが、その後、ノード#12では、自身を含む各計算ノード(#12〜#15)分を纏めてファイル出力処理を行なう(S124_#12)。
【0114】
その後、各計算ノードは(N+1)ステップ目について並列処理による数値計算を行なう(S126)。以下同様である。
【0115】
このように、第2比較例のファイル出力処理では、力マトリクスの行ごとに、力マトリクスを構成する何れかの計算ノードを代表ノードとし、力マトリクスの行方向で出力用データを通信し、各代表ノードが順番にファイル出力を行なう。つまり、第1実施形態では、ファイル出力処理を複数の代表ノードで分散処理している点で、ファイル出力処理を1つのノードで集中処理している比較例と異なる。これにより、1つのノードが、他の15台の計算ノードからのファイル出力用データを受け取り16台分を纏めてファイル出力を行なう比較例に比べて、代表ノード当たり3台分の通信で済むので、通信待ち時間は短縮される。また、ファイル出力は、データが粒子番号順に並ぶ順序で、各代表ノードにて出力処理を順次行なうので、各ノードが行なうファイル出力処理時間も短縮される。
【0116】
全体としては、ファイル出力の際のオーバーヘッドが小さくなるので、ファイル出力間隔を小さくしても(高頻度のファイル出力条件でも)挙動解析処理の遅延は抑制される。
【0117】
また、第2比較例では、行ごとのファイル出力処理を行なうノードを、力マトリクスの行方向ごとに、行の何れかのノードとしているので、システム規模は比較例(従前)と変わりない。システム規模を大きくしなくても、力マトリクスを構成する何れか1つのノードが、全てのノード分を纏めてファイル出力処理を行なうことに起因する処理効率の低下は防止される。
【0118】
ここで、第1・第2比較例のファイル出力処理では何れも、全ての粒子についての処理結果を出力している。つまり、計算結果の出力データファイルは、全ての粒子データを含む。大規模シミュレーションの計算結果は全粒子についてファイル出力され、多くの情報を含む大容量ファイルとなる。そのため、ファイル出力処理時間が増加し、結果的には、全体の粒子挙動解析時間が増加する。
【0119】
しかしながら、実際の粒子挙動解析では、必ずしも、全粒子のデータファイルを要しないこともある。たとえば、挙動解析時の計算には全粒子の情報が必要でありプロセッサ間でのデータ通信を要するが、データファイルを情報提示部240に送って表示装置212にて着目粒子の挙動の様子を表示して着目粒子の挙動のみを追跡する、着目粒子の挙動データのみを保存するなど、データファイルに基づいてデータ解析作業を行なう際には、着目する粒子に関するデータがあれば十分である。この場合、全粒子のデータファイルを出力することは、その計算結果ファイルにはデータ解析作業に用いられない情報も含まれ、利用されない(または必要とされない)データの出力処理も行なわれるため、無駄な出力処理時間が多く掛ることになる。つまり、解析の目的に応じては、利用されないデータに対しても出力処理が行なわれ、無駄な時間が増加する。
【0120】
<改善手法:基本原理>
図5〜図5Cは、本実施形態の粒子挙動解析システム200Aのファイル出力処理の基本原理を説明する図である。ここで、図5は、第1構成例の粒子挙動解析装置202を適用した場合の本実施形態のファイル出力処理の基本原理を説明する図である。図5Aは、第2構成例の粒子挙動解析装置202を適用した第1比較例と第1構成例の粒子挙動解析装置202を適用した本実施形態の各ファイル出力処理の対比を説明する図である。図5Bは、第2構成例の粒子挙動解析装置202を適用した場合の本実施形態のファイル出力処理の基本原理を説明する図である。図5Cは、第2構成例の粒子挙動解析装置202を適用した第1比較例と第2構成例の粒子挙動解析装置202を適用した本実施形態の各ファイル出力処理の対比を説明する図である。
【0121】
本実施形態のファイル出力処理では、必要なデータのみを出力することで、効率的なファイル出力処理を実現することにする。ここで、「必要なデータ」の峻別に当たっては、優先度設定部242は粒子にファイル出力処理の実施(するか)・不実施(しないか)と対応する優先度を割り当て、出力データ処理部236や行方向処理結果出力処理部260は、その割り当てられた優先度に基づいてファイル出力の対象とするか否かを切り分ける。各粒子に、計算データの出力処理の可否と対応する優先度を設定し、優先度が高く与えられ基準値を超える粒子に関してのみファイル出力を行なうのである。
【0122】
「必要なデータ」の峻別に使用する具体的な優先度の割当(設定)は、たとえば、次のようなものが考えられる。粒子種(電子写真方式の場合はキャリアやトナーなど)、粒子特性の分布(たとえば粒子径分布や粒子帯電量分布など)、粒子を原子レベル見たときの粒子を構成する原子種(炭素原子C、酸素原子O、窒素原子N、水素原子Hなど)である。たとえば、粒子をn種の分布に分け各分布に対して優先度を付けることで出力するデータを選択する。
【0123】
粒子に対応付けた優先度に基づいてファイル出力処理の対象を切り分けるので、ファイル出力の実施・非実施のための判定処理が簡便となり、また、不要な情報はファイル出力の対象としないので、無駄な出力書類が無くなり、高速なファイル出力処理が実現される。不要なデータのファイル出力を実施しないため、ファイル出力処理時間が短縮される。
【0124】
たとえば、多くのプロセッサを用いた並列計算処理では、並列処理効率に飽和傾向が出る。その対策として、先ず、粒子分割、力分割、領域分割などの各種の分割手法を用いて解析する。さらに、解析結果のファイル出力時には、解析対象粒子に優先度を割り当て、ファイル出力処理の際に、優先度に応じてファイル出力の対象とする粒子を決定し、その決定した粒子についてのみファイル出力処理を行なう。
【0125】
たとえば、力分割法を適用する場合は、力マトリックスを用いて、並列処理を行なうプロセッサに計算粒子を割り当てることで、複数プロセッサでの効率的な並列処理を実現する。さらに、力マトリックスを用いた並列処理において、解析結果のファイル出力時には、粒子に優先度を付け、ファイル出力の際に、優先度に応じて決定した粒子についてのみファイル出力処理を行なう。
【0126】
たとえば、図5や図5Bに示すように、力マトリックスに対して、優先度を付けて計算粒子を割り振ることで、必要な計算結果ファイルのみを抽出して出力する。換言すれば、出力データの優先度付けを行ない、それに合わせて、力マトリックスを構成するよう粒子データを並べる。
【0127】
図5や図5Bは、32粒子(n=32)を16個のプロセッサで並列計算する場合の処理例を示す。出力ファイルを必要とする粒子数m(m<n)は16であるとする。出力ファイルを必要とする基準値を超える優先度の高い粒子には0番から15番を設定し、出力ファイルを必要としない基準値以下の優先度の低い粒子には16番から31番を設定する。粒子とノード(プロセッサ)の対応付けは、第1・第2比較例と同様に、粒子#0,粒子#1はノード#0、粒子#2,粒子#3はノード#1、…、粒子#30,粒子#31はノード#15とする。
【0128】
粒子#0〜#15は優先度が高いので、これらの粒子が対応付けられたノード#0〜#7は計算結果データをファイル出力する一方、粒子#16〜#31は優先度が低いので、これらの粒子が対応付けられたノード#8〜#15は計算結果データをファイル出力しない。必要な計算結果データの出力のみを行なう。
【0129】
ここで、第1構成例の粒子挙動解析装置202を適用する場合は、力マトリックスの行方向で出力用データを通信し、各代表ノードがファイル出力を行なう。具体的には、同一行内の並列計算要素でファイル出力データを集合させるために通信を行ない、各列の代表ノード(代表プロセッサ)がファイル出力処理を行なう。粒子に優先度を付け、優先度基準値を超える粒子が割り当てられたプロセッサのみ、力マトリックスの行方向で出力用データを通信し、各代表ノードがファイル出力を行なうのである。
【0130】
図5Aに示すように、粒子#0〜#15は優先度が高いので、ノード#0は、同一行の各ノード#0〜#3の計算結果データを集約し、代表してそれらの計算結果のファイル出力を行ない、ノード#4は、同一行の各ノード#4〜#7の計算結果データを集約し、代表してそれらの計算結果のファイル出力を行なう。一方、粒子#16〜#31は優先度が低いので、それらに対応付けられたノード#8〜#15に関しては、計算結果データの集約や計算結果のファイル出力を行なわない。
【0131】
これにより、1つのノード(プロセッサ、CPU)が、他の15台の計算ノードからのファイル出力用データの送信を受け取る場合に比べ、代表ノード当たり3台分の通信で済むので、出力する結果データに関連するプロセッサ間でのファイル出力用通信のみでよくなるし、出力処理を行なうノード数も減る。第2比較例を示した図4Cにおけるノード#8での計算結果データの集約(S122_#8 )やファイル出力処理(S124_#8 )、および、図示を割愛したノード#12での計算結果データの集約(S122_#12)やファイル出力処理(S124_#12)が不要となる。第2比較例との対比でも、出力処理を行なうノード数が減る分だけ出力処理時間が短縮される。力マトリックスと粒子の優先度付けを併用することで、ファイル出力の実施・非実施のための判定処理が簡便となり、高速な出力対象選択処理およびファイル出力処理が実現される。
【0132】
第2構成例の粒子挙動解析装置202を適用する場合は、各ノード(プロセッサ)が各別にファイル出力処理を行なう、または、何れか1つのノード(プロセッサ)にファイル出力データを集合させるためにデータ通信を行ない、その1つのノードが代表してファイル出力処理を行なう。
【0133】
たとえば、図5Cに示すように、粒子#0〜#15は優先度が高いので、ノード#0は、自身が担当する粒子#0,#1を除く粒子#2〜#15を担当する各ノード#1〜#7から計算結果データを受け付け、代表してそれら粒子#0〜#15の計算結果のファイル出力を行なう。一方、粒子#16〜#31は優先度が低いので、それらに対応付けられたノード#8〜#15に関しては、計算結果データの集約や計算結果のファイル出力を行なわない。
【0134】
これにより、1つのノード(プロセッサ、CPU)が、他の15台の計算ノードからのファイル出力用データの送信を受け取る場合でも、出力処理の対象となるノード数(事実上の粒子数)が減り、その分だけ出力処理時間が短縮する。力マトリックスと粒子の優先度付けを併用することで、ファイル出力の実施・非実施のための判定処理が簡便となり、高速な出力対象選択処理およびファイル出力処理が実現される。
【0135】
なお、優先度を高く設定すべきものは挙動の主体となるものにすることに限定されない。たとえば、挙動の主体とならない脇役となる粒子の振る舞いの解析結果を表示する場合には、その挙動の主体とならない粒子の優先度を高く設定するとよい。また、それらを併用して、挙動の主体となる粒子の振る舞いの解析結果と挙動の主体とならない粒子の振る舞いの解析結果を切り分けて表示するようにしてもよい。
【0136】
以下、具体的な事例で説明する。
【0137】
<ファイル出力処理:第1実施形態>
図6は、ファイル出力処理の第1実施形態を説明する図である。
【0138】
第1実施形態は、粒子種に基づき優先度を設定する場合の事例である。特に、トナー粒子に着目したデータ解析作業を行なう際に、優先度の高い粒子をトナー粒子とし、優先度の低い粒子をキャリア粒子とすることで、トナー粒子の計算データのみファイル出力する場合の事例である。たとえば、個別要素法(DEM)での粉体シミュレーションの一例である現像量の解析で、感光体10上に現像されたトナー現像量を計算する場合への適用例である。
【0139】
たとえば、第1構成例の粒子挙動解析装置202を適用する図5において、優先度設定部242は、トナー粒子をファイル出力処理の対象となるように優先度の高い粒子に割り当て、キャリア粒子をファイル出力処理の対象とならないように優先度の低い粒子に割り当てる。つまり、トナー粒子には高い優先度を与え、計算結果を出力するマトリックス部分に割り当て、キャリア粒子には低い優先度を与え、計算結果を出力しないマトリックス部分に割り当てる。
【0140】
具体的には、図5と対応する図6において、トナー粒子に小さい番号を付け優先度を上げるべく、全32粒子の内、出力ファイルを必要とするトナー粒子には0番から15番を設定し、出力ファイルを必要としないキャリア粒子には16番から31番を設定する。トナー粒子は2粒子ずつノード#0〜7に割り当て、キャリア粒子は2粒子ずつノード#8〜15に割り当てる。トナー粒子に優先度を高く割り当て、トナー粒子の計算データのみをファイル出力する。
【0141】
第1構成例の粒子挙動解析装置202を適用する場合は、トナー粒子の計算データのみをファイル出力するため、ノード#0〜7においてのみ力マトリックスの行方向で出力用データを通信することで計算結果データを集約し、各代表ノード(#0〜3についての#0、#4〜7についての#4)が順にファイル出力を行なう。これにより、出力するデータ量は全粒子の半分で済み、ファイル出力のための処理時間が短縮される。
【0142】
図示を割愛するが、第2構成例の粒子挙動解析装置202を適用する場合は、図5Bにおいて、トナー粒子を優先度の高い粒子(#0〜#15)に割り当て、キャリア粒子を優先度の低い粒子(#16〜#31)に割り当てればよい。そして、ファイル出力は、各ノードが各別に、または、何れか1つのノードに集約して行なう。
【0143】
<ファイル出力処理:第2実施形態>
図7は、ファイル出力処理の第2実施形態を説明する図である。
【0144】
第2実施形態は、粒子種に基づき優先度を設定する場合の事例である。特に、キャリア粒子に着目したデータ解析作業を行なう際に、優先度の高い粒子をキャリア粒子とし、優先度の低い粒子をトナー粒子とすることで、キャリア粒子の計算データのみファイル出力する場合の事例である。たとえば、個別要素法(DEM)での粉体シミュレーションの一例である現像量の解析で、現像剤のピックアップ領域やピックオフ領域に着目した解析のように、キャリア粒子の挙動に着目する場合への適用例である。
【0145】
たとえば、第1構成例の粒子挙動解析装置202を適用する図5において、優先度設定部242は、キャリア粒子をファイル出力処理の対象となるように優先度の高い粒子に割り当て、トナー粒子をファイル出力処理の対象とならないように優先度の低い粒子に割り当てる。つまり、キャリア粒子には高い優先度を与え、計算結果を出力するマトリックス部分に割り当て、トナー粒子には低い優先度を与え、計算結果を出力しないマトリックス部分に割り当てる。
【0146】
具体的には、図5と対応する図7において、キャリア粒子に小さい番号を付け優先度を上げるべく、全32粒子の内、出力ファイルを必要とするトナー粒子には0番から15番を設定し、出力ファイルを必要としないトナー粒子には16番から31番を設定する。キャリア粒子は2粒子ずつノード#0〜7に割り当て、トナー粒子は2粒子ずつノード#8〜15に割り当てる。キャリア粒子に優先度を高く割り当て、キャリア粒子の計算データのみをファイル出力する。
【0147】
第1構成例の粒子挙動解析装置202を適用する場合は、キャリア粒子の計算データのみをファイル出力するため、ノード#0〜7においてのみ力マトリックスの行方向で出力用データを通信することで計算結果データを集約し、各代表ノード(#0〜3についての#0、#4〜7についての#4)が順にファイル出力を行なう。これにより、出力するデータ量は全粒子の半分で済み、ファイル出力のための処理時間が短縮される。
【0148】
キャリア粒子とトナー粒子の混合系でのピックアップ・ピックオフを解析する場合に、フローに寄与するキャリア粒子の計算結果のみをファイル出力する。キャリア粒子より粒子数の多いトナー粒子のファイル入出力処理を行なわないことで、本実施形態を適用しない場合よりもファイル出力処理時間の大幅な短縮を見込める。
【0149】
図示を割愛するが、第2構成例の粒子挙動解析装置202を適用する場合は、図5Bにおいて、キャリア粒子を優先度の高い粒子(#0〜#15)に割り当て、トナー粒子を優先度の低い粒子(#16〜#31)に割り当てればよい。そして、ファイル出力は、各ノードが各別に、または、何れか1つのノードに集約して行なう。
【0150】
<ファイル出力処理:第3実施形態>
図8〜図8Aは、ファイル出力処理の第3実施形態を説明する図である。ここで、図8は、ファイル出力処理の第3実施形態における優先度の対応付け手法を説明する図である。図8Aは、ファイル出力処理の第3実施形態を説明する図である。
【0151】
第3実施形態は、粒子の特性に着目し、その特性分布に基づき優先度を設定する場合の事例である。分布として挙動の主体となる粒子を多く含む分布部分には優先度を高くし、分布として挙動の主体となる粒子を多くは含まない分布部分には優先度を低くことで、挙動の主体となる特性を持つ粒子を多く含む分布部分の計算データのみファイル出力する場合の事例である。特に、後述する第5実施形態(特に第2例)との相違点として、全粒子に対して着目する粒子が占める割合が代表ノードとの関係でキチンと切り分けられる場合に有効な手法である。また、後述する第5実施形態(特に第3例)との相違点として、分布が概ね正規分布に近い形状を持つ場合に有効な手法である。
【0152】
特性としては、たとえば電子写真方式の画像形成装置1の場合トナー粒子の粒径や帯電量などが考えられる。たとえば、個別要素法(DEM)での粉体シミュレーションの一例である現像量の解析で、特定(分布の中心:中心値付近など)を含む一定範囲の粒子径や帯電量を持ったトナー粒子に着目した解析のように、トナー粒子の内で、挙動の主体となるトナー粒子に着目する場合への適用例である。
【0153】
たとえば、第1構成例の粒子挙動解析装置202を適用する図5において、優先度設定部242は、図8に示すように、粒子径や帯電量に着目した分布特性で、その分布形状が正規分布に近い形状を持つ場合に、分布量の多い中心近傍のトナー粒子特性をファイル出力処理の対象となるように優先度の高い粒子に割り当て、分布量の少ないトナー粒子特性をファイル出力処理の対象とならないように優先度の低い粒子に割り当てる。
【0154】
つまり、分布量の多いトナー粒子には高い優先度を与え、計算結果を出力するマトリックス部分に割り当て、分布量の少ないトナー粒子には低い優先度を与え、計算結果を出力しないマトリックス部分に割り当てる。たとえば、全粒子の内の1/2を含む範囲をファイル出力の対象となるように優先度を高く設定し、それ以外はファイル出力の対象とならないように優先度を低く設定する。
【0155】
具体的には、図5と対応する図8Aにおいて、特定(中心値付近など)の粒子径や帯電量を持ったトナー粒子に小さい番号を付け優先度を上げるべく、全32個のトナー粒子の内、出力ファイルを必要とする特定(中心値付近などの全粒子の半分)のトナー粒子には0番から15番を設定し、出力ファイルを必要としない小粒径および大粒径や帯電量の小さいおよび大きいトナー粒子には16番から31番を設定する。各トナー粒子は2粒子ずつノード#0〜15に割り当てる。粒子径や帯電量の分布において、特定(中心値付近など)の分布のトナー粒子に優先度を高く割り当て、その特定の分布の粒子の計算データのみをファイル出力する。
【0156】
第1構成例の粒子挙動解析装置202を適用する場合は、粒子径分布や帯電量分布の内、平均値近傍の粒子径や帯電量を持つ全粒子中の半分のトナー粒子の計算データのみをファイル出力するため、ノード#0〜7においてのみ力マトリックスの行方向で出力用データを通信することで計算結果データを集約し、各代表ノード(#0〜3についての#0、#4〜7についての#4)が順にファイル出力を行なう。これにより、出力するデータ量は全粒子の半分で済み、ファイル出力のための処理時間が短縮される。
【0157】
図示を割愛するが、第2構成例の粒子挙動解析装置202を適用する場合は、図5Bにおいて、分布量の多い粒子を優先度の高い粒子(#0〜#15)に割り当て、分布量の少ない粒子を優先度の低い粒子(#16〜#31)に割り当てればよい。そして、ファイル出力は、各ノードが各別に、または、何れか1つのノードに集約して行なう。
【0158】
前記の例では、分布量の多い中心近傍は優先度を高く設定したが、逆に、分布量の少ない部分の優先度を高く設定し、その部分に着目した解析結果のファイル出力を行なうようにしてもよい。たとえば、挙動の主体とならない脇役となる粒子の振る舞いの解析結果を表示する場合である。また、分布量の多い中心近傍に関するファイル出力と分布量の少ない部分に関するファイル出力の双方を行なうことで、挙動の主体となる粒子の振る舞いの解析結果と挙動の主体とならない粒子の振る舞いの解析結果を切り分けて表示するようにしてもよい。
【0159】
<ファイル出力処理:第4実施形態>
図9〜図9Aは、ファイル出力処理の第4実施形態を説明する図である。ここで、図9は、ファイル出力処理の第4実施形態における優先度の対応付け手法を説明する図である。図9Aは、ファイル出力処理の第4実施形態を説明する図である。
【0160】
第4実施形態は、電子写真方式やそれ以外での粒子挙動解析への適用で、特に、分子レベルでの挙動解析への適用例である。この場合、粒子の分子を構成する原子種に基づき優先度を設定する。挙動の主体となる原子種には優先度を高く設定し、それ以外は優先度を低く設定する場合の事例である。たとえば、分子動力学(Molecular Dynamics:MD)法での分子動力学シミュレーションの一例である有機化合物の挙動解析への適用例である。
【0161】
たとえば、炭素原子と酸素原子を含む有機化合物の場合には、炭素原子の方を酸素原子よりも優先度を高く設定することで酸素原子の解析結果はファイル出力しない。また、窒素原子と水素原子を含む有機化合物の場合には、窒素原子の方を水素原子よりも優先度を高く設定することで、水素原子の解析結果はファイル出力しない。炭素原子と酸素原子と窒素原子と水素原子を含む有機化合物の場合には、前記の組合せから決定する。たとえば、分子挙動解析結果で主要な対象は炭素原子であるため、水素原子の解析結果はファイル出力しない。
【0162】
たとえば、図9に示すように、高分子の材料物性は、炭素原子や酸素原子の挙動によって決まり、炭素原子の振る舞いが最も強く現われ、水素原子による寄与は小さい。この場合、原子種に優先度(炭素原子>酸素原子>水素原子)を付け、計算結果の出力有無を設定する。一例として、炭素原子や酸素原子の解析結果はファイル出力するが、水素原子の解析結果はファイル出力しない。
【0163】
たとえば、全32個の原子の内、炭素原子と酸素原子がその半分の16個で、残りの16個が水素原子であるとする。この場合、具体的には、図5と対応する図9Aにおいて、炭素原子や酸素原子に小さい番号を付け優先度を上げるべく、全32原子の内、出力ファイルを必要とする炭素原子や酸素原子には0番から15番を設定し、出力ファイルを必要としない水素原子には16番から31番を設定する。炭素原子や酸素原子は2原子ずつノード#0〜7に割り当て、水素原子は2原子ずつノード#8〜15に割り当てる。炭素原子や酸素原子に優先度を高く割り当て、炭素原子や酸素原子の計算データのみをファイル出力する。
【0164】
第1構成例の粒子挙動解析装置202を適用する場合は、炭素原子や酸素原子の計算データのみをファイル出力するため、ノード#0〜7においてのみ力マトリックスの行方向で出力用データを通信することで計算結果データを集約し、各代表ノード(#0〜3についての#0、#4〜7についての#4)が順にファイル出力を行なう。これにより、出力するデータ量は全原子の半分で済み、ファイル出力のための処理時間が短縮される。
【0165】
水素原子は一般的に原子数が多いので、高分子材料の分子動力学シミュレーションにおいて、水素原子に関しては解析結果のファイル出力処理を行なわないことで、本実施形態を適用しない場合よりもファイル出力処理時間の大幅な短縮を見込める。
【0166】
図示を割愛するが、第2構成例の粒子挙動解析装置202を適用する場合は、図5Bにおいて、挙動の主体となる原子種を優先度の高い原子(#0〜#15)に割り当て、挙動の主体となる原子種を除くものを優先度の低い原子(#16〜#31)に割り当てればよい。
【0167】
<ファイル出力処理:第5実施形態>
図10〜図10Eは、ファイル出力処理の第5実施形態を説明する図である。ここで、図10は、ファイル出力処理の第5実施形態(第1例)における優先度の対応付け手法を説明する図である。図10Aは、ファイル出力処理の第5実施形態(第1例)を説明する図である。図10Bは、ファイル出力処理の第5実施形態(第2例)における優先度の対応付け手法を説明する図である。図10Cは、ファイル出力処理の第5実施形態(第2例)を説明する図である。図10Dは、ファイル出力処理の第5実施形態(第3例)における優先度の対応付け手法を説明する図である。図10Eは、ファイル出力処理の第5実施形態(第3例)を説明する図である。
【0168】
第5実施形態は、第1〜第4実施形態を一般化したもので、粒子をn個の分布に分け、それを力マトリックスを構成するn個のプロセッサ(数値演算処理部234)に割り当てるとともに、n個の分布に優先度を設定する場合である。分布区分数と数値演算処理部234の数を一対一に対応させ、各分布に優先度を設定する。このとき、たとえば、挙動の主体となる分布には優先度を高く設定し、それ以外は優先度を低く設定する。第3実施形態と似通っているが、分布形状に合わせてより細かく分布を区分けし、それらに優先度を各別に設定する適用例である。
【0169】
分布そのものの考え方に関しては、第3実施形態と同様に、粒子の特性に着目し、その特性分布に基づき優先度を設定すればよく、特性としては、たとえば電子写真方式の画像形成装置1であればトナー粒子の粒径や帯電量などが考えられる。
【0170】
粒子をn個の分布に分け、それを力マトリックスを構成する各プロセッサに割り当てる。具体的には、分布番号0,1,…,n−2,n−1に粒子分布を分け、解析結果データをファイル出力する分布に対して優先度を高く設定する。分布番号0,1,…,n−2,n−1は,それぞれプロセッサ#0,#1,…,#(n−2),#(n−1)に対応づける。そして、基準値を超えるように優先度が高く与えられた分布に割り当てられたプロセッサのみがファイル出力処理を行なう。
【0171】
たとえば、図10に示す第5実施形態(第1例)の優先度の対応付け手法は、図8に示した第3実施形態と似通っている。違いは、第3実施形態では分布の中心近傍とそれ以外という大まかな分け方をしているのに対して、第5実施形態では、粒子をn個の分布に分けている点にある。第3実施形態と同様に、全粒子に対して着目する粒子が占める割合が代表ノードとの関係でキチンと切り分けられる場合に有効な手法である。
【0172】
後述する第5実施形態(第2例、第3例)との相違点としては、行方向の代表ノードが纏めてファイル出力を担当する部分と一対一で優先度の高い・低いの対応付けをとれる場合の事例である。たとえば、第1構成例の粒子挙動解析装置202を適用する図5において、優先度設定部242は、挙動の主体となる分布を優先度の高い粒子を担当する代表ノードに割り当て、挙動の主体となる分布以外は優先度の低い粒子を担当する代表ノードに割り当てる。
【0173】
たとえば、n=16とする。図10において、分布番号4〜11は優先度が高く与えられた分布であり、図10Aにおいて、それらの分布に対応付けられたノード#4〜#11に関して、代表ノードがファイル出力を行なう。具体的には、ノード#4は、同一行の各ノード#4〜#7の計算結果データを集約し、代表してそれらの計算結果のファイル出力を行なう。ノード#8は、同一行の各ノード#8〜#11の計算結果データを集約し、代表してそれらの計算結果のファイル出力を行なう。一方、分布番号0〜3,12〜15は優先度が低く与えられた分布であり、図10Aにおいて、それらの分布に対応付けられたノード#0〜#3,#12〜#15に関しては、計算結果のファイル出力を行なわない。第3実施形態との対比では、ファイル出力を担当するノードが異なるけれども、実態的には、第3実施形態と同様の処理になる。
【0174】
図示を割愛するが、第2構成例の粒子挙動解析装置202を適用する場合は、行方向の代表ノードが纏めてファイル出力を担当する部分と一対一で優先度の高い・低いの対応付けを行なうという概念は存在し得ない。よって、図5Bにおいて、挙動の主体となる分布を優先度の高い粒子を担当するノードに割り当て、挙動の主体となる分布以外は優先度の低い粒子を担当するノードに割り当てればよい。そして、ファイル出力は、各ノードが各別に、または、何れか1つのノードに集約して行なう。
【0175】
また、図10Bに示す第5実施形態(第2例)の優先度の対応付け手法は、図10に示す第5実施形態(第1例)と似通っている。違いは、全粒子に対して着目する粒子が占める割合が代表ノードとの関係でキチンと切り分けられない場合に適用される。第5実施形態(第1例)では行方向の代表ノードが纏めてファイル出力を担当する部分と一対一で優先度の高い・低いの対応付けをとっていたが、第5実施形態(第1例)では行方向の代表ノードが纏めてファイル出力を担当する部分と一対一で優先度の高い・低いの対応付けをとれる部分と、一対一で優先度の高い・低いの対応付けをとれない部分とが混在する場合の事例である。
【0176】
たとえば、第1構成例の粒子挙動解析装置202を適用する図5において、優先度設定部242は、行方向の代表ノードが纏めてファイル出力を担当する部分と一対一で優先度の高い・低いの対応付けをとれる部分に関しては、挙動の主体となる分布を優先度の高い粒子を担当する代表ノードに割り当て、挙動の主体となる分布以外を優先度の低い粒子を担当する代表ノードに割り当てる。行方向の代表ノードが纏めてファイル出力を担当する部分と一対一で優先度の高い・低いの対応付けをとれない部分に関しては、挙動の主体となる分布を優先度の高い粒子を担当するノードに割り当て、挙動の主体となる分布以外を優先度の低い粒子を担当するノードに割り当てる。
【0177】
たとえば、全粒子数n=16とする。図10Bにおいて、分布番号3〜12は優先度が高く与えられた分布であり、図10Cにおいて、それらの分布に対応付けられたノード#3〜#12に関して、代表ノードがファイル出力を行なう。具体的には、ノード#4は、同一行の各ノード#4〜#7の計算結果データを集約し、代表してそれらの計算結果のファイル出力を行なう。ノード#8は、同一行の各ノード#8〜#11の計算結果データを集約し、代表してそれらの計算結果のファイル出力を行なう。
【0178】
また、図10Bにおいて、分布番号0〜2,13〜15は優先度が低く与えられた分布であり、図10Cにおいて、それらの分布に対応付けられたノード#0〜#2,#13〜#15に関しては、計算結果のファイル出力を行なわない。ここで、ノード#0〜#3を代表する代表ノード#0は、分布番号3に対応付けられたノード#3の計算結果ファイルを受け取り、代表してその計算結果のファイル出力を行なう。ノード#12〜#15を代表する代表ノード#12は、分布番号12に対応付けられた自身(ノード#12)の計算結果のファイル出力を行なう。
【0179】
図示を割愛するが、第2構成例の粒子挙動解析装置202を適用する場合は、行方向の代表ノードが纏めてファイル出力を担当する部分と一対一で優先度の高い・低いの対応付けを行なうという概念は存在し得ない。よって、図5Bにおいて、挙動の主体となる分布を優先度の高い粒子を担当するノードに割り当て、挙動の主体となる分布以外を優先度の低い粒子を担当するノードに割り当てればよい。そして、ファイル出力は、各ノードが各別に、または、何れか1つのノードに集約して行なう。
【0180】
また、図10Dに示す第5実施形態(第3例)の優先度の対応付け手法は、図10に示す第5実施形態(第2例)における「行方向の代表ノードが纏めてファイル出力を担当する部分と一対一で優先度の高い・低いの対応付けをとれない部分と同じである。第3・第5実施形態(第1例・第2例)との相違点として、分布の中心が全範囲の中心からずれて端に片寄っている場合(図10D(1))や、山・谷が周期的に繰り返す形状を持つ場合(図10D(2))、など分布が正規分布に近い形状を持たない場合に有効な手法である。その場合でも、分布形状に合わせて着目する粒子が占める分布部分に優先度を高く設定すればよい。すなわち、第1構成例の粒子挙動解析装置202を適用する図5において、優先度設定部242は、挙動の主体となる分布を優先度の高い粒子を担当するノードに割り当て、挙動の主体となる分布以外を優先度の低い粒子を担当するノードに割り当てる。
【0181】
たとえば、n=16とし、山・谷が周期的に繰り返す形状を持つ図10D(2)への適用例で具体的に説明する。図10D(2)において、奇数番目の分布番号は優先度が高く与えられた分布であり、偶数番目の分布番号は優先度が低く与えられた分布であるものとする。たとえば、粒子Aが優先度の高い粒子で、粒子Bが優先度の低い粒子である際に、粒子Aは奇数番目の分布番号のものに対応し、粒子Bは偶数番目の分布番号のものに対応する場合が該当する。また、それとは逆に、粒子Bが優先度の高い粒子で、粒子Aが優先度の低い粒子である際に、粒子Bは奇数番目の分布番号のものに対応し、粒子Aは偶数番目の分布番号のものに対応する場合が該当する。
【0182】
図10Eにおいて、優先度が高い奇数番目の分布番号に対応付けられた奇数番目のノード#1,#3,…,#15に関して、代表ノードがファイル出力を行なう。偶数番目の分布番号は優先度が低く与えられた分布であり、図10Eにおいて、それらの分布に対応付けられた偶数番目のノード#0,#2,…,#14に関しては、計算結果のファイル出力を行なわない。
【0183】
ここで、ノード#0〜#3を代表する代表ノード#0は、優先度の高い奇数番目の分布番号1,3に対応付けられたノード#1,#3の計算結果ファイルを受け取り、代表してその計算結果のファイル出力を行なう。ノード#4〜#7を代表する代表ノード#4は、優先度の高い奇数番目の分布番号5,7に対応付けられたノード#5,#7の計算結果ファイルを受け取り、代表してその計算結果のファイル出力を行なう。ノード#8〜#11を代表する代表ノード#8は、優先度の高い奇数番目の分布番号9,11に対応付けられたノード#9,#11の計算結果ファイルを受け取り、代表してその計算結果のファイル出力を行なう。ノード#12〜#15を代表する代表ノード#8は、優先度の高い奇数番目の分布番号9,15に対応付けられたノード#9,#15の計算結果ファイルを受け取り、代表してその計算結果のファイル出力を行なう。
【0184】
図示を割愛するが、第2構成例の粒子挙動解析装置202を適用する場合は、行方向の代表ノードが纏めてファイル出力を担当する部分と一対一で優先度の高い・低いの対応付けを行なうという概念は存在し得ない。よって、図5Bにおいて、挙動の主体となる分布を優先度の高い粒子を担当するノードに割り当て、挙動の主体となる分布以外を優先度の低い粒子を担当するノードに割り当てればよい。そして、ファイル出力は、各ノードが各別に、または、何れか1つのノードに集約して行なう。
【0185】
<他の分割法への適用>
前記の各実施形態では、力分割法との組合せで説明したが、本実施形態において優先度に基づいてファイル出力を行なうか否かを切り分ける仕組みは、他の分割法と組み合わせてよい。解析対象範囲に関して予め決められた分割法に従って分割された分割部分について、解析結果の出力処理と対応する優先度を設定し、その優先度に基づいて各分割部分について数値演算処理部234により得られた解析結果の出力可否を切り替えればよい。
【0186】
たとえば、粒子分割法(粒子分割並列化処理)は力分割法と似通っており、粒子をマトリクス状に配置する。よって、粒子分割法への適用においては、そのマトリクス上で、前記実施形態と同様に粒子や原子に優先度を設定し、その優先度に基づきファイル出力を行なうか否かを切り分ければよい。なお、力分割法では、特許文献1に記載のように、力マトリクスの特定プロセッサとの間でのみ計算データの通信を行なうのに対して粒子分割法では全プロセッサ間でデータ通信が必要とされ、全解析処理に占める通信処理に要する時間の割合が力分割法よりも多くなる。
【0187】
解析結果のファイル出力の側面では、力分割法では、行方向に纏めて代表ノードでファイル出力処理を行なう第2比較例の手法を適用し得るが、粒子分割法では、第2比較例のような手法は採り得ず、力分割法の第1比較例と同様に、何れか1つのノードに集約してファイル出力するか、各ノードが各別にファイル出力することになる。
【0188】
また、領域分割法への適用においては、分割された領域に対して、前記実施形態と同様に優先度を設定し、その優先度に基づきファイル出力を行なうか否かを切り分ければよい。たとえば、図1において、感光体10と現像ロール140の各周縁が対向し現像作用の行なわれる範囲領域(現像ニップ領域)に関する現像剤粒子102の挙動解析では、記録画像に応じて帯電されている感光体10の表面へのトナー粒子の飛翔および感光体10への付着の状況が記録画像の画質を左右する。よって、現像ニップ領域に関してある程度広い解析対象領域を設定して領域分割法を適用するが、その中でも、特に、記録画像に応じて帯電されている感光体10の表面へトナー粒子が飛翔する部分を含む分割領域の優先度を、他の分割領域の優先度よりも高く設定するとよい。
【0189】
また、図1において、現像装置40の攪拌プロセスの解析では、図示しない攪拌搬送ロールにより現像剤粒子102が攪拌・搬送される攪拌搬送領域や、攪拌搬送領域と層形成領域との間のピックアップ領域や現像剤粒子102の回収されるピックオフ領域での解析が重要となる。よって、現像ロール140を解析対象領域に設定して領域分割法を適用するが、その中でも、特に、攪拌搬送領域やピックアップ領域やピックオフ領域を含む分割領域の優先度を、他の分割領域の優先度よりも高く設定するとよい。
【0190】
なお、領域分割法では、特許文献1に記載のように、プロセッサ数(ノード数)を過度に増やすと、全処理時間における通信時間の比率が増大して並列化の効果が飽和する。粒子分割法と同様に、全解析処理に占める通信処理に要する時間の割合が力分割法よりも多くなる。
【0191】
こういった点では、複数プロセッサを使用した並列化処理による全処理時間の短縮性能も加味すれば、力分割法へ前記実施形態を適用すると、ファイル出力処理も含めた全体としての粒子挙動解析処理性能が向上する。
【0192】
以上、本発明について実施形態を用いて説明したが、本発明の技術的範囲は前記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で前記実施形態に多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれる。
【0193】
また、前記の実施形態は、クレーム(請求項)にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組合せの全てが発明の解決手段に必須であるとは限らない。前述した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組合せにより種々の発明を抽出できる。実施形態に示される全構成要件から幾つかの構成要件が削除されても、効果が得られる限りにおいて、この幾つかの構成要件が削除された構成が発明として抽出され得る。
【0194】
前記実施形態は、情報処理装置が適用される具体例として粒子挙動解析装置を例に説明するとともに、解析対象粒子が存在する装置としては画像形成装置を例に説明したが、これは一例に過ぎない。
【0195】
たとえば、粒子挙動解析は、現像装置40における攪拌プロセスや現像プロセスへの適用に限定されない。たとえば、電子写真方式の転写装置における転写プロセスや、クリーニング装置における清掃プロセスにも適用してよい。また、粒子種や作用力を問わず、あらゆる粒子(粉体)を取り扱うシステムのシミュレーションにも同様に適用してよい。電子写真方式以外では、岩石などの落石シミュレーション、ホッパー内の粉の流動シミュレーション、製薬用製剤装置内の粉末体の流動シミュレーションなどへ適用してもよい。
【0196】
また、前記実施形態の仕組みは、複数のプロセッサを有する情報処理装置において、情報処理結果(具体的には粒子挙動解析用の計算結果)の出力処理を効率的に行なうものであるから、同様のシステム構成を持つ情報処理装置(情報処理システム)に、前記実施形態の仕組みが同様に適用されることは自明である。その場合、計算処理対象は粒子挙動解析に限定されず、一般的なものでよく、数値演算処理部234は入力された計算情報に基づき情報処理計算を行なう計算部に置き換え、出力データ処理部236は、情報処理計算の結果の出力可否を切り替えるものとすればよい。
【図面の簡単な説明】
【0197】
【図1】電子写真方式の画像形成装置の一構成例を示す図である。
【図2】粒子挙動解析システムの構成例を示すブロック図である。
【図3】粒子挙動解析装置の第1構成例を説明する図(主粒子挙動解析装置に着目)である。
【図3A】粒子挙動解析装置の第1構成例を説明する図(副粒子挙動解析装置に着目)である。
【図3B】粒子挙動解析装置の第2構成例を説明する図(主粒子挙動解析装置に着目)である。
【図3C】粒子挙動解析装置の第2構成例を説明する図(副粒子挙動解析装置に着目)である。
【図4】第2構成例の粒子挙動解析装置を適用した場合のファイル出力処理を説明する図である。
【図4A】第2構成例の粒子挙動解析装置を適用した場合のファイル出力処理を説明する図である。
【図4B】第1構成例の粒子挙動解析装置を適用した場合のファイル出力処理を説明する図である。
【図4C】第1比較例と第2比較例のファイル出力処理の対比を説明する図である。
【図5】第1構成例の粒子挙動解析装置を適用した場合の本実施形態のファイル出力処理の基本原理を説明する図である。
【図5A】第2構成例の粒子挙動解析装置を適用した第1比較例と第1構成例の粒子挙動解析装置を適用した本実施形態の各ファイル出力処理の対比を説明する図である。
【図5B】第2構成例の粒子挙動解析装置を適用した場合の本実施形態のファイル出力処理の基本原理を説明する図である。
【図5C】第2構成例の粒子挙動解析装置を適用した第1比較例と第2構成例の粒子挙動解析装置を適用した本実施形態の各ファイル出力処理の対比を説明する図である。
【図6】ファイル出力処理の第1実施形態を説明する図である。
【図7】ファイル出力処理の第2実施形態を説明する図である。
【図8】ファイル出力処理の第3実施形態における優先度の対応付け手法を説明する図である。
【図8A】ファイル出力処理の第3実施形態を説明する図である。
【図9】ファイル出力処理の第4実施形態における優先度の対応付け手法を説明する図である。
【図9A】ファイル出力処理の第4実施形態を説明する図である。
【図10】ファイル出力処理の第5実施形態(第1例)における優先度の対応付け手法を説明する図である。
【図10A】ファイル出力処理の第5実施形態(第1例)を説明する図である。
【図10B】ファイル出力処理の第5実施形態(第2例)における優先度の対応付け手法を説明する図である。
【図10C】ファイル出力処理の第5実施形態(第2例)を説明する図である。
【図10D】ファイル出力処理の第5実施形態(第3例)における優先度の対応付け手法を説明する図である。
【図10E】ファイル出力処理の第5実施形態(第3例)を説明する図である。
【符号の説明】
【0198】
1…画像形成装置、200…粒子挙動解析システム、202…粒子挙動解析装置、210…指示入力装置、212…表示装置、220…データ入力部、230…データ処理部、232…データ受付部、234…数値演算処理部、236…出力データ処理部、238…データ記憶部、240…情報提示部、242…優先度設定部、250…分割処理部、250a…解析負荷分散処理部、260…行方向処理結果出力処理部
【技術分野】
【0001】
本発明は、粒子挙動解析装置および情報処理装置とプログラムに関する。
【背景技術】
【0002】
デジタル処理を行なう情報処理装置において、複数のプロセッサ(計算装置)により並列処理を行なうものが知られている(特許文献1,2を参照)。以下では、このような情報処理装置をマルチプロセッサ装置とも称する。
【0003】
【特許文献1】特開2007−193152公報
【特許文献2】特開2007−265143公報
【0004】
特許文献1では、複数のプロセッサの並列処理により力分割並列アルゴリズムに従って粒子挙動解析処理を行なう仕組みが提案されている。具体的には、ネットワーク接続された複数の計算装置を使用して、複数種類の粒子間相互作用を考慮しつつ、粒子挙動解析を高速に実現できるようにしている。たとえば、各粒子の磁気力、静電気力、接触力の各粒子間相互作用について、それぞれ各別の力マトリクスを用いて、特定プロセッサに分散して計算、特定プロセッサ間で通信し分散して計算した相互作用力の和を求め、各粒子の運動方程式を解いて位置座標を計算する。そして、各粒子の位置座標を特定プロセッサに通信し、計算情報を更新する。このような処理を予め決められた計算ステップに到達するまで、同様に繰り返す。
【0005】
特許文献2では、マルチプロセッサシステムにおいて、複数ファイルの処理を効率的に並列処理する仕組みが提案されている。具体的には、ファイル読み書き時に、ファイル操作を行なうプロセッサを指定し、プロセッサは予め決められた(所定)のデータをファイルに書き込む処理を行なう。つまり、複数ファイルに対して、ファイルごとに読み書き操作を行なうプロセッサを割り当てることを特徴としている。
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は、処理結果情報の出力処理を効率的に行なうことのできる仕組みを提供することを目的とする。
【課題を解決するための手段】
【0007】
請求項1に記載の発明は、解析対象範囲に関して予め決められた分割法に従って分割された分割部分について、他の装置との間で情報通信を行ないつつ、粒子に作用する他の物質との間での相互作用力を考慮して前記粒子の挙動を計算する粒子挙動計算部と、解析結果の出力処理の可否と対応する前記分割部分の優先度に基づいて前記粒子挙動計算部により得られた解析結果の出力可否を切り替える出力処理部と、を備えた粒子挙動解析装置である。
【0008】
請求項2に記載の発明は、請求項1に記載の発明において、解析対象範囲を予め決められた分割法に従って分割し、それぞれの分割部分を各粒子挙動計算部に割り当てる分割処理部と、前記分割部分に解析結果の出力処理と対応する優先度を設定する優先度設定部と、をさらに備えている。
【0009】
請求項3に記載の発明は、請求項2に記載の発明において、前記優先度設定部は、粒子の種類に基づいて優先度を設定する。
【0010】
請求項4に記載の発明は、請求項2に記載の発明において、前記優先度設定部は、粒子特性の分布に基づいて優先度を設定する。
【0011】
請求項5に記載の発明は、請求項4に記載の発明において、前記優先度設定部は、分布の区分数と前記数値演算処理部の数を一対一に対応させ、各分布に優先度を設定する。
【0012】
請求項6に記載の発明は、請求項2に記載の発明において、前記優先度設定部は、粒子を構成する原子の種類に基づいて優先度を設定する。
【0013】
請求項7に記載の発明は、請求項2〜6の内の何れか一項に記載の発明において、前記優先度設定部は、挙動の主体となる方の優先度を高く設定する。
【0014】
請求項8に記載の発明は、請求項2〜6の内の何れか一項に記載の発明において、前記優先度設定部は、挙動の主体とならない方の優先度を高く設定する。
【0015】
請求項9に記載の発明は、請求項2に記載の発明において、前記分割処理部は、粒子を力行列を使用した力分割法により分割し、それぞれの分割部分を各粒子挙動計算部に割り当てるものであり、さらに、前記優先度に基づいて解析結果の出力可否を切り替え、出力対象となるものついて、前記力行列における行方向ごとに、各粒子挙動計算部により得られた解析結果を前記出力処理部を介して集約し纏めて出力する行方向処理結果出力処理部を備える。
【0016】
請求項10に記載の発明は、解析対象範囲に関して予め決められた分割法に従って分割された分割部分について、他の装置との間で情報通信を行ないつつ、粒子に作用する他の物質との間での相互作用力を考慮して前記粒子の挙動を計算する粒子挙動計算部と、解析結果の出力処理の可否と対応する前記分割部分の優先度に基づいて前記粒子挙動計算部により得られた解析結果を出力する出力処理部と、して電子計算機を機能させるプログラムである。
【0017】
請求項11に記載の発明は、入力された計算情報に基づき情報処理計算を行なう計算部と、解析結果の出力処理の可否と対応する優先度に基づいて前記情報処理計算の結果の出力可否を切り替える出力処理部と、を備えた情報処理装置である。
【発明の効果】
【0018】
請求項1,2,10,11に記載の発明によれば、請求項1,10,11に係る発明を適用しない場合と比べて、処理結果情報の出力処理をより効率的に行なうことができる。
【0019】
請求項2に記載の発明によれば、
請求項3に記載の発明によれば、解析対象範囲に複数種類の粒子を含む場合に、粒子の種類に基づいた出力可否の切り替えを行なうことができる。
【0020】
請求項4に記載の発明によれば、粒子特性の分布に基づいた出力可否の切り替えを行なうことができる。
【0021】
請求項5に記載の発明によれば、請求項5に係る発明を適用しない場合と比べて、粒子特性の分布に基づいた出力可否の切り替えをより細かく制御できる。
【0022】
請求項6に記載の発明によれば、粒子を構成する原子の種類に基づいた出力可否の切り替えを行なうことができる。
【0023】
請求項7に記載の発明によれば、挙動の主体となる方に関する処理結果情報の出力処理をより効率的に行なうことができる。
【0024】
請求項8に記載の発明によれば、挙動の主体とならない方に関する処理結果情報の出力処理をより効率的に行なうことができる。
【0025】
請求項9に記載の発明によれば、力行列を構成する何れか1つの粒子挙動計算部が全ての分を纏めて解析結果の出力処理を行なう場合に比べて、解析結果の出力処理効率の低下を防止できる。
【発明を実施するための最良の形態】
【0026】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下においては、情報処理装置が適用される具体例として、粒子挙動解析装置を例に説明する。粒子挙動解析装置の解析対象粒子が存在する装置としては、たとえば、プリンタ装置、ファクシミリ装置、またはそれらの機能を有する複合機などの画像形成装置を例に説明する。
【0027】
解析対象粒子との関係においては、トナー粒子のみまたはキャリア粒子とトナー粒子からなる現像剤を用いる電子写真方式による画像形成装置の現像装置における現像剤挙動解析に着目する。ただしこれは一例であって、解析対象粒子が存在する装置は画像形成装置に限定されない。
【0028】
<画像形成装置の概要>
図1は、印刷装置(プリンタ)や複写装置(コピー機)などの電子写真方式の画像形成装置の一構成例を示す図である。図示のように、画像形成装置1は、感光体10を中心として、その近傍に配された直流電源22、交流バイアス電源24、および帯電部26を具備した帯電装置20と、レーザ光源32やポリゴンミラー34やモータ36を具備した露光装置30と、図示しない攪拌機構を備えた現像装置40と、転写電源52および転写部54を具備した転写装置50と、ブレード機構を持つクリーニング装置60と、用紙搬送路上の後流側の予め決められた位置に配されたロール機構を具備した定着装置70とを備えている。
【0029】
現像装置40には、現像剤粒子102が充填されている。図では、1つの現像剤粒子102を便宜的に1つの丸で示している。実際には、現像剤粒子102はたとえば、それぞれ物性や粒径の異なる磁性体から構成されたキャリア粒子と非磁性のトナー粒子(たとえば各色のトナー粒子)を主成分として含有する2成分方式のものである。キャリア粒子とトナー粒子の対によって、全体として磁性粉体が形成されるようにしている。トナー粒子は、キャリア粒子に静電力により互いに吸着されている。一般的には、キャリア粒子の粒径の方がトナー粒子の粒径よりも大きい。なお、トナー粒子としては、磁性トナーを使用してもよい。現像剤粒子102は、実際にはさらに、キャリア粒子およびトナー粒子の他に外添剤などの他の粒子も含む。
【0030】
現像装置40は、収納容器101内に、表面に現像剤粒子102を担持する担持ロールの一例である現像ロール140(マグロール、マグネットローラ、磁気搬送ローラとも言われる)を、周面が開口部101aから少し突き出すように備える。現像ロール140内には、その内周縁に沿って、予め決められた間隔で予め決められた数のマグネット142が配置されている。
【0031】
また、現像装置40は、現像ロール140の近傍に、高さ規制部材や層形成部材として機能する規制ブレード150を備え、マグネット142による磁力線に沿ってできた現像剤粒子102の磁気ブラシ(穂立ち)の高さを規制するようになっている。
【0032】
現像ロール140は、矢印X方向に回転される感光体10とともに、感光体10と対向する側のその表面の回転移動方向が、感光体10の移動方向Xと同じ向き(矢印Y方向)に回転される。感光体10の移動方向Xと逆向きに回転駆動するようにしてもよい。
【0033】
現像剤粒子102は、攪拌機能を持つ攪拌搬送ロール(図示せず)により攪拌され摩擦帯電されつつ現像ロール140側に搬送される。規制ブレード150によって現像剤粒子102の現像ロール140への吸着量が規制され一定の高さで現像ロール140の周縁に現像剤粒子102が付着する。キャリア粒子は、現像ロール140に内蔵されたマグネット142からの磁場により磁気ブラシを構成する。トナー粒子はキャリア粒子とともに、感光体10に対向する部分まで搬送される。
【0034】
画像形成装置1を複写装置として構成する場合、帯電装置20によって、直流電源22からの直流電圧に交流バイアス電源24からの交流バイアス電圧を重畳させて帯電電位(初期電位)を生成し、この帯電電位で、感光体10の表面を一様な表面電位に帯電させる。
【0035】
この後、原稿を図示しない読取装置によってスキャンして得た画像データに従って感光体10の表面に露光装置30に備えられるレーザ光源32から発せられるレーザ・ビームをモータ36により回転駆動されるポリゴンミラー34でスキャンすることによって、感光体10表面を露光して潜像電位からなる静電潜像を形成する。
【0036】
続いて、現像装置40は、図示しない攪拌機構において出力色のトナー粒子やキャリア粒子などでなる現像剤粒子102を混合しながら、その現像剤粒子102中のトナー粒子を感光体10の表面に形成されている静電潜像に重畳することでトナー像を感光体10の表面に形成させる。
【0037】
すなわち、現像ロール140は、感光体10に対向して設けられており、現像ロール140に吸着された現像剤粒子102のうちトナー粒子は、帯電されており、静電気力により感光体10に吸着される。このとき、感光体10の表面は、記録画像に応じて帯電されることで静電潜像が形成されており、トナー粒子は、感光体10に形成された静電潜像に応じて吸着される。これによって、感光体10の表面に形成された潜像は現像化される。現像処理後のキャリア粒子と、感光体10側に飛翔されなかったトナー粒子とは、収納容器101内に回収される。
【0038】
この後、転写装置50は、感光体10の表面に形成されているトナー像を、外部から搬送されてきた印刷用紙上に転写する。感光体10と転写部54とが対向する予め決められた範囲を転写領域と称する。
【0039】
転写済の用紙は定着装置70側に搬送され、定着装置70にて加熱溶融・圧着作用によりトナー像を転写体としての印刷用紙上に定着する。定着済の用紙は、図示しない排出装置によって、画像形成装置1の外に排紙される。
【0040】
一方、クリーニング装置60は、転写装置50による転写後の感光体10の表面に残留する残留トナーを除去する。清掃後の感光体10の表面には残留電位が残っているが、帯電装置20で初期電位を印加してから次の電子写真プロセスに利用される。
【0041】
なお、カラー画像形成用の画像形成装置1を構成する場合、画像形成に関わる主要部の構成としては、たとえば転写装置50にて直接に用紙に感光体10のトナー像を転写体である用紙に転写させるのではなく、たとえば、K(黒),Y(イエロー),M(マゼンタ),C(シアン)の出力色に対応する複数のエンジンを、たとえばK→Y→M→Cの順にインライン状に配列し、K,Y,M,Cの画像を4つのエンジンで並列的(同時進行的)に処理する、すなわち配置位置に応じた時間を隔てて、1色ずつ中間転写ベルトに感光体10のトナー像を転写(特に1次転写という)させ、その後、中間転写ベルト上のトナー像を用紙に転写(特に2次転写という)させるように構成したタンデム型のカラー画像形成装置にしてもよい。
【0042】
このような電子写真プロセスでは、感光体10に対する帯電、スキャンした原稿イメージの露光、現像すなわち感光体10へのトナー重畳、用紙へのトナー転写およびトナー定着、感光体10のクリーニングという複数の工程からなる。電子写真プロセスでは、たとえば、攪拌、現像、転写などの各プロセスにおいて粉体挙動解析シミュレーションを適用することで、現実に画像形成実験を行なうことなく、形成される画像を予測し評価する。キャリア粒子およびトナー粒子の挙動の解析が、電子写真装置本体や現像装置40の開発にとって重要な要素となる。
【0043】
たとえば、現像装置40の解析では、攪拌プロセスや現像プロセスなどが解析対象となる。たとえば、規制ブレード150の攪拌搬送ロール側の予め決められた範囲領域を層形成領域と称し、現像剤粒子102についての粒子挙動解析では、磁場および重力場の作用を考慮する。攪拌搬送ロールにより攪拌・搬送される予め決められた範囲領域を攪拌搬送領域と称し、現像剤粒子102についての粒子挙動解析では、重力場の作用を考慮する。
【0044】
攪拌搬送領域と層形成領域との間の現像剤粒子102が現像ロール140に磁気吸着される予め決められた範囲領域をピックアップ領域と称し、現像剤粒子102についての粒子挙動解析では、磁場および重力場の作用を考慮する。
【0045】
感光体10と現像ロール140の各周縁が対向し現像作用の行なわれる範囲領域を現像ニップ領域と称し、現像剤粒子102についての粒子挙動解析では、電場、磁場、重力場の作用を考慮する。現像剤粒子102の回収される予め決められた範囲領域をピックオフ領域と称し、現像剤粒子102についての粒子挙動解析では、磁場および重力場の作用を考慮する。
【0046】
感光体10の表面は、記録画像に応じて帯電されており、トナー粒子は、静電力により感光体10の表面に飛翔する。感光体10の表面には、飛翔したトナー粒子が付着し、記録画像に応じたトナー像が形成される。このとき、トナー粒子の感光体10への吸着のされ方によって、記録画像の画質が左右される。トナー粒子は、キャリア粒子により感光体10に搬送されているので、トナー粒子の感光体10への吸着のされ方は、現像ロール140と感光体10との間の現像ニップ領域でのキャリア粒子およびトナー粒子の挙動により決定される。
【0047】
また、転写装置50における転写プロセスでは、感光体表面粗さや、感光体・中間転写ベルトや用紙などの転写体間の速度差、転写体の接触幅などの転写プロセスにおける条件パラメータを変更しながら、粉体挙動解析シミュレーションを繰り返し行なっていくことで、転写プロセスを再現しながら形成される画質の評価を行なう。因みに、転写プロセスについての粒子挙動解析では、現像剤粒子102(特にトナー粒子)に作用する電場および重力場を考慮する。
【0048】
<粒子挙動解析システム>
図2は、粒子挙動解析システムの一構成例を示すブロック図である。粒子挙動解析システムにおいては、各相互作用の解析を行なう際、多くのプロセッサを用いた並列計算処理では、並列処理効率に飽和傾向が出る。その対策として、粒子分割、力分割、領域分割などの各種の分割手法を用いて解析する。以下では、特段の断りのない限り、力分割法を適用した粒子挙動解析を行なうものとして説明する。力分割法を用いて粒子挙動解析を行なう仕組みそのものについては特許文献1に記載のものと同様で良く、ここではその説明を割愛する。
【0049】
粒子挙動解析システム200Aは、それぞれ粒子挙動解析機能を有する複数台の粒子挙動解析装置202がネットワーク接続されて構成されている。各粒子挙動解析装置202は、1つの筐体内(半導体基板上)に計算処理を行なうコア部分(いわゆるCPUの部分)が1つのシングルコアのものである。
【0050】
各粒子挙動解析装置202は、主要の処理データを相互にネットワーク208を介して伝達し合い、粒子挙動解析処理を並列的に実行可能になっており、粒子挙動解析システム200Aとしては、事実上の並列型計算装置(クラスタ計算機)として構成されている。ネットワーク208は、通信状態がルーティング機能を持つネットワーク管理装置208aで管理されるようになっている。
【0051】
各粒子挙動解析装置202は、一例として、一般の電子計算機と同様のもので構成するのがよい。また、図示した例では、粒子挙動解析システム200Aを構成する各粒子挙動解析装置202の内の1台が全体を統括する計算管理ノードの機能を持つ主粒子挙動解析装置202aとして機能するようになっている。主粒子挙動解析装置202aに対して残りの粒子挙動解析装置202が、主粒子挙動解析装置202aにより制御される副粒子挙動解析装置202bとしてネットワーク接続されている。
【0052】
ここで、本実施形態の副粒子挙動解析装置202bは、詳細は後述するが、力分割法を適用する際に使用される力マトリクス(力行列)における行方向ごとに各副粒子挙動解析装置202bにより得られた解析結果を纏めて出力する機能部(行方向処理結果出力処理部)を具備する代表ノード用のもの(代表副粒子挙動解析装置202b_1)と、それ以外の一般ノード用のもの(一般副粒子挙動解析装置202b_2)とに分けられる。
【0053】
なお、図では便宜的に、ネットワーク管理装置208aから1本のネットワーク線を出し、そのネットワーク線上に主粒子挙動解析装置202aと副粒子挙動解析装置202bとを接続する態様で示しているが、実際には、ネットワーク管理装置208aに備えられる個別のポートに各粒子挙動解析装置202が接続され、各粒子挙動解析装置202間の通信は、このネットワーク管理装置208aを介してなされるようになっている。
【0054】
主粒子挙動解析装置202aには、粒子挙動解析処理用の各種の操作を行なうためのキーボードやマウスなどの指示入力装置210と、処理結果を操作者に画像情報として提示する表示装置212とが接続されている。
【0055】
このような基本構成のシステム構成を採ることで、複数種類の多体粒子間相互作用がある系について粒子挙動解析処理を行なうに当たり、各粒子の磁気相互作用、静電相互作用、または機械的相互作用(接触力;壁などと粒子間の接触力や粒子間接触)などの各相互作用について、予め定められた分割法を適用して並列処理にて挙動解析を実行する。なお、機械的相互作用は、たとえば、壁やその他の物体と粒子間の接触力や粒子間接触による接触力である。
【0056】
たとえば、キャリア粒子についてはMaxwell方程式を基礎とした磁場解析法などを利用して磁気力を算出し、トナー粒子についてはクーロン力に着目した静電界解析を行ない、さらに、キャリア粒子、トナー粒子の接触力を粒子の接触量から算出し、最終的には、各作用力を組み合わせて運動方程式を解き、現像剤粒子102の挙動を高精度で予測する。
【0057】
特に本実施形態では、各粒子挙動解析装置202において各相互作用の解析を行なう際、領域分割法(SD;Spatial Decomposition Method)や粒子分割法(PD;Particle Decomposition Method あるいはRD;Replicated Data Method)ではなく力分割法(力マトリクスを用いたアルゴリズム)を用いて解析することで、全プロセッサ(本実施形態の各粒子挙動解析装置202)間の計算用データの通信量を低減させる。計算用データの通信量を低減させることで、多プロセッサ使用時のプログラムの並列化性能を向上させ、計算時間を大幅に短縮する。
【0058】
なお、図2に示した粒子挙動解析システム200Aの基本構成では、事実上の並列型計算装置(クラスタ計算機)の構成で示したが、これは一例に過ぎない。図示を割愛するが、特許文献1の図3の構成のように、それぞれ粒子挙動解析機能を有する複数台の粒子挙動解析装置を第1ネットワークにてネットワーク接続されて並列型計算装置として構成されている複数の粒子挙動解析システムを、さらに、別の第2ネットワークで接続して構成されたものとしてもよい。この場合、各粒子挙動解析システムは、主要の処理データを相互に外部ネットワーク(第2ネットワーク)を介して伝達し合い、それぞれ対象の異なる粒子挙動解析処理を並列的に実行可能になり、このような変形例の粒子挙動解析システムとしては、事実上の並列型計算装置をネットワーク接続してなるグリッド型計算装置として構成される。また、複数のコア部分(いわゆるCPUの部分)を1つの筐体(半導体チップ)に収容したマルチコアを有するものとしてもよい。
【0059】
<粒子挙動解析装置;第1構成例>
図3〜図3Aは、粒子挙動解析装置202の第1構成例を示すブロック図である。ここで、図3は、特に計算管理ノードの機能を具備した主粒子挙動解析装置202a(代表ノードの代表副粒子挙動解析装置202b_1を含む)について示している。図3Aは、代表ノード以外の一般ノードの機能を具備した一般副粒子挙動解析装置202b_2について示している。
【0060】
図3に示すように、主粒子挙動解析装置202aは、指示入力装置210などを利用して処理対象データを取り込むデータ入力部220と、粒子挙動解析処理を行なうデータ処理部230と、処理結果を表示装置212などを利用して操作者に提示する情報提示部240と、粒子に解析結果の出力処理と対応する優先度を設定する優先度設定部242を備えている。データ入力部220と情報提示部240と優先度設定部242は、主粒子挙動解析装置202aの計算管理ノードに相当する部分に設けられている。
【0061】
また、主粒子挙動解析装置202aの計算管理ノードに相当する部分に、処理対象要素を力分割法により分割するに当たり、それぞれ計算装置で構成され力分割法による粒子挙動解析を行なう各計算システム(プロセッサとも称する;図1では粒子挙動解析装置202)に各分割部分を割り当てる分割処理部250を備えている。分割処理部250は、縦N・横Nの力マトリクスを使用するように設定する。
【0062】
データ入力部220は、指示入力装置210を構成するキーボードやマウスを介して操作者より入力されるコマンドやデータを受け付け、データ処理部230、分割処理部250にそれぞれで必要とされるデータを渡す。
【0063】
分割処理部250は、縦N・横Nの力マトリクスを使用するように設定し、各力マトリクスに解析対象粒子を割り当てる。
【0064】
なお、分割処理部250は、各ノードでの計算負荷が概ね均等となるようにすることも考慮するのがよい。たとえば、処理対象要素を予め決められた分割法により分割するに当たり、それぞれ複数の計算装置で構成された各計算システム(粒子挙動解析システム200)における同一範囲時点での計算時間(ステップ当たりの計算時間)が同等となるように解析対象要素を配分する解析負荷分散処理部を具備する構成とする。この解析負荷分散処理部は、分割処理部250が兼用する構成(解析負荷分散処理部250aと記す)としてもよいし、分割処理部250とは別の機能要素として設けてもよい。
【0065】
解析負荷分散処理部250aは、静電相互作用、磁気相互作用、機械的相互作用(接触力)、または付着力などの複数種類の粒子間相互作用を考慮する場合や、現像剤102を構成する物性の異なる複数種類の粒子(本例ではキャリア粒子、トナー粒子、外添剤)を解析対象とする場合においても、並列解析処理時の各数値演算処理部(粒子挙動計算部)間の計算時間差が確実に小さくなるように、解析対象の作用力の相違や粒子種の相違を勘案して解析対象要素を配分する分割処理を行なう。
【0066】
また解析負荷分散処理部250aは、粒子挙動解析システム200を構成する各粒子挙動解析装置202や、粒子挙動解析システム201を構成する各粒子挙動解析システム200の処理性能(計算能力)をも勘案して、解析対象要素を配分するのがよい。そして、解析負荷分散処理部250aは、分割担当領域や分割担当粒子(のグループ)をそれぞれ複数の計算装置(粒子挙動解析装置202)で構成された計算システム(粒子挙動解析システム200)に割り当てる。データ処理部230では、他の分割部分に関しての処理を担当する他の各数値演算処理部との間でデータ通信を行ないつつ、分割された担当する分割部分について、力分割法による粒子挙動解析を行なう。
【0067】
力分割法を適用したデータ処理時には、粒子間距離と相互作用力との関係(相互作用力の距離依存性)を考慮して、解析対象粒子種を複数とする複数成分粒子系の解析時には複数のカットオフを設定してもよい。たとえば、解析対象の相互作用力が距離の近い粒子との相互作用についてのみ着目すればよい相互作用力(近距離力もしくは短距離力と称する)であるときにはカットオフを小さく設定し、距離の近い粒子とだけでなく距離の離れた粒子との相互作用についても着目する必要のある相互作用力(遠距離力もしくは長距離力と称する)であるときにはカットオフを大きく設定する。
【0068】
データ処理部230は、データ入力部220から入力されたデータに基づいて後述する粒子挙動解析処理を行なう。データ処理部230は、より詳細には、データ受付部232、数値演算処理部234(粒子挙動計算部)、出力データ処理部236、データ記憶部238を有している。出力データ処理部236には、優先度設定部242が設定した優先度の情報が供給される。
【0069】
データ記憶部238は、相互作用を計算するためのパラメータ表のデータを記憶する装置であり、メモリバスを介して数値演算処理部234に接続される。ここで、データ記憶部238は、粒子挙動解析装置202ごとに設けられる一時記憶部238aおよび外部記憶装置238bで構成される。
【0070】
一時記憶部238aは、マルチコア部239が具備するCPUと同一の半導体基板上に内蔵されるいわゆるキャッシュメモリ(Cache Memory)である。外部記憶装置238bは、いわゆるメインメモリとも称される外部の半導体製の記憶媒体(たとえば数100MB〜数GB程度の容量のもの)、およびメインメモリより大容量(数100GB以上)のハードディスク装置(HDD)などである。周知のように、CPUのアクセスは、メインメモリよりもキャッシュメモリの方が高速である。
【0071】
データ処理部230は、副粒子挙動解析装置202bに含まれる。ここで、主粒子挙動解析装置202aが代表ノードに該当するときには、図示のように、副粒子挙動解析装置202bとしては、代表副粒子挙動解析装置202b_1を含む。一方、主粒子挙動解析装置202aが代表ノードに該当しないときには、代表副粒子挙動解析装置202b_1に代えて一般副粒子挙動解析装置202b_2にする。
【0072】
データ受付部232は、データ入力部220から入力されたデータを外部記憶装置238bに記憶し、数値計算時に必要なデータを数値演算処理部234に供給する。外部記憶装置238bには、たとえば、解析の対象としている現像装置40の構成および現像剤粒子102の座標、物性値に関するデータなどが記憶される。
【0073】
数値演算処理部234は、分割処理部250による分割処理により割り当てられた分割部分について、決められた分割法に従ってデータ記憶部238との間でデータ(情報)の入出力(メモリアクセス)を行ないながら計算を行なう粒子挙動計算部として機能する。
【0074】
粒子挙動解析装置202はさらに、図3に示すように、代表副粒子挙動解析装置202b_1の部分は、行方向処理結果出力処理部260を備える。行方向処理結果出力処理部260には、優先度設定部242が設定した優先度の情報が供給される。行方向処理結果出力処理部260は、自身が属する同一行の各一般副粒子挙動解析装置202b_2の出力データ処理部236から、それぞれの解析結果を取得する。そして、行方向処理結果出力処理部260は、自身の出力データ処理部236からの解析結果を含めて、当該行の各解析結果を纏めて計算管理ノードの情報提示部240にファイル出力する。
【0075】
また、図3Aに示すように、一般副粒子挙動解析装置202b_2は、代表副粒子挙動解析装置202b_1における行方向処理結果出力処理部260を備えていない。出力データ処理部236は、それぞれの解析結果を、自身が属する同一行の代表副粒子挙動解析装置202b_1の行方向処理結果出力処理部260にファイル転送する。
【0076】
各数値演算処理部234は、供給されたデータに基づき、粒子の一例である現像剤粒子102(詳細にはキャリア粒子やトナー粒子など)について、磁気相互作用、静電相互作用、または機械的相互作用(接触力)など、複数の相互作用を同時に考慮した粒子挙動を、力分割法を適用してシミュレーション処理にて解析する。数値演算処理部234は、その解析結果の出力ファイルを予め決められたタイミングごとに出力データ処理部236に供給する。
【0077】
たとえば、先ず、主粒子挙動解析装置202aは、現時点において粒子挙動解析処理に使用可能な粒子挙動解析システム200を構成する粒子挙動解析装置202の数(プロセッサ数)を特定する。この後、計算に必要な各種物理パラメータや粒子の初期配置や力分割法で特に必要となる解析対象粒子数などの計算条件を読み込む。そして、特定した各粒子挙動解析装置202(プロセッサ)を、力分割法に従ってマトリクス配置して、解析対象の粒子(現像剤102を構成するキャリア粒子やトナー粒子)を割り当てる。
【0078】
次に、複数種類の多体粒子間相互作用力を、特定プロセッサ(他の数値演算処理部234)に分散して計算する。このとき、複数種類の多体粒子間相互作用に対しては、それぞれ別の力マトリックスを用いて計算する。たとえば、担当マトリクス中の相手粒子との間における磁気相互作用を、当該磁気相互作用解析用の力マトリックスを用いて解析処理する。次に、出力データ処理部236を介して特定プロセッサ間で通信し、磁気相互作用について、分散して計算した磁気相互作用力の総和値を求める。
【0079】
同様にして、担当マトリクス中の相手粒子との間における静電相互作用を、当該静電相互作用解析用の力マトリックスを用いて解析処理する。次に、出力データ処理部236を介して特定プロセッサ間で通信し、静電相互作用について、分散して計算した静電相互作用力の総和値を求める。
【0080】
また、担当マトリクス中の相手粒子との間における機械的相互作用(接触力)を、当該機械的相互作用解析用の力マトリックスを用いて解析処理する。次に、出力データ処理部236を介して特定プロセッサ間で通信し、機械的相互作用について、分散して計算した機械的相互作用力の総和値を求める。
【0081】
さらに、磁気相互作用、静電相互作用、および機械的相互作用(接触力)のそれぞれについて求めた各総和値を加算して全総和値を求める。次に、磁気相互作用、静電相互作用、および機械的相互作用(接触力)の全総和値を使用して、各粒子の運動方程式を解き、位置座標を計算する。そして、このようにして求めた各粒子の位置座標を、相互作用マトリクスに関係する特定プロセッサ(数値演算処理部234)に送り、計算情報を更新する。この後、予め決められた計算ステップに到達するまで、同様の処理を繰り返す。
【0082】
出力データ処理部236は、各計算ステップでの計算データの受け渡しを各数値演算処理部234間で行なう以外に、予め決められた計算ステップごとに、数値演算処理部234での計算結果の出力ファイルを予め決められている他(この例では力分割法の行方向のもの)の粒子挙動解析装置202(数値演算処理部234)から受け取り、情報提示部240に渡す。情報提示部240は、各粒子挙動解析装置202からのデータを集約して、表示データに変換し、表示装置212に供給する。表示装置212は、情報提示部240から供給された表示データに基づく処理結果画像を表示する。実際には確認困難な現像剤粒子102の挙動を視覚的に把握できるように、現像剤粒子102の挙動予測を可視化して表示装置212上に表示するのである。
【0083】
なお、プロセッサは、数値演算処理部234として機能するだけでなく、その他の一般的な演算処理機能や制御機能など、一般的なCPUが備える機能を実現し得るものである。副粒子挙動解析装置202bには、CPUがプログラム処理により各機能部として機能するようにするための仕組みとして、一般的な電子計算機(コンピュータ)と同様の構成も備え、コンピュータシステムを構築している。
【0084】
本実施形態において、粒子の挙動を解析する仕組みは、ハードウェア処理回路により構成することに限らず、その機能を実現するプログラムコードに基づき電子計算機(コンピュータ)を用いてソフトウェア的に実現することも可能である。よって、本実施形態に係る仕組みを、電子計算機(コンピュータ)を用いてソフトウェアで実現するために好適なプログラムまたはこのプログラムを格納したコンピュータ読取可能な記録媒体(記憶媒体)が発明として抽出される。ソフトウェアにより実行させる仕組みとすることで、ハードウェアの変更を伴うことなく、処理手順などが容易に変更されることとなる。
【0085】
一連の粒子挙動解析処理はハードウェアまたはソフトウェアの単独に限らずその両者の複合構成によっても実現され得る。ソフトウェアによる処理を実行する場合、処理手順を示したプログラムを、ハードウェアに組み込まれたコンピュータ内の記憶媒体に組み込んで(インストールして)実行させたり、各種処理が実行可能な汎用の電子計算機にプログラムを組み込んで実行させる。
【0086】
粒子挙動解析処理機能をコンピュータに実行させるプログラムは、CD−ROMなどの記録媒体を通じて配布される。または、このプログラムは、CD−ROMではなくFDに格納されてもよい。また、MOドライブを設け、MOに前記プログラムを格納してもよく、またフラッシュメモリなどの不揮発性の半導体メモリカードなど、その他の記録媒体にプログラムを格納してもよい。
【0087】
ソフトウェアを構成するプログラムは、記録媒体を介して提供されることに限らず、有線または無線などの通信網を介して提供されてもよい。たとえば、他のサーバなどからインターネットなどのネットワークを経由してプログラムをダウンロードして取得したり、または更新したりしてもよい。粒子挙動解析処理を行なう機能を実現するプログラムコードを記述したファイルとしてプログラムが提供されるが、この場合、一括のプログラムファイルとして提供されることに限らず、コンピュータで構成されるシステムのハードウェア構成に応じて、個別のプログラムモジュールとして提供されてもよい。
【0088】
たとえば、コンピュータシステムは、プロセッサコアが機能する中央制御部910、読出専用の記憶部であるROM(Read Only Memory)、または随時読出し・書込みが可能なメモリであるRAM(Random Access Memory)などを具備する記憶部912、操作部914、図示を割愛したその他の周辺部材を有する。ROMには粒子挙動解析処理機能用の制御プログラムなどが格納される。操作部914は、利用者による操作を受け付けるためのユーザインタフェースである。
【0089】
なお、コンピュータシステムの制御系としては、メモリカードなどの図示を割愛した外部記録媒体を挿脱可能に構成し、またインターネットなどの通信網との接続が可能に構成するとよい。このためには、制御系は、中央制御部910や記憶部912の他に、可搬型の記録媒体の情報を読み込むメモリ読出部920や外部との通信インタフェース手段としての通信I/F922を備えるようにするとよい。メモリ読出部920を備えることで外部記録媒体からプログラムのインストールや更新ができる。通信I/F922を備えることで、通信網を介しプログラムのインストールや更新を行ない得るようになる。
【0090】
なお、本実施形態の粒子挙動解析処理を実現するための情報処理装置の各部(機能ブロックを含む)の具体的手段は、ハードウェア、ソフトウェア、通信手段、これらの組み合わせ、その他の手段を用いてよく、このこと自体は当業者において自明である。また、機能ブロック同士が複合して1つの機能ブロックに集約されてもよい。また、コンピュータにプログラム処理を実行させるソフトウェアは、組合せの態様に応じて分散してインストールされ得る。
【0091】
<粒子挙動解析装置:第2構成例>
図3B〜図3Cは、粒子挙動解析装置202の第2構成例を説明する図である。ここで、図3Bは、特に計算管理ノードの機能を具備した主粒子挙動解析装置202aに着目したブロック図である。図3Cは、一般ノードの機能を具備した副粒子挙動解析装置202bに着目したブロック図である。主粒子挙動解析装置202aは、副粒子挙動解析装置202bを含んで構成されている。
【0092】
粒子挙動解析装置202の第2構成例は、第1構成例に対して行方向処理結果出力処理部260を取り外したものである。そのため、各数値演算処理部234は、行方向処理結果出力処理部260を介することなく、各別にファイル出力を行なう。実際には、何れか1つの粒子挙動解析装置202が他の粒子挙動解析装置202の出力ファイルを取り纏めて情報提示部240にファイル出力する。その他の点は、第1構成例と同様である。
【0093】
[ファイル出力処理の問題点]
図4〜図4Cは、本実施形態を適用しない比較例の力分割法における、各ノードで取得された解析結果を出力するファイル出力処理の問題点を説明する図である。ここで、図4〜図4Aは、第2構成例の粒子挙動解析装置202を適用した場合のファイル出力処理を説明する図である。図4Bは、第1構成例の粒子挙動解析装置202を適用した場合のファイル出力処理を説明する図である。図4Cは、第1比較例と第2比較例の各ファイル出力処理の対比を説明する図である。
【0094】
[処理例:第1比較例]
先ず、第2構成例の粒子挙動解析装置202を適用した場合の第1比較例(図4〜図4A)について説明する。ここでは、32粒子を16個のプロセッサ(16台の粒子挙動解析装置202:16CPUと記す)で並列計算する場合の処理例を示す。
【0095】
たとえば、遠距離力や近距離力など複数の粒子の相互作用を計算する場合に、領域分割法を使わず力分割法を適用した粒子挙動解析処理とすることで解析処理時間を短縮する。ただし、このような力分割法を適用した粒子挙動解析処理とすると、近距離力を計算するために粒子情報(座標)は毎ステップ通信するため、領域分割を適用した場合と比較すると通信負荷は大きくなり高い並列化性能が得られない。
【0096】
なお、分割法を適用して複数のコンピュータで並列化処理を行なうと通信負荷が大きくなるのは、力分割法に限った話ではない。並列処理における一般的な問題点として、複数プロセッサを用いた場合に、並列数に応じて全処理時間における計算用データ通信時間の比率が増大し、並列化の効果が飽和するようになる。
【0097】
各ノードの数値演算処理部234は、粒子挙動を力分割法を適用してシミュレーション処理にて解析した処理結果(解析結果)を出力データ処理部236に供給する。各ノードの出力データ処理部236は、解析結果のファイル出力のため、力マトリクスを構成する何れか1つの計算ノード(ここでは主粒子挙動解析装置202a)の出力データ処理部236に、それぞれの解析結果を転送する。主粒子挙動解析装置202aを構成する副粒子挙動解析装置202bの出力データ処理部236は、自身を含む各副粒子挙動解析装置202bの解析結果を纏めてファイル出力する。
【0098】
つまり、図4に示すように、比較例の粒子挙動解析システム200Xにおける力分割による並列処理では、1つの計算ノード(CPU)が各粒子挙動解析装置202の解析結果を纏めてファイル出力を行なうため、その計算ノードは、計算用データの通信負荷だけでなく、ファイル出力データの通信負荷も加わってしまい、大きなオーバーヘッドが生じる。このため、その計算ノードは、他のノードに比べて挙動解析処理時間が長く掛る。この影響は、粒子挙動解析システム200全体に及ぶので、全体としての挙動解析処理時間が長く掛ることになる。
【0099】
さらに、図4Aに示すように、比較例の粒子挙動解析システム200Xにおける計算用ノード(粒子挙動解析装置202)間を接続する通信線(ネットワーク208)の帯域は、計算用データとファイル出力用データの両者によって使われれる。計算速度に大きな影響を及ぼす計算用データ通信帯域が、ファイル出力用データの通信にも使われるため、並列計算性能の低下が発生する。結果的には、挙動解析処理時間が長く掛ることになる。
【0100】
[処理例:第2比較例]
これに対して第1構成例の粒子挙動解析装置202を適用した場合の第2比較例(図4B)では、力分割法で使用される力マトリクスの特質に着目して、従前よりもファイル出力(ファイル書込み処理)の通信負荷を軽減できる手法を採る。具体的には、力マトリクスにおける行方向ごとに、各粒子挙動解析装置202により得られた解析結果を纏めてファイル出力を行なうことにする。つまり、力マトリクスを用いた並列処理において、ファイル出力を行なう際に、同一行内の並列計算要素(粒子挙動解析装置202)でファイル出力データを集合させるために通信を行ない、行ごとにファイル出力処理を行なう。
【0101】
ここで、行ごとにファイル出力処理を行なうノード(CPU、粒子挙動解析装置202)を何れに担当させるかで、様々なシステム態様を採り得る。第1実施形態では、このファイル出力を担当するものを、力マトリクスを構成する当該行に属する何れかの粒子挙動解析装置202にする。このような力マトリクスを構成するノードの内、1行分の解析結果を纏めてファイル出力を行なうノードを特に代表ノードと称し、代表ノードの粒子挙動解析装置202を代表副粒子挙動解析装置202b_1とする。代表副粒子挙動解析装置202b_1以外の粒子挙動解析装置202を一般副粒子挙動解析装置202b_2と称する。
【0102】
各ノードの数値演算処理部234は、粒子挙動を力分割法を適用してシミュレーション処理にて解析した処理結果(解析結果)を出力データ処理部236に供給する。力マトリクスを構成する各行の各副粒子挙動解析装置202bの内、代表副粒子挙動解析装置202b_1(代表ノード)を除く一般副粒子挙動解析装置202b_2(一般ノード)の出力データ処理部236は、解析結果のファイル出力のため、同一行の代表副粒子挙動解析装置202b_1の行方向処理結果出力処理部260に、それぞれの解析結果を転送する。
【0103】
代表副粒子挙動解析装置202b_1の行方向処理結果出力処理部260は、自身の出力データ処理部236からの解析結果と、各一般副粒子挙動解析装置202b_2の解析結果を纏めて、計算管理ノードの情報提示部240にファイル出力する。つまり、第1実施形態のファイル出力処理では、力マトリクスの行方向で出力用データを通信し、各代表ノードがファイル出力を行なう。
【0104】
各行の代表ノード(代表副粒子挙動解析装置202b_1)は、当該行に関しての出力ファイル中では、解析結果が粒子番号順に並ぶ順序で出力処理を行なうようにする。つまり、解析結果データが粒子番号順に並ぶ順序でファイル出力を行なう。各行の代表ノード(代表副粒子挙動解析装置202b_1)は、順番に、各行の解析結果をファイル出力する。
【0105】
各行の代表ノードの割当て方と各行の代表ノードからのファイル出力順序の組合せとしては、様々な組合せを採り得る。図5は、最も好適な例を示したものであり、各行の代表ノードは、力マトリクスにおいて列方向に同じ位置のものとしている。図示した例では、ノード#0が0行目のデータ出力#0(粒子#0〜7のデータ)を担当する。よって、ノード#1の出力データ処理部236とノード#0の行方向処理結果出力処理部260との間で、粒子#2,3についてファイル出力用のデータ通信がある。ノード#2の出力データ処理部236とノード#0の行方向処理結果出力処理部260との間で、粒子#4,5についてファイル出力用のデータ通信がある。ノード#3の出力データ処理部236とノード#0の行方向処理結果出力処理部260との間で、粒子#6,7についてファイル出力用のデータ通信がある。これにより、ノード#0には、自身の担当分である粒子#0,1を含む粒子#0〜7の解析結果が集約される。
【0106】
また、ノード#4が2行目のデータ出力#1(粒子#8〜15のデータ)を担当する。よって、ノード#5の出力データ処理部236とノード#4の行方向処理結果出力処理部260との間で、粒子#10,11についてファイル出力用のデータ通信がある。ノード#6の出力データ処理部236とノード#4の行方向処理結果出力処理部260との間で、粒子#12,13についてファイル出力用のデータ通信がある。ノード#7の出力データ処理部236とノード#4の行方向処理結果出力処理部260との間で、粒子#14,15についてファイル出力用のデータ通信がある。これにより、ノード#4には、自身の担当分である粒子#8,9を含む粒子#8〜15の解析結果が集約される。
【0107】
また、ノード#8が2行目のデータ出力#2(粒子#16〜23のデータ)を担当する。よって、ノード#9の出力データ処理部236とノード#8の行方向処理結果出力処理部260との間で、粒子#18,19についてファイル出力用のデータ通信がある。ノード#10の出力データ処理部236とノード#8の行方向処理結果出力処理部260との間で、粒子#20,21についてファイル出力用のデータ通信がある。ノード#11の出力データ処理部236とノード#8の行方向処理結果出力処理部260との間で、粒子#22,23についてファイル出力用のデータ通信がある。これにより、ノード#8には、自身の担当分である粒子#16,17を含む粒子#16〜23の解析結果が集約される。
【0108】
また、ノード#12が3行目のデータ出力#2(粒子#24〜31のデータ)を担当する。よって、ノード#13の出力データ処理部236とノード#12の行方向処理結果出力処理部260との間で、粒子#26,27についてファイル出力用のデータ通信がある。ノード#14の出力データ処理部236とノード#12の行方向処理結果出力処理部260との間で、粒子#28,29についてファイル出力用のデータ通信がある。ノード#15の出力データ処理部236とノード#12の行方向処理結果出力処理部260との間で、粒子#30,31についてファイル出力用のデータ通信がある。これにより、ノード#12には、自身の担当分である粒子#24,25を含む粒子#24〜31の解析結果が集約される。
【0109】
各行方向処理結果出力処理部260は、情報提示部240がその行の各ノードでの解析結果に基づく情報提示をスムーズに行なうように、それぞれが担当する出力ファイル中で、データが粒子番号順に並ぶ順序でファイル出力を順次行なう。また、各行方向処理結果出力処理部260は、たとえば、データ出力#0→データ出力#2→データ出力#3→データ出力#1などのように、解析結果が粒子番号順に並ばない順序で出力処理を行なってもよい。各行方向処理結果出力処理部260は、好ましくは、情報提示部240が全てのノードでの解析結果に基づく情報提示をスムーズに行なうように、データ出力#0→データ出力#1→データ出力#2→データ出力#3のように、列方向にも、解析結果が粒子番号順に並ぶ順序で出力処理を行なうようにする。
【0110】
図示しないが、各行の代表ノードは、力マトリクスにおいて、列方向にそれぞれ異なる位置のものとしてもよい。たとえば、ノード#0が0行目のデータ出力#0(粒子#0〜7のデータ)を担当し、ノード#5が1行目のデータ出力#1(粒子#8〜15のデータ)を担当し、ノード#10が2行目のデータ出力#2(粒子#16〜23のデータ)を担当し、ノード#15が3行目のデータ出力#3(粒子#24〜31のデータ)を担当する。この場合においても、好ましくは、各行方向処理結果出力処理部260は、列方向にも、解析結果が粒子番号順に並ぶ順序で出力処理を行なうようにする。
【0111】
[第1比較例と第2比較例の対比と問題点]
図4Cに第1・第2比較例の対比を示す。第1比較例のファイル出力処理では、各計算ノードはNステップ目について並列処理による数値計算を行なってから(S110)、ノード#0にファイル出力のためのデータ通信を行なう(S112)。その後、ノード#0では、自身を含む全ての計算ノード分を纏めてファイル出力処理を行なう(S114)。その後、各計算ノードは(N+1)ステップ目について並列処理による数値計算を行なう(S116)。以下同様である。
【0112】
一方、第2比較例のファイル出力処理では、各計算ノードはNステップ目について並列処理による数値計算を行なう(S120)。この後、行ごとに、それぞれの代表ノードにファイル出力のためのデータ通信を並行して行なう(S122)。たとえば、ノード#0と同一行の他の計算ノード(#1〜#3)は、ノード#0にファイル出力のためのデータ通信を行なう(S122_#0 )。ノード#4と同一行の他の計算ノード(#5〜#7)は、ノード#4にファイル出力のためのデータ通信を行なう(S122_#4 )。ノード#8と同一行の他の計算ノード(#9〜#11)は、ノード#8にファイル出力のためのデータ通信を行なう(S122_#8 )。図示しないが、ノード#12と同一行の他の計算ノード(#13〜#15)は、ノード#12にファイル出力のためのデータ通信を行なう(S122_#12)。
【0113】
その後、各代表ノードでは、自身を含む同一行の計算ノード分を纏めてファイル出力処理を順番に行なう(S124)。たとえば、ノード#0では、自身を含む各計算ノード(#0〜#3)分を纏めてファイル出力処理を行なう(S124_#0 )。その後、ノード#4では、自身を含む各計算ノード(#4〜#7)分を纏めてファイル出力処理を行なう(S124_#4 )。その後、ノード#8では、自身を含む各計算ノード(#8〜#11)分を纏めてファイル出力処理を行なう(S124_#8 )。図示しないが、その後、ノード#12では、自身を含む各計算ノード(#12〜#15)分を纏めてファイル出力処理を行なう(S124_#12)。
【0114】
その後、各計算ノードは(N+1)ステップ目について並列処理による数値計算を行なう(S126)。以下同様である。
【0115】
このように、第2比較例のファイル出力処理では、力マトリクスの行ごとに、力マトリクスを構成する何れかの計算ノードを代表ノードとし、力マトリクスの行方向で出力用データを通信し、各代表ノードが順番にファイル出力を行なう。つまり、第1実施形態では、ファイル出力処理を複数の代表ノードで分散処理している点で、ファイル出力処理を1つのノードで集中処理している比較例と異なる。これにより、1つのノードが、他の15台の計算ノードからのファイル出力用データを受け取り16台分を纏めてファイル出力を行なう比較例に比べて、代表ノード当たり3台分の通信で済むので、通信待ち時間は短縮される。また、ファイル出力は、データが粒子番号順に並ぶ順序で、各代表ノードにて出力処理を順次行なうので、各ノードが行なうファイル出力処理時間も短縮される。
【0116】
全体としては、ファイル出力の際のオーバーヘッドが小さくなるので、ファイル出力間隔を小さくしても(高頻度のファイル出力条件でも)挙動解析処理の遅延は抑制される。
【0117】
また、第2比較例では、行ごとのファイル出力処理を行なうノードを、力マトリクスの行方向ごとに、行の何れかのノードとしているので、システム規模は比較例(従前)と変わりない。システム規模を大きくしなくても、力マトリクスを構成する何れか1つのノードが、全てのノード分を纏めてファイル出力処理を行なうことに起因する処理効率の低下は防止される。
【0118】
ここで、第1・第2比較例のファイル出力処理では何れも、全ての粒子についての処理結果を出力している。つまり、計算結果の出力データファイルは、全ての粒子データを含む。大規模シミュレーションの計算結果は全粒子についてファイル出力され、多くの情報を含む大容量ファイルとなる。そのため、ファイル出力処理時間が増加し、結果的には、全体の粒子挙動解析時間が増加する。
【0119】
しかしながら、実際の粒子挙動解析では、必ずしも、全粒子のデータファイルを要しないこともある。たとえば、挙動解析時の計算には全粒子の情報が必要でありプロセッサ間でのデータ通信を要するが、データファイルを情報提示部240に送って表示装置212にて着目粒子の挙動の様子を表示して着目粒子の挙動のみを追跡する、着目粒子の挙動データのみを保存するなど、データファイルに基づいてデータ解析作業を行なう際には、着目する粒子に関するデータがあれば十分である。この場合、全粒子のデータファイルを出力することは、その計算結果ファイルにはデータ解析作業に用いられない情報も含まれ、利用されない(または必要とされない)データの出力処理も行なわれるため、無駄な出力処理時間が多く掛ることになる。つまり、解析の目的に応じては、利用されないデータに対しても出力処理が行なわれ、無駄な時間が増加する。
【0120】
<改善手法:基本原理>
図5〜図5Cは、本実施形態の粒子挙動解析システム200Aのファイル出力処理の基本原理を説明する図である。ここで、図5は、第1構成例の粒子挙動解析装置202を適用した場合の本実施形態のファイル出力処理の基本原理を説明する図である。図5Aは、第2構成例の粒子挙動解析装置202を適用した第1比較例と第1構成例の粒子挙動解析装置202を適用した本実施形態の各ファイル出力処理の対比を説明する図である。図5Bは、第2構成例の粒子挙動解析装置202を適用した場合の本実施形態のファイル出力処理の基本原理を説明する図である。図5Cは、第2構成例の粒子挙動解析装置202を適用した第1比較例と第2構成例の粒子挙動解析装置202を適用した本実施形態の各ファイル出力処理の対比を説明する図である。
【0121】
本実施形態のファイル出力処理では、必要なデータのみを出力することで、効率的なファイル出力処理を実現することにする。ここで、「必要なデータ」の峻別に当たっては、優先度設定部242は粒子にファイル出力処理の実施(するか)・不実施(しないか)と対応する優先度を割り当て、出力データ処理部236や行方向処理結果出力処理部260は、その割り当てられた優先度に基づいてファイル出力の対象とするか否かを切り分ける。各粒子に、計算データの出力処理の可否と対応する優先度を設定し、優先度が高く与えられ基準値を超える粒子に関してのみファイル出力を行なうのである。
【0122】
「必要なデータ」の峻別に使用する具体的な優先度の割当(設定)は、たとえば、次のようなものが考えられる。粒子種(電子写真方式の場合はキャリアやトナーなど)、粒子特性の分布(たとえば粒子径分布や粒子帯電量分布など)、粒子を原子レベル見たときの粒子を構成する原子種(炭素原子C、酸素原子O、窒素原子N、水素原子Hなど)である。たとえば、粒子をn種の分布に分け各分布に対して優先度を付けることで出力するデータを選択する。
【0123】
粒子に対応付けた優先度に基づいてファイル出力処理の対象を切り分けるので、ファイル出力の実施・非実施のための判定処理が簡便となり、また、不要な情報はファイル出力の対象としないので、無駄な出力書類が無くなり、高速なファイル出力処理が実現される。不要なデータのファイル出力を実施しないため、ファイル出力処理時間が短縮される。
【0124】
たとえば、多くのプロセッサを用いた並列計算処理では、並列処理効率に飽和傾向が出る。その対策として、先ず、粒子分割、力分割、領域分割などの各種の分割手法を用いて解析する。さらに、解析結果のファイル出力時には、解析対象粒子に優先度を割り当て、ファイル出力処理の際に、優先度に応じてファイル出力の対象とする粒子を決定し、その決定した粒子についてのみファイル出力処理を行なう。
【0125】
たとえば、力分割法を適用する場合は、力マトリックスを用いて、並列処理を行なうプロセッサに計算粒子を割り当てることで、複数プロセッサでの効率的な並列処理を実現する。さらに、力マトリックスを用いた並列処理において、解析結果のファイル出力時には、粒子に優先度を付け、ファイル出力の際に、優先度に応じて決定した粒子についてのみファイル出力処理を行なう。
【0126】
たとえば、図5や図5Bに示すように、力マトリックスに対して、優先度を付けて計算粒子を割り振ることで、必要な計算結果ファイルのみを抽出して出力する。換言すれば、出力データの優先度付けを行ない、それに合わせて、力マトリックスを構成するよう粒子データを並べる。
【0127】
図5や図5Bは、32粒子(n=32)を16個のプロセッサで並列計算する場合の処理例を示す。出力ファイルを必要とする粒子数m(m<n)は16であるとする。出力ファイルを必要とする基準値を超える優先度の高い粒子には0番から15番を設定し、出力ファイルを必要としない基準値以下の優先度の低い粒子には16番から31番を設定する。粒子とノード(プロセッサ)の対応付けは、第1・第2比較例と同様に、粒子#0,粒子#1はノード#0、粒子#2,粒子#3はノード#1、…、粒子#30,粒子#31はノード#15とする。
【0128】
粒子#0〜#15は優先度が高いので、これらの粒子が対応付けられたノード#0〜#7は計算結果データをファイル出力する一方、粒子#16〜#31は優先度が低いので、これらの粒子が対応付けられたノード#8〜#15は計算結果データをファイル出力しない。必要な計算結果データの出力のみを行なう。
【0129】
ここで、第1構成例の粒子挙動解析装置202を適用する場合は、力マトリックスの行方向で出力用データを通信し、各代表ノードがファイル出力を行なう。具体的には、同一行内の並列計算要素でファイル出力データを集合させるために通信を行ない、各列の代表ノード(代表プロセッサ)がファイル出力処理を行なう。粒子に優先度を付け、優先度基準値を超える粒子が割り当てられたプロセッサのみ、力マトリックスの行方向で出力用データを通信し、各代表ノードがファイル出力を行なうのである。
【0130】
図5Aに示すように、粒子#0〜#15は優先度が高いので、ノード#0は、同一行の各ノード#0〜#3の計算結果データを集約し、代表してそれらの計算結果のファイル出力を行ない、ノード#4は、同一行の各ノード#4〜#7の計算結果データを集約し、代表してそれらの計算結果のファイル出力を行なう。一方、粒子#16〜#31は優先度が低いので、それらに対応付けられたノード#8〜#15に関しては、計算結果データの集約や計算結果のファイル出力を行なわない。
【0131】
これにより、1つのノード(プロセッサ、CPU)が、他の15台の計算ノードからのファイル出力用データの送信を受け取る場合に比べ、代表ノード当たり3台分の通信で済むので、出力する結果データに関連するプロセッサ間でのファイル出力用通信のみでよくなるし、出力処理を行なうノード数も減る。第2比較例を示した図4Cにおけるノード#8での計算結果データの集約(S122_#8 )やファイル出力処理(S124_#8 )、および、図示を割愛したノード#12での計算結果データの集約(S122_#12)やファイル出力処理(S124_#12)が不要となる。第2比較例との対比でも、出力処理を行なうノード数が減る分だけ出力処理時間が短縮される。力マトリックスと粒子の優先度付けを併用することで、ファイル出力の実施・非実施のための判定処理が簡便となり、高速な出力対象選択処理およびファイル出力処理が実現される。
【0132】
第2構成例の粒子挙動解析装置202を適用する場合は、各ノード(プロセッサ)が各別にファイル出力処理を行なう、または、何れか1つのノード(プロセッサ)にファイル出力データを集合させるためにデータ通信を行ない、その1つのノードが代表してファイル出力処理を行なう。
【0133】
たとえば、図5Cに示すように、粒子#0〜#15は優先度が高いので、ノード#0は、自身が担当する粒子#0,#1を除く粒子#2〜#15を担当する各ノード#1〜#7から計算結果データを受け付け、代表してそれら粒子#0〜#15の計算結果のファイル出力を行なう。一方、粒子#16〜#31は優先度が低いので、それらに対応付けられたノード#8〜#15に関しては、計算結果データの集約や計算結果のファイル出力を行なわない。
【0134】
これにより、1つのノード(プロセッサ、CPU)が、他の15台の計算ノードからのファイル出力用データの送信を受け取る場合でも、出力処理の対象となるノード数(事実上の粒子数)が減り、その分だけ出力処理時間が短縮する。力マトリックスと粒子の優先度付けを併用することで、ファイル出力の実施・非実施のための判定処理が簡便となり、高速な出力対象選択処理およびファイル出力処理が実現される。
【0135】
なお、優先度を高く設定すべきものは挙動の主体となるものにすることに限定されない。たとえば、挙動の主体とならない脇役となる粒子の振る舞いの解析結果を表示する場合には、その挙動の主体とならない粒子の優先度を高く設定するとよい。また、それらを併用して、挙動の主体となる粒子の振る舞いの解析結果と挙動の主体とならない粒子の振る舞いの解析結果を切り分けて表示するようにしてもよい。
【0136】
以下、具体的な事例で説明する。
【0137】
<ファイル出力処理:第1実施形態>
図6は、ファイル出力処理の第1実施形態を説明する図である。
【0138】
第1実施形態は、粒子種に基づき優先度を設定する場合の事例である。特に、トナー粒子に着目したデータ解析作業を行なう際に、優先度の高い粒子をトナー粒子とし、優先度の低い粒子をキャリア粒子とすることで、トナー粒子の計算データのみファイル出力する場合の事例である。たとえば、個別要素法(DEM)での粉体シミュレーションの一例である現像量の解析で、感光体10上に現像されたトナー現像量を計算する場合への適用例である。
【0139】
たとえば、第1構成例の粒子挙動解析装置202を適用する図5において、優先度設定部242は、トナー粒子をファイル出力処理の対象となるように優先度の高い粒子に割り当て、キャリア粒子をファイル出力処理の対象とならないように優先度の低い粒子に割り当てる。つまり、トナー粒子には高い優先度を与え、計算結果を出力するマトリックス部分に割り当て、キャリア粒子には低い優先度を与え、計算結果を出力しないマトリックス部分に割り当てる。
【0140】
具体的には、図5と対応する図6において、トナー粒子に小さい番号を付け優先度を上げるべく、全32粒子の内、出力ファイルを必要とするトナー粒子には0番から15番を設定し、出力ファイルを必要としないキャリア粒子には16番から31番を設定する。トナー粒子は2粒子ずつノード#0〜7に割り当て、キャリア粒子は2粒子ずつノード#8〜15に割り当てる。トナー粒子に優先度を高く割り当て、トナー粒子の計算データのみをファイル出力する。
【0141】
第1構成例の粒子挙動解析装置202を適用する場合は、トナー粒子の計算データのみをファイル出力するため、ノード#0〜7においてのみ力マトリックスの行方向で出力用データを通信することで計算結果データを集約し、各代表ノード(#0〜3についての#0、#4〜7についての#4)が順にファイル出力を行なう。これにより、出力するデータ量は全粒子の半分で済み、ファイル出力のための処理時間が短縮される。
【0142】
図示を割愛するが、第2構成例の粒子挙動解析装置202を適用する場合は、図5Bにおいて、トナー粒子を優先度の高い粒子(#0〜#15)に割り当て、キャリア粒子を優先度の低い粒子(#16〜#31)に割り当てればよい。そして、ファイル出力は、各ノードが各別に、または、何れか1つのノードに集約して行なう。
【0143】
<ファイル出力処理:第2実施形態>
図7は、ファイル出力処理の第2実施形態を説明する図である。
【0144】
第2実施形態は、粒子種に基づき優先度を設定する場合の事例である。特に、キャリア粒子に着目したデータ解析作業を行なう際に、優先度の高い粒子をキャリア粒子とし、優先度の低い粒子をトナー粒子とすることで、キャリア粒子の計算データのみファイル出力する場合の事例である。たとえば、個別要素法(DEM)での粉体シミュレーションの一例である現像量の解析で、現像剤のピックアップ領域やピックオフ領域に着目した解析のように、キャリア粒子の挙動に着目する場合への適用例である。
【0145】
たとえば、第1構成例の粒子挙動解析装置202を適用する図5において、優先度設定部242は、キャリア粒子をファイル出力処理の対象となるように優先度の高い粒子に割り当て、トナー粒子をファイル出力処理の対象とならないように優先度の低い粒子に割り当てる。つまり、キャリア粒子には高い優先度を与え、計算結果を出力するマトリックス部分に割り当て、トナー粒子には低い優先度を与え、計算結果を出力しないマトリックス部分に割り当てる。
【0146】
具体的には、図5と対応する図7において、キャリア粒子に小さい番号を付け優先度を上げるべく、全32粒子の内、出力ファイルを必要とするトナー粒子には0番から15番を設定し、出力ファイルを必要としないトナー粒子には16番から31番を設定する。キャリア粒子は2粒子ずつノード#0〜7に割り当て、トナー粒子は2粒子ずつノード#8〜15に割り当てる。キャリア粒子に優先度を高く割り当て、キャリア粒子の計算データのみをファイル出力する。
【0147】
第1構成例の粒子挙動解析装置202を適用する場合は、キャリア粒子の計算データのみをファイル出力するため、ノード#0〜7においてのみ力マトリックスの行方向で出力用データを通信することで計算結果データを集約し、各代表ノード(#0〜3についての#0、#4〜7についての#4)が順にファイル出力を行なう。これにより、出力するデータ量は全粒子の半分で済み、ファイル出力のための処理時間が短縮される。
【0148】
キャリア粒子とトナー粒子の混合系でのピックアップ・ピックオフを解析する場合に、フローに寄与するキャリア粒子の計算結果のみをファイル出力する。キャリア粒子より粒子数の多いトナー粒子のファイル入出力処理を行なわないことで、本実施形態を適用しない場合よりもファイル出力処理時間の大幅な短縮を見込める。
【0149】
図示を割愛するが、第2構成例の粒子挙動解析装置202を適用する場合は、図5Bにおいて、キャリア粒子を優先度の高い粒子(#0〜#15)に割り当て、トナー粒子を優先度の低い粒子(#16〜#31)に割り当てればよい。そして、ファイル出力は、各ノードが各別に、または、何れか1つのノードに集約して行なう。
【0150】
<ファイル出力処理:第3実施形態>
図8〜図8Aは、ファイル出力処理の第3実施形態を説明する図である。ここで、図8は、ファイル出力処理の第3実施形態における優先度の対応付け手法を説明する図である。図8Aは、ファイル出力処理の第3実施形態を説明する図である。
【0151】
第3実施形態は、粒子の特性に着目し、その特性分布に基づき優先度を設定する場合の事例である。分布として挙動の主体となる粒子を多く含む分布部分には優先度を高くし、分布として挙動の主体となる粒子を多くは含まない分布部分には優先度を低くことで、挙動の主体となる特性を持つ粒子を多く含む分布部分の計算データのみファイル出力する場合の事例である。特に、後述する第5実施形態(特に第2例)との相違点として、全粒子に対して着目する粒子が占める割合が代表ノードとの関係でキチンと切り分けられる場合に有効な手法である。また、後述する第5実施形態(特に第3例)との相違点として、分布が概ね正規分布に近い形状を持つ場合に有効な手法である。
【0152】
特性としては、たとえば電子写真方式の画像形成装置1の場合トナー粒子の粒径や帯電量などが考えられる。たとえば、個別要素法(DEM)での粉体シミュレーションの一例である現像量の解析で、特定(分布の中心:中心値付近など)を含む一定範囲の粒子径や帯電量を持ったトナー粒子に着目した解析のように、トナー粒子の内で、挙動の主体となるトナー粒子に着目する場合への適用例である。
【0153】
たとえば、第1構成例の粒子挙動解析装置202を適用する図5において、優先度設定部242は、図8に示すように、粒子径や帯電量に着目した分布特性で、その分布形状が正規分布に近い形状を持つ場合に、分布量の多い中心近傍のトナー粒子特性をファイル出力処理の対象となるように優先度の高い粒子に割り当て、分布量の少ないトナー粒子特性をファイル出力処理の対象とならないように優先度の低い粒子に割り当てる。
【0154】
つまり、分布量の多いトナー粒子には高い優先度を与え、計算結果を出力するマトリックス部分に割り当て、分布量の少ないトナー粒子には低い優先度を与え、計算結果を出力しないマトリックス部分に割り当てる。たとえば、全粒子の内の1/2を含む範囲をファイル出力の対象となるように優先度を高く設定し、それ以外はファイル出力の対象とならないように優先度を低く設定する。
【0155】
具体的には、図5と対応する図8Aにおいて、特定(中心値付近など)の粒子径や帯電量を持ったトナー粒子に小さい番号を付け優先度を上げるべく、全32個のトナー粒子の内、出力ファイルを必要とする特定(中心値付近などの全粒子の半分)のトナー粒子には0番から15番を設定し、出力ファイルを必要としない小粒径および大粒径や帯電量の小さいおよび大きいトナー粒子には16番から31番を設定する。各トナー粒子は2粒子ずつノード#0〜15に割り当てる。粒子径や帯電量の分布において、特定(中心値付近など)の分布のトナー粒子に優先度を高く割り当て、その特定の分布の粒子の計算データのみをファイル出力する。
【0156】
第1構成例の粒子挙動解析装置202を適用する場合は、粒子径分布や帯電量分布の内、平均値近傍の粒子径や帯電量を持つ全粒子中の半分のトナー粒子の計算データのみをファイル出力するため、ノード#0〜7においてのみ力マトリックスの行方向で出力用データを通信することで計算結果データを集約し、各代表ノード(#0〜3についての#0、#4〜7についての#4)が順にファイル出力を行なう。これにより、出力するデータ量は全粒子の半分で済み、ファイル出力のための処理時間が短縮される。
【0157】
図示を割愛するが、第2構成例の粒子挙動解析装置202を適用する場合は、図5Bにおいて、分布量の多い粒子を優先度の高い粒子(#0〜#15)に割り当て、分布量の少ない粒子を優先度の低い粒子(#16〜#31)に割り当てればよい。そして、ファイル出力は、各ノードが各別に、または、何れか1つのノードに集約して行なう。
【0158】
前記の例では、分布量の多い中心近傍は優先度を高く設定したが、逆に、分布量の少ない部分の優先度を高く設定し、その部分に着目した解析結果のファイル出力を行なうようにしてもよい。たとえば、挙動の主体とならない脇役となる粒子の振る舞いの解析結果を表示する場合である。また、分布量の多い中心近傍に関するファイル出力と分布量の少ない部分に関するファイル出力の双方を行なうことで、挙動の主体となる粒子の振る舞いの解析結果と挙動の主体とならない粒子の振る舞いの解析結果を切り分けて表示するようにしてもよい。
【0159】
<ファイル出力処理:第4実施形態>
図9〜図9Aは、ファイル出力処理の第4実施形態を説明する図である。ここで、図9は、ファイル出力処理の第4実施形態における優先度の対応付け手法を説明する図である。図9Aは、ファイル出力処理の第4実施形態を説明する図である。
【0160】
第4実施形態は、電子写真方式やそれ以外での粒子挙動解析への適用で、特に、分子レベルでの挙動解析への適用例である。この場合、粒子の分子を構成する原子種に基づき優先度を設定する。挙動の主体となる原子種には優先度を高く設定し、それ以外は優先度を低く設定する場合の事例である。たとえば、分子動力学(Molecular Dynamics:MD)法での分子動力学シミュレーションの一例である有機化合物の挙動解析への適用例である。
【0161】
たとえば、炭素原子と酸素原子を含む有機化合物の場合には、炭素原子の方を酸素原子よりも優先度を高く設定することで酸素原子の解析結果はファイル出力しない。また、窒素原子と水素原子を含む有機化合物の場合には、窒素原子の方を水素原子よりも優先度を高く設定することで、水素原子の解析結果はファイル出力しない。炭素原子と酸素原子と窒素原子と水素原子を含む有機化合物の場合には、前記の組合せから決定する。たとえば、分子挙動解析結果で主要な対象は炭素原子であるため、水素原子の解析結果はファイル出力しない。
【0162】
たとえば、図9に示すように、高分子の材料物性は、炭素原子や酸素原子の挙動によって決まり、炭素原子の振る舞いが最も強く現われ、水素原子による寄与は小さい。この場合、原子種に優先度(炭素原子>酸素原子>水素原子)を付け、計算結果の出力有無を設定する。一例として、炭素原子や酸素原子の解析結果はファイル出力するが、水素原子の解析結果はファイル出力しない。
【0163】
たとえば、全32個の原子の内、炭素原子と酸素原子がその半分の16個で、残りの16個が水素原子であるとする。この場合、具体的には、図5と対応する図9Aにおいて、炭素原子や酸素原子に小さい番号を付け優先度を上げるべく、全32原子の内、出力ファイルを必要とする炭素原子や酸素原子には0番から15番を設定し、出力ファイルを必要としない水素原子には16番から31番を設定する。炭素原子や酸素原子は2原子ずつノード#0〜7に割り当て、水素原子は2原子ずつノード#8〜15に割り当てる。炭素原子や酸素原子に優先度を高く割り当て、炭素原子や酸素原子の計算データのみをファイル出力する。
【0164】
第1構成例の粒子挙動解析装置202を適用する場合は、炭素原子や酸素原子の計算データのみをファイル出力するため、ノード#0〜7においてのみ力マトリックスの行方向で出力用データを通信することで計算結果データを集約し、各代表ノード(#0〜3についての#0、#4〜7についての#4)が順にファイル出力を行なう。これにより、出力するデータ量は全原子の半分で済み、ファイル出力のための処理時間が短縮される。
【0165】
水素原子は一般的に原子数が多いので、高分子材料の分子動力学シミュレーションにおいて、水素原子に関しては解析結果のファイル出力処理を行なわないことで、本実施形態を適用しない場合よりもファイル出力処理時間の大幅な短縮を見込める。
【0166】
図示を割愛するが、第2構成例の粒子挙動解析装置202を適用する場合は、図5Bにおいて、挙動の主体となる原子種を優先度の高い原子(#0〜#15)に割り当て、挙動の主体となる原子種を除くものを優先度の低い原子(#16〜#31)に割り当てればよい。
【0167】
<ファイル出力処理:第5実施形態>
図10〜図10Eは、ファイル出力処理の第5実施形態を説明する図である。ここで、図10は、ファイル出力処理の第5実施形態(第1例)における優先度の対応付け手法を説明する図である。図10Aは、ファイル出力処理の第5実施形態(第1例)を説明する図である。図10Bは、ファイル出力処理の第5実施形態(第2例)における優先度の対応付け手法を説明する図である。図10Cは、ファイル出力処理の第5実施形態(第2例)を説明する図である。図10Dは、ファイル出力処理の第5実施形態(第3例)における優先度の対応付け手法を説明する図である。図10Eは、ファイル出力処理の第5実施形態(第3例)を説明する図である。
【0168】
第5実施形態は、第1〜第4実施形態を一般化したもので、粒子をn個の分布に分け、それを力マトリックスを構成するn個のプロセッサ(数値演算処理部234)に割り当てるとともに、n個の分布に優先度を設定する場合である。分布区分数と数値演算処理部234の数を一対一に対応させ、各分布に優先度を設定する。このとき、たとえば、挙動の主体となる分布には優先度を高く設定し、それ以外は優先度を低く設定する。第3実施形態と似通っているが、分布形状に合わせてより細かく分布を区分けし、それらに優先度を各別に設定する適用例である。
【0169】
分布そのものの考え方に関しては、第3実施形態と同様に、粒子の特性に着目し、その特性分布に基づき優先度を設定すればよく、特性としては、たとえば電子写真方式の画像形成装置1であればトナー粒子の粒径や帯電量などが考えられる。
【0170】
粒子をn個の分布に分け、それを力マトリックスを構成する各プロセッサに割り当てる。具体的には、分布番号0,1,…,n−2,n−1に粒子分布を分け、解析結果データをファイル出力する分布に対して優先度を高く設定する。分布番号0,1,…,n−2,n−1は,それぞれプロセッサ#0,#1,…,#(n−2),#(n−1)に対応づける。そして、基準値を超えるように優先度が高く与えられた分布に割り当てられたプロセッサのみがファイル出力処理を行なう。
【0171】
たとえば、図10に示す第5実施形態(第1例)の優先度の対応付け手法は、図8に示した第3実施形態と似通っている。違いは、第3実施形態では分布の中心近傍とそれ以外という大まかな分け方をしているのに対して、第5実施形態では、粒子をn個の分布に分けている点にある。第3実施形態と同様に、全粒子に対して着目する粒子が占める割合が代表ノードとの関係でキチンと切り分けられる場合に有効な手法である。
【0172】
後述する第5実施形態(第2例、第3例)との相違点としては、行方向の代表ノードが纏めてファイル出力を担当する部分と一対一で優先度の高い・低いの対応付けをとれる場合の事例である。たとえば、第1構成例の粒子挙動解析装置202を適用する図5において、優先度設定部242は、挙動の主体となる分布を優先度の高い粒子を担当する代表ノードに割り当て、挙動の主体となる分布以外は優先度の低い粒子を担当する代表ノードに割り当てる。
【0173】
たとえば、n=16とする。図10において、分布番号4〜11は優先度が高く与えられた分布であり、図10Aにおいて、それらの分布に対応付けられたノード#4〜#11に関して、代表ノードがファイル出力を行なう。具体的には、ノード#4は、同一行の各ノード#4〜#7の計算結果データを集約し、代表してそれらの計算結果のファイル出力を行なう。ノード#8は、同一行の各ノード#8〜#11の計算結果データを集約し、代表してそれらの計算結果のファイル出力を行なう。一方、分布番号0〜3,12〜15は優先度が低く与えられた分布であり、図10Aにおいて、それらの分布に対応付けられたノード#0〜#3,#12〜#15に関しては、計算結果のファイル出力を行なわない。第3実施形態との対比では、ファイル出力を担当するノードが異なるけれども、実態的には、第3実施形態と同様の処理になる。
【0174】
図示を割愛するが、第2構成例の粒子挙動解析装置202を適用する場合は、行方向の代表ノードが纏めてファイル出力を担当する部分と一対一で優先度の高い・低いの対応付けを行なうという概念は存在し得ない。よって、図5Bにおいて、挙動の主体となる分布を優先度の高い粒子を担当するノードに割り当て、挙動の主体となる分布以外は優先度の低い粒子を担当するノードに割り当てればよい。そして、ファイル出力は、各ノードが各別に、または、何れか1つのノードに集約して行なう。
【0175】
また、図10Bに示す第5実施形態(第2例)の優先度の対応付け手法は、図10に示す第5実施形態(第1例)と似通っている。違いは、全粒子に対して着目する粒子が占める割合が代表ノードとの関係でキチンと切り分けられない場合に適用される。第5実施形態(第1例)では行方向の代表ノードが纏めてファイル出力を担当する部分と一対一で優先度の高い・低いの対応付けをとっていたが、第5実施形態(第1例)では行方向の代表ノードが纏めてファイル出力を担当する部分と一対一で優先度の高い・低いの対応付けをとれる部分と、一対一で優先度の高い・低いの対応付けをとれない部分とが混在する場合の事例である。
【0176】
たとえば、第1構成例の粒子挙動解析装置202を適用する図5において、優先度設定部242は、行方向の代表ノードが纏めてファイル出力を担当する部分と一対一で優先度の高い・低いの対応付けをとれる部分に関しては、挙動の主体となる分布を優先度の高い粒子を担当する代表ノードに割り当て、挙動の主体となる分布以外を優先度の低い粒子を担当する代表ノードに割り当てる。行方向の代表ノードが纏めてファイル出力を担当する部分と一対一で優先度の高い・低いの対応付けをとれない部分に関しては、挙動の主体となる分布を優先度の高い粒子を担当するノードに割り当て、挙動の主体となる分布以外を優先度の低い粒子を担当するノードに割り当てる。
【0177】
たとえば、全粒子数n=16とする。図10Bにおいて、分布番号3〜12は優先度が高く与えられた分布であり、図10Cにおいて、それらの分布に対応付けられたノード#3〜#12に関して、代表ノードがファイル出力を行なう。具体的には、ノード#4は、同一行の各ノード#4〜#7の計算結果データを集約し、代表してそれらの計算結果のファイル出力を行なう。ノード#8は、同一行の各ノード#8〜#11の計算結果データを集約し、代表してそれらの計算結果のファイル出力を行なう。
【0178】
また、図10Bにおいて、分布番号0〜2,13〜15は優先度が低く与えられた分布であり、図10Cにおいて、それらの分布に対応付けられたノード#0〜#2,#13〜#15に関しては、計算結果のファイル出力を行なわない。ここで、ノード#0〜#3を代表する代表ノード#0は、分布番号3に対応付けられたノード#3の計算結果ファイルを受け取り、代表してその計算結果のファイル出力を行なう。ノード#12〜#15を代表する代表ノード#12は、分布番号12に対応付けられた自身(ノード#12)の計算結果のファイル出力を行なう。
【0179】
図示を割愛するが、第2構成例の粒子挙動解析装置202を適用する場合は、行方向の代表ノードが纏めてファイル出力を担当する部分と一対一で優先度の高い・低いの対応付けを行なうという概念は存在し得ない。よって、図5Bにおいて、挙動の主体となる分布を優先度の高い粒子を担当するノードに割り当て、挙動の主体となる分布以外を優先度の低い粒子を担当するノードに割り当てればよい。そして、ファイル出力は、各ノードが各別に、または、何れか1つのノードに集約して行なう。
【0180】
また、図10Dに示す第5実施形態(第3例)の優先度の対応付け手法は、図10に示す第5実施形態(第2例)における「行方向の代表ノードが纏めてファイル出力を担当する部分と一対一で優先度の高い・低いの対応付けをとれない部分と同じである。第3・第5実施形態(第1例・第2例)との相違点として、分布の中心が全範囲の中心からずれて端に片寄っている場合(図10D(1))や、山・谷が周期的に繰り返す形状を持つ場合(図10D(2))、など分布が正規分布に近い形状を持たない場合に有効な手法である。その場合でも、分布形状に合わせて着目する粒子が占める分布部分に優先度を高く設定すればよい。すなわち、第1構成例の粒子挙動解析装置202を適用する図5において、優先度設定部242は、挙動の主体となる分布を優先度の高い粒子を担当するノードに割り当て、挙動の主体となる分布以外を優先度の低い粒子を担当するノードに割り当てる。
【0181】
たとえば、n=16とし、山・谷が周期的に繰り返す形状を持つ図10D(2)への適用例で具体的に説明する。図10D(2)において、奇数番目の分布番号は優先度が高く与えられた分布であり、偶数番目の分布番号は優先度が低く与えられた分布であるものとする。たとえば、粒子Aが優先度の高い粒子で、粒子Bが優先度の低い粒子である際に、粒子Aは奇数番目の分布番号のものに対応し、粒子Bは偶数番目の分布番号のものに対応する場合が該当する。また、それとは逆に、粒子Bが優先度の高い粒子で、粒子Aが優先度の低い粒子である際に、粒子Bは奇数番目の分布番号のものに対応し、粒子Aは偶数番目の分布番号のものに対応する場合が該当する。
【0182】
図10Eにおいて、優先度が高い奇数番目の分布番号に対応付けられた奇数番目のノード#1,#3,…,#15に関して、代表ノードがファイル出力を行なう。偶数番目の分布番号は優先度が低く与えられた分布であり、図10Eにおいて、それらの分布に対応付けられた偶数番目のノード#0,#2,…,#14に関しては、計算結果のファイル出力を行なわない。
【0183】
ここで、ノード#0〜#3を代表する代表ノード#0は、優先度の高い奇数番目の分布番号1,3に対応付けられたノード#1,#3の計算結果ファイルを受け取り、代表してその計算結果のファイル出力を行なう。ノード#4〜#7を代表する代表ノード#4は、優先度の高い奇数番目の分布番号5,7に対応付けられたノード#5,#7の計算結果ファイルを受け取り、代表してその計算結果のファイル出力を行なう。ノード#8〜#11を代表する代表ノード#8は、優先度の高い奇数番目の分布番号9,11に対応付けられたノード#9,#11の計算結果ファイルを受け取り、代表してその計算結果のファイル出力を行なう。ノード#12〜#15を代表する代表ノード#8は、優先度の高い奇数番目の分布番号9,15に対応付けられたノード#9,#15の計算結果ファイルを受け取り、代表してその計算結果のファイル出力を行なう。
【0184】
図示を割愛するが、第2構成例の粒子挙動解析装置202を適用する場合は、行方向の代表ノードが纏めてファイル出力を担当する部分と一対一で優先度の高い・低いの対応付けを行なうという概念は存在し得ない。よって、図5Bにおいて、挙動の主体となる分布を優先度の高い粒子を担当するノードに割り当て、挙動の主体となる分布以外を優先度の低い粒子を担当するノードに割り当てればよい。そして、ファイル出力は、各ノードが各別に、または、何れか1つのノードに集約して行なう。
【0185】
<他の分割法への適用>
前記の各実施形態では、力分割法との組合せで説明したが、本実施形態において優先度に基づいてファイル出力を行なうか否かを切り分ける仕組みは、他の分割法と組み合わせてよい。解析対象範囲に関して予め決められた分割法に従って分割された分割部分について、解析結果の出力処理と対応する優先度を設定し、その優先度に基づいて各分割部分について数値演算処理部234により得られた解析結果の出力可否を切り替えればよい。
【0186】
たとえば、粒子分割法(粒子分割並列化処理)は力分割法と似通っており、粒子をマトリクス状に配置する。よって、粒子分割法への適用においては、そのマトリクス上で、前記実施形態と同様に粒子や原子に優先度を設定し、その優先度に基づきファイル出力を行なうか否かを切り分ければよい。なお、力分割法では、特許文献1に記載のように、力マトリクスの特定プロセッサとの間でのみ計算データの通信を行なうのに対して粒子分割法では全プロセッサ間でデータ通信が必要とされ、全解析処理に占める通信処理に要する時間の割合が力分割法よりも多くなる。
【0187】
解析結果のファイル出力の側面では、力分割法では、行方向に纏めて代表ノードでファイル出力処理を行なう第2比較例の手法を適用し得るが、粒子分割法では、第2比較例のような手法は採り得ず、力分割法の第1比較例と同様に、何れか1つのノードに集約してファイル出力するか、各ノードが各別にファイル出力することになる。
【0188】
また、領域分割法への適用においては、分割された領域に対して、前記実施形態と同様に優先度を設定し、その優先度に基づきファイル出力を行なうか否かを切り分ければよい。たとえば、図1において、感光体10と現像ロール140の各周縁が対向し現像作用の行なわれる範囲領域(現像ニップ領域)に関する現像剤粒子102の挙動解析では、記録画像に応じて帯電されている感光体10の表面へのトナー粒子の飛翔および感光体10への付着の状況が記録画像の画質を左右する。よって、現像ニップ領域に関してある程度広い解析対象領域を設定して領域分割法を適用するが、その中でも、特に、記録画像に応じて帯電されている感光体10の表面へトナー粒子が飛翔する部分を含む分割領域の優先度を、他の分割領域の優先度よりも高く設定するとよい。
【0189】
また、図1において、現像装置40の攪拌プロセスの解析では、図示しない攪拌搬送ロールにより現像剤粒子102が攪拌・搬送される攪拌搬送領域や、攪拌搬送領域と層形成領域との間のピックアップ領域や現像剤粒子102の回収されるピックオフ領域での解析が重要となる。よって、現像ロール140を解析対象領域に設定して領域分割法を適用するが、その中でも、特に、攪拌搬送領域やピックアップ領域やピックオフ領域を含む分割領域の優先度を、他の分割領域の優先度よりも高く設定するとよい。
【0190】
なお、領域分割法では、特許文献1に記載のように、プロセッサ数(ノード数)を過度に増やすと、全処理時間における通信時間の比率が増大して並列化の効果が飽和する。粒子分割法と同様に、全解析処理に占める通信処理に要する時間の割合が力分割法よりも多くなる。
【0191】
こういった点では、複数プロセッサを使用した並列化処理による全処理時間の短縮性能も加味すれば、力分割法へ前記実施形態を適用すると、ファイル出力処理も含めた全体としての粒子挙動解析処理性能が向上する。
【0192】
以上、本発明について実施形態を用いて説明したが、本発明の技術的範囲は前記実施形態に記載の範囲には限定されない。発明の要旨を逸脱しない範囲で前記実施形態に多様な変更または改良を加えることができ、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれる。
【0193】
また、前記の実施形態は、クレーム(請求項)にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組合せの全てが発明の解決手段に必須であるとは限らない。前述した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜の組合せにより種々の発明を抽出できる。実施形態に示される全構成要件から幾つかの構成要件が削除されても、効果が得られる限りにおいて、この幾つかの構成要件が削除された構成が発明として抽出され得る。
【0194】
前記実施形態は、情報処理装置が適用される具体例として粒子挙動解析装置を例に説明するとともに、解析対象粒子が存在する装置としては画像形成装置を例に説明したが、これは一例に過ぎない。
【0195】
たとえば、粒子挙動解析は、現像装置40における攪拌プロセスや現像プロセスへの適用に限定されない。たとえば、電子写真方式の転写装置における転写プロセスや、クリーニング装置における清掃プロセスにも適用してよい。また、粒子種や作用力を問わず、あらゆる粒子(粉体)を取り扱うシステムのシミュレーションにも同様に適用してよい。電子写真方式以外では、岩石などの落石シミュレーション、ホッパー内の粉の流動シミュレーション、製薬用製剤装置内の粉末体の流動シミュレーションなどへ適用してもよい。
【0196】
また、前記実施形態の仕組みは、複数のプロセッサを有する情報処理装置において、情報処理結果(具体的には粒子挙動解析用の計算結果)の出力処理を効率的に行なうものであるから、同様のシステム構成を持つ情報処理装置(情報処理システム)に、前記実施形態の仕組みが同様に適用されることは自明である。その場合、計算処理対象は粒子挙動解析に限定されず、一般的なものでよく、数値演算処理部234は入力された計算情報に基づき情報処理計算を行なう計算部に置き換え、出力データ処理部236は、情報処理計算の結果の出力可否を切り替えるものとすればよい。
【図面の簡単な説明】
【0197】
【図1】電子写真方式の画像形成装置の一構成例を示す図である。
【図2】粒子挙動解析システムの構成例を示すブロック図である。
【図3】粒子挙動解析装置の第1構成例を説明する図(主粒子挙動解析装置に着目)である。
【図3A】粒子挙動解析装置の第1構成例を説明する図(副粒子挙動解析装置に着目)である。
【図3B】粒子挙動解析装置の第2構成例を説明する図(主粒子挙動解析装置に着目)である。
【図3C】粒子挙動解析装置の第2構成例を説明する図(副粒子挙動解析装置に着目)である。
【図4】第2構成例の粒子挙動解析装置を適用した場合のファイル出力処理を説明する図である。
【図4A】第2構成例の粒子挙動解析装置を適用した場合のファイル出力処理を説明する図である。
【図4B】第1構成例の粒子挙動解析装置を適用した場合のファイル出力処理を説明する図である。
【図4C】第1比較例と第2比較例のファイル出力処理の対比を説明する図である。
【図5】第1構成例の粒子挙動解析装置を適用した場合の本実施形態のファイル出力処理の基本原理を説明する図である。
【図5A】第2構成例の粒子挙動解析装置を適用した第1比較例と第1構成例の粒子挙動解析装置を適用した本実施形態の各ファイル出力処理の対比を説明する図である。
【図5B】第2構成例の粒子挙動解析装置を適用した場合の本実施形態のファイル出力処理の基本原理を説明する図である。
【図5C】第2構成例の粒子挙動解析装置を適用した第1比較例と第2構成例の粒子挙動解析装置を適用した本実施形態の各ファイル出力処理の対比を説明する図である。
【図6】ファイル出力処理の第1実施形態を説明する図である。
【図7】ファイル出力処理の第2実施形態を説明する図である。
【図8】ファイル出力処理の第3実施形態における優先度の対応付け手法を説明する図である。
【図8A】ファイル出力処理の第3実施形態を説明する図である。
【図9】ファイル出力処理の第4実施形態における優先度の対応付け手法を説明する図である。
【図9A】ファイル出力処理の第4実施形態を説明する図である。
【図10】ファイル出力処理の第5実施形態(第1例)における優先度の対応付け手法を説明する図である。
【図10A】ファイル出力処理の第5実施形態(第1例)を説明する図である。
【図10B】ファイル出力処理の第5実施形態(第2例)における優先度の対応付け手法を説明する図である。
【図10C】ファイル出力処理の第5実施形態(第2例)を説明する図である。
【図10D】ファイル出力処理の第5実施形態(第3例)における優先度の対応付け手法を説明する図である。
【図10E】ファイル出力処理の第5実施形態(第3例)を説明する図である。
【符号の説明】
【0198】
1…画像形成装置、200…粒子挙動解析システム、202…粒子挙動解析装置、210…指示入力装置、212…表示装置、220…データ入力部、230…データ処理部、232…データ受付部、234…数値演算処理部、236…出力データ処理部、238…データ記憶部、240…情報提示部、242…優先度設定部、250…分割処理部、250a…解析負荷分散処理部、260…行方向処理結果出力処理部
【特許請求の範囲】
【請求項1】
解析対象範囲に関して予め決められた分割法に従って分割された分割部分について、他の装置との間で情報通信を行ないつつ、粒子に作用する他の物質との間での相互作用力を考慮して前記粒子の挙動を計算する粒子挙動計算部と、
解析結果の出力処理の可否と対応する前記分割部分の優先度に基づいて前記粒子挙動計算部により得られた解析結果の出力可否を切り替える出力処理部と、
を備えた粒子挙動解析装置。
【請求項2】
解析対象範囲を予め決められた分割法に従って分割し、それぞれの分割部分を各粒子挙動計算部に割り当てる分割処理部と、
前記分割部分に解析結果の出力処理と対応する優先度を設定する優先度設定部と、
をさらに備えている
請求項1に記載の粒子挙動解析装置。
【請求項3】
前記優先度設定部は、粒子の種類に基づいて優先度を設定する
請求項2に記載の粒子挙動解析装置。
【請求項4】
前記優先度設定部は、粒子特性の分布に基づいて優先度を設定する
請求項2に記載の粒子挙動解析装置。
【請求項5】
前記優先度設定部は、分布の区分数と前記数値演算処理部の数を一対一に対応させ、各分布に優先度を設定する
請求項4に記載の粒子挙動解析装置。
【請求項6】
前記優先度設定部は、粒子を構成する原子の種類に基づいて優先度を設定する
請求項2に記載の粒子挙動解析装置。
【請求項7】
前記優先度設定部は、挙動の主体となる方の優先度を高く設定する
請求項2〜6の内の何れか一項に記載の粒子挙動解析装置。
【請求項8】
前記優先度設定部は、挙動の主体とならない方の優先度を高く設定する
請求項2〜6の内の何れか一項に記載の粒子挙動解析装置。
【請求項9】
前記分割処理部は、粒子を力行列を使用した力分割法により分割し、それぞれの分割部分を各粒子挙動計算部に割り当てるものであり、
さらに、前記優先度に基づいて解析結果の出力可否を切り替え、出力対象となるものについて、前記力行列における行方向ごとに、各粒子挙動計算部により得られた解析結果を前記出力処理部を介して集約し纏めて出力する行方向処理結果出力処理部を備える
請求項2に記載の粒子挙動解析装置。
【請求項10】
解析対象範囲に関して予め決められた分割法に従って分割された分割部分について、他の装置との間で情報通信を行ないつつ、粒子に作用する他の物質との間での相互作用力を考慮して前記粒子の挙動を計算する粒子挙動計算部と、
解析結果の出力処理の可否と対応する前記分割部分の優先度に基づいて前記粒子挙動計算部により得られた解析結果を出力する出力処理部と、
して電子計算機を機能させるプログラム。
【請求項11】
入力された計算情報に基づき情報処理計算を行なう計算部と、
解析結果の出力処理の可否と対応する優先度に基づいて前記情報処理計算の結果の出力可否を切り替える出力処理部と、
を備えた情報処理装置。
【請求項1】
解析対象範囲に関して予め決められた分割法に従って分割された分割部分について、他の装置との間で情報通信を行ないつつ、粒子に作用する他の物質との間での相互作用力を考慮して前記粒子の挙動を計算する粒子挙動計算部と、
解析結果の出力処理の可否と対応する前記分割部分の優先度に基づいて前記粒子挙動計算部により得られた解析結果の出力可否を切り替える出力処理部と、
を備えた粒子挙動解析装置。
【請求項2】
解析対象範囲を予め決められた分割法に従って分割し、それぞれの分割部分を各粒子挙動計算部に割り当てる分割処理部と、
前記分割部分に解析結果の出力処理と対応する優先度を設定する優先度設定部と、
をさらに備えている
請求項1に記載の粒子挙動解析装置。
【請求項3】
前記優先度設定部は、粒子の種類に基づいて優先度を設定する
請求項2に記載の粒子挙動解析装置。
【請求項4】
前記優先度設定部は、粒子特性の分布に基づいて優先度を設定する
請求項2に記載の粒子挙動解析装置。
【請求項5】
前記優先度設定部は、分布の区分数と前記数値演算処理部の数を一対一に対応させ、各分布に優先度を設定する
請求項4に記載の粒子挙動解析装置。
【請求項6】
前記優先度設定部は、粒子を構成する原子の種類に基づいて優先度を設定する
請求項2に記載の粒子挙動解析装置。
【請求項7】
前記優先度設定部は、挙動の主体となる方の優先度を高く設定する
請求項2〜6の内の何れか一項に記載の粒子挙動解析装置。
【請求項8】
前記優先度設定部は、挙動の主体とならない方の優先度を高く設定する
請求項2〜6の内の何れか一項に記載の粒子挙動解析装置。
【請求項9】
前記分割処理部は、粒子を力行列を使用した力分割法により分割し、それぞれの分割部分を各粒子挙動計算部に割り当てるものであり、
さらに、前記優先度に基づいて解析結果の出力可否を切り替え、出力対象となるものについて、前記力行列における行方向ごとに、各粒子挙動計算部により得られた解析結果を前記出力処理部を介して集約し纏めて出力する行方向処理結果出力処理部を備える
請求項2に記載の粒子挙動解析装置。
【請求項10】
解析対象範囲に関して予め決められた分割法に従って分割された分割部分について、他の装置との間で情報通信を行ないつつ、粒子に作用する他の物質との間での相互作用力を考慮して前記粒子の挙動を計算する粒子挙動計算部と、
解析結果の出力処理の可否と対応する前記分割部分の優先度に基づいて前記粒子挙動計算部により得られた解析結果を出力する出力処理部と、
して電子計算機を機能させるプログラム。
【請求項11】
入力された計算情報に基づき情報処理計算を行なう計算部と、
解析結果の出力処理の可否と対応する優先度に基づいて前記情報処理計算の結果の出力可否を切り替える出力処理部と、
を備えた情報処理装置。
【図1】
【図2】
【図3】
【図3A】
【図3B】
【図3C】
【図4】
【図4A】
【図4B】
【図4C】
【図5】
【図5A】
【図5B】
【図5C】
【図6】
【図7】
【図8】
【図8A】
【図9】
【図9A】
【図10】
【図10A】
【図10B】
【図10C】
【図10D】
【図10E】
【図2】
【図3】
【図3A】
【図3B】
【図3C】
【図4】
【図4A】
【図4B】
【図4C】
【図5】
【図5A】
【図5B】
【図5C】
【図6】
【図7】
【図8】
【図8A】
【図9】
【図9A】
【図10】
【図10A】
【図10B】
【図10C】
【図10D】
【図10E】
【公開番号】特開2010−175311(P2010−175311A)
【公開日】平成22年8月12日(2010.8.12)
【国際特許分類】
【出願番号】特願2009−16219(P2009−16219)
【出願日】平成21年1月28日(2009.1.28)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【公開日】平成22年8月12日(2010.8.12)
【国際特許分類】
【出願日】平成21年1月28日(2009.1.28)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
[ Back to top ]