説明

計算装置、挙動シミュレーション方法及びそのプログラム

【課題】容器内の粒子の挙動シミュレーションを精度よく行うことができる計算装置、挙動シミュレーション方法及びそのプログラムを提供する。
【解決手段】挙動シミュレーション方法に用いられる数値計算対象領域1は、流体4と、流体4中に分散する粒子5とを備え、粒子5の大きさより小さい空間要素2で分割されている。挙動シミュレーション方法は、現在時刻Tに算出された粒子5が受ける力を粒子5に対応する空間要素2に設定し、T〜T+Δtの間の流体4’(粒子5と流体4を一体とみなした流体)の流体計算を行って、T+Δtにおける粒子5の速度及び位置を算出・出力する。その後、現在時刻Tの値をT+Δtの値に更新して、上述した数値計算処理を繰り返す。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、計算装置、挙動シミュレーション方法及びそのプログラムに関し、特に、容器内の粒子の運動状態を数値計算により求める計算装置、挙動シミュレーション方法及びそのプログラムに関する。
【背景技術】
【0002】
従来より、印刷トナー容器内粒子の挙動シミュレーションを行う計算装置が知られている。具体的には、粒子粒子間、粒子攪拌機関の応力から粒子の混合状態について数値計算を行い、容器内粒子が受ける力を帯電量と粒子位置から求め、時間発展を求める。すなわち、いわゆる差分法により印刷トナー容器内粒子の挙動シミュレーションを行う方法が開示されている(例えば、特許文献1参照)。
【特許文献1】特開2000−214134号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、従来の計算装置は、印刷トナーが乾式トナーであるときのシミュレーションを行うものであるため、容器内粒子の運動に流体による効果が入らないという問題がある。特に、容器内粒子が受ける力の計算に粒子速度が用いられていないため、容器内粒子の運動に流体の効果が無視できない系においては、容器内粒子の挙動シミュレーションの精度が悪くなる傾向がある。
【0004】
本発明の目的は、容器内の粒子の挙動シミュレーションを精度よく行うことができる計算装置、挙動シミュレーション方法及びそのプログラムを提供することにある。
【課題を解決するための手段】
【0005】
上記目的を達成するために、請求項1記載の計算装置は、容器内の流体中に分散する粒子の挙動シミュレーションを行う計算装置であって、前記容器内の領域を数値計算対象領域とし、当該数値計算対象領域を前記粒子よりも小さい空間要素に分割する領域分割手段と、現在時刻における前記粒子の位置・速度に基づいて、前記粒子が受ける力を算出する力算出手段と、前記算出された前記粒子が受ける力を前記粒子に対応する前記空間要素に設定する設定手段と、前記粒子及び前記流体を一体の流体として前記現在時刻から微小時間の間の流体計算を行う流体計算手段と、前記現在時刻から前記微小時間経過後の前記一体の流体の速度分布を算出する速度分布算出手段と、前記算出された速度分布のうち、前記粒子に対応する空間要素の速度を加重平均して前記現在時刻から前記微小時間経過後の前記粒子の速度を算出する粒子速度算出手段と、前記算出された粒子速度から前記微小時間経過後の前記粒子の位置を算出する粒子位置算出手段とを備えることを特徴とする。
【0006】
上記目的を達成するために、請求項7記載の挙動シミュレーション方法は、容器内の流体中に分散する粒子の挙動シミュレーションを行う挙動シミュレーション方法であって、前記容器内の領域を数値計算対象領域とし、当該数値計算対象領域を前記粒子よりも小さい空間要素に分割する領域分割ステップと、現在時刻における前記粒子の位置・速度に基づいて、前記粒子が受ける力を算出する力算出ステップと、前記算出された前記粒子が受ける力を前記粒子に対応する前記空間要素に設定する設定ステップと、前記粒子及び前記流体を一体の流体として前記現在時刻から微小時間の間の流体計算を行う流体計算ステップと、前記現在時刻から前記微小時間経過後の前記一体の流体の速度分布を算出する速度分布算出ステップと、前記算出された速度分布のうち、前記粒子に対応する空間要素の速度を加重平均して前記現在時刻から前記微小時間経過後の前記粒子の速度を算出する粒子速度算出ステップと、前記算出された粒子速度から前記微小時間経過後の前記粒子の位置を算出する粒子位置算出ステップとを備えることを特徴とする。
【0007】
上記目的を達成するために、請求項8記載のプログラムは、容器内の流体中に分散する粒子の挙動シミュレーションを行う挙動シミュレーション方法をコンピュータにより実行させるプログラムであって、前記容器内の領域を数値計算対象領域とし、当該数値計算対象領域を前記粒子よりも小さい空間要素に分割する領域分割モジュールと、現在時刻における前記粒子の位置・速度に基づいて、前記粒子が受ける力を算出する力算出モジュールと、前記算出された前記粒子が受ける力を前記粒子に対応する前記空間要素に設定する設定モジュールと、前記粒子及び前記流体を一体の流体として前記現在時刻から微小時間の間の流体計算を行う流体計算モジュールと、前記現在時刻から前記微小時間経過後の前記一体の流体の速度分布を算出する速度分布算出モジュールと、前記算出された速度分布のうち、前記粒子に対応する空間要素の速度を加重平均して前記現在時刻から前記微小時間経過後の前記粒子の速度を算出する粒子速度算出モジュールと、前記算出された粒子速度から前記微小時間経過後の前記粒子の位置を算出する粒子位置算出モジュールとを備えることを特徴とする。
【発明の効果】
【0008】
本発明によれば、容器内の流体中に分散する粒子の挙動シミュレーションを行う際に、容器内の領域を数値計算対象領域とし、この数値計算対象領域を粒子よりも小さい空間要素に分割し、現在時刻から微小時間経過までの間の粒子の運動状態の数値計算を行う際に、現在時刻における粒子の位置・速度に基づいて、その粒子が受ける力を算出し、その算出された粒子が受ける力を、その粒子に対応する上記空間要素に設定し、粒子及び流体を一体の流体として現在時刻から微小時間の間の流体計算を行い、微小時間後の上記一体の流体の速度分布を算出し、その算出された速度分布のうち、粒子に対応する空間要素の速度を加重平均して現在時刻から微小時間経過後の粒子の速度を算出し、算出された粒子速度から上記微小時間経過後の粒子の位置を算出するので、容器内の粒子の挙動シミュレーションを精度よく行うことができる。
【発明を実施するための最良の形態】
【0009】
以下、本発明の実施の形態を図面を用いて詳述する。
【0010】
図1は、本実施の形態に係る挙動シミュレーション方法に用いられる数値計算対象領域を概略的に示す図である。
【0011】
図1において、数値計算対象領域1は、容器内の流体4中に分散する粒子5の挙動シミュレーションを行う、図4につき後述する計算装置としてのコンピュータ100において、差分法を用いて粒子5の運動状態の時間発展を行うのに用いられる領域である。具体的には、数値計算対象領域1は、流体4と、流体4中に分散する粒子5と、流体4及び粒子5の存在しない領域3とを備える。この数値計算対象領域1の大きさは流体4及び粒子5を含む容器の大きさを示すものであり、ユーザの入力データに基づいて設定される。また、流体4及び粒子5の物理量の値もユーザの入力データに基づいて設定される。
【0012】
また、数値計算対象領域1は、粒子5の大きさより小さい空間要素2で分割されている。この空間要素2の大きさも、ユーザの入力データに基づいて設定される。
【0013】
後述する図3の処理で算出される粒子5が受ける力は、粒子5に対応する空間要素2に設定する。ここで、空間要素2の1つである領域7のように、粒子5が空間要素2の全てを覆っていれば粒子5が受ける力をその空間要素2に設定すればよい。しかし、空間要素2の1つである領域6のように、粒子5が空間要素2の一部を覆っている場合はその割合に応じて粒子5が受ける力を設定する。これにより、粒子5を流体と見做すことができ、図2に示すように、数値計算対象領域1中の粒子5が移動をしているときに、粒子5と流体4と一体として流体計算を行うことができる。
【0014】
また、各空間要素2に設定する力はこの流体計算で用いられる式に応じて必要があれば粒子体積で割った値を設定する。さらに、上記流体計算の式に応じて必要があれば粒子5に対応する空間要素2に粒子5に対応する物理量を設定する。この場合設定する物理量としては、粒子5の質量に応じた値が挙げられる。
【0015】
このとき同時に、流体4に対応する空間要素2に、流体4に対応する物理量(例えば流体4の質量)を設定してもよい。この場合、粒子5に対応する領域の粘性・質量密度を流体4のそれらとは異なる値に設定するのが望ましい。
【0016】
尚、図2では、粒子5のみが移動し、流体4自体は移動しない場合を示しているが、容器内で粒子5のみならず、流体4も移動する点を粒子5の挙動シミュレーションを行うにあたり考慮するようにしてもよい。
【0017】
図3は、図1における粒子5の運動状態計算処理の手順を示すフローチャートである。
【0018】
図3において、まず、微小時間Δt、粒子5の物理量及び流体4の物理量、総計算時間Tall等の入力データを読み込み(ステップS100)、現在時刻T等の変数の初期化を行う(ステップS101)。本実施の形態では、現在時刻Tの初期値は0とする。
【0019】
次に、現在時刻Tでの粒子5が受ける力の計算を、現在時刻Tにおける粒子5の位置及び速度に基づいて行う(ステップS102)。ここで、現在時刻Tにおける粒子5の位置及び速度としては、本処理開始直後の処理ではステップS100でユーザ入力された値又はステップS101で初期化された値が用いられる。しかし、それ以降の処理では、このフローチャートの前回のループにおいて後述するステップS108で出力された粒子5の位置及び速度の値が用いられる。
【0020】
その後、粒子5が受ける力を粒子5に対応する空間要素2に設定する(ステップS103)。これにより、粒子5を流体と見做すことができ、この粒子5と流体4とを一体の流体(以下「流体4’」という)と仮定して、以下のステップS104における数値計算対象領域1の流体計算を行うことができる。
【0021】
ステップS103の設定が終了した後、T〜T+Δtの間の流体計算を数値計算対象領域1の流体4’について行う(ステップS104)。ここで用いられる流体計算方法はMAC法・SIMPLE法など流体の数値解析手法として公知の方法を用いればよい。
【0022】
その後、T+Δtにおける流体4’の速度分布を算出する(ステップS105)。また、算出された速度分布のうち、粒子5に対応する空間要素2の速度分布を加重平均し、T+Δtにおける粒子5の速度を算出する(ステップS106)。さらに、その粒子速度からT+Δtにおける粒子5の位置を算出する(ステップS107)。
【0023】
上記算出された粒子5の速度及び位置のデータを出力する出力処理を行い(ステップS108)、現在時刻Tの値をT+Δtの値に更新する(ステップS109)。
【0024】
上記更新後の現在時刻Tが、ステップS100で読み込んだ総計算時間Tallの値未満であるときは(ステップS110でNO)、ステップS102からの処理を繰り返す。一方、上記総計算時間Tallの値以上であるときは(ステップS110でYES)、そのまま本処理を終了する。
【0025】
本処理によれば、現在時刻Tに算出された粒子5が受ける力を粒子5に対応する空間要素2に設定し(ステップS103)、T〜T+Δtの間の流体4’(粒子5と流体4を一体とみなした流体)の流体計算を行う(ステップS104)。その後、T+Δtにおける粒子5の速度及び位置を算出・出力する(ステップS105〜S108)。その後、現在時刻Tの値をT+Δtの値に更新して(ステップS109)、ステップS103〜S108の数値計算処理を繰り返す。これにより、容器内の粒子、より具体的には、数値計算対象領域1にある流体4中の粒子5の挙動シミュレーションを精度よく行うことができる。
【0026】
図3のステップS102で粒子5が受ける力として計算される値としては、数値計算対象領域1中の流体4の加速度と粒子5の質量の積に依存した力や、粒子5の電荷及び電場の積に依存した力が挙げられる。さらには、粒子5と別の粒子との距離と相対速度に依存した力や、及び粒子5と計算領域中に設定された固体領域との距離と粒子5の速度に依存した力が挙げられる。本実施の形態では、これら4つのうちの少なくとも1つが含まれるように計算される。
【0027】
ここで、数値計算対象領域1の加速度とは、数値計算対象領域1中で流体4’が移動するように設定した場合に、その移動に伴う加速度である。例えば、重力の影響を考慮して上記計算処理を実行する場合は、その加速度は重力加速度となる。また、粒子5の帯電を考慮して上記計算処理を実行する場合は、数値計算対象領域1には電場が形成されるので、帯電した粒子5が受けるクーロン力(粒子5の電荷及び数値計算対象領域1の電場の積)を粒子5が受ける力に含むように設定するのが望ましい。
【0028】
また、容器内の粒子間の影響を考慮して上記計算処理を実行する場合は、一方の粒子が受ける力に、他方の粒子の位置と速度に依存する力を含むように設定するのが好ましい。例えば2つの粒子が互いに接触している場合、それぞれの粒子が離れる方向の力を含むのが望ましい。また、例えば、2つの粒子が、それらの位置と速度から微小時間中に接触することが予測される場合、一方の粒子が受ける力として、他方の粒子を離す方向の力を含むのが望ましい。
【0029】
このように設定することにより、流体中の粒子の挙動シミュレーションをより高精度に行うことができる。
【0030】
同様に数値計算対象領域内に固体領域を設定する場合、その固体領域と粒子の距離及び速度から粒子が受ける力を求めるのが望ましい。これにより、例えば容器内に粒子攪拌機関等が設置されている場合の流体中の粒子の挙動シミュレーションをより高精度に行うことができる。
【0031】
また、粒子が受ける力を式1により求めても良い。ここで、Giはi番目の粒子が受ける力である。Fiはi番目の粒子が受ける力の関数であり粒子の位置rの関数である。rjは式2により求める。関数Fは粒子の位置rの関数であれば特に限定しない。Fi(rj)の値は正でもよいし負でも良い。これにより粒子相互の引力・斥力相互作用を考慮した数値計算が可能となる。
【0032】
【数1】

【0033】
【数2】

【0034】
ここで、rはi番目の粒子の位置、νはi番目の粒子の速度、dtは微小時間のn分の1の値、mはi番目の粒子の質量、νはj番目の粒子の速度、ν’は粒子速度の時間微分値である。
【0035】
図4は、本発明の実施の形態に係る計算装置としてのコンピュータの構成を概略的に示すブロック図である。
【0036】
本実施の形態に係る計算装置は、図4に示すコンピュータ100により実現される。図4において、CPU101は、プログラムに基づいて各種処理を実行し、装置各部を制御する。表示装置102は処理結果を表示する。入力装置103は、キーボードやマウスなどを備え、コマンドやデータを入力する。1次記憶装置104は、RAMなどで構成され、ワークメモリとして利用される。2次記憶装置105は、HDやFDなどの不揮発記憶媒体を用いてデータやプログラムを記憶する。通信装置106は、専用通信回線やインターネットなどを介して他の装置とデータを送受信する。内部バス107は上述した装置各部を接続する。
【0037】
2次記憶装置105には、図3のフローチャートにつき説明した処理手順を実現するプログラムが格納されている。このプログラムは、通信装置106から受信するようにしてもよい。このプログラムは、2次記憶装置105又は通信装置106から1次記憶装置104にロードされ、CPU101により実行される。また、処理対象となるデータも、2次記憶装置105又は通信装置106から読み込まれるものとする。
【0038】
なお、本発明の目的は、上記実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成される。
【0039】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0040】
プログラムコードを供給するための記憶媒体としては、例えば、ROM、フロッピー(登録商標)ディスク、PCMCIAカードやコンパクトフラッシュ(登録商標)等のメモリカード、ハードディスク、マイクロDAT、光磁気ディスク、CD−RやCD−RW等の光ディスク、DVD等の相変化型光ディスク等で構成されてもよい。また、プログラムコードを、ネットワークを介してダウンロードしてもよい。
【0041】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
【0042】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【0043】
【図1】本実施の形態に係る挙動シミュレーション方法に用いられる数値計算対象領域を概略的に示す図である。
【図2】図1の数値計算対象領域中の粒子が移動する状態を概略的に示す図である。
【図3】図1における粒子の運動状態計算処理の手順を示すフローチャートである。
【図4】本発明の実施の形態に係る計算装置としてのコンピュータの構成を概略的に示すブロック図である。
【符号の説明】
【0044】
1 数値計算対象領域
2 空間要素
4 流体
5 粒子

【特許請求の範囲】
【請求項1】
容器内の流体中に分散する粒子の挙動シミュレーションを行う計算装置であって、
前記容器内の領域を数値計算対象領域とし、当該数値計算対象領域を前記粒子よりも小さい空間要素に分割する領域分割手段と、現在時刻における前記粒子の位置・速度に基づいて、前記粒子が受ける力を算出する力算出手段と、前記算出された前記粒子が受ける力を前記粒子に対応する前記空間要素に設定する設定手段と、前記粒子及び前記流体を一体の流体として前記現在時刻から微小時間の間の流体計算を行う流体計算手段と、前記現在時刻から前記微小時間経過後の前記一体の流体の速度分布を算出する速度分布算出手段と、前記算出された速度分布のうち、前記粒子に対応する空間要素の速度を加重平均して前記現在時刻から前記微小時間経過後の前記粒子の速度を算出する粒子速度算出手段と、前記算出された粒子速度から前記微小時間経過後の前記粒子の位置を算出する粒子位置算出手段とを備えることを特徴とする計算装置。
【請求項2】
前記設定手段は、前記粒子に対応する物理量を前記粒子に対応する前記空間要素に設定し、前記流体に対応する物理量を前記流体に対応する空間要素に設定することを特徴とする請求項1記載の計算装置。
【請求項3】
前記算出された前記粒子が受ける力は、前記数値計算対象領域の加速度と前記粒子の質量との積に依存した力を備えることを特徴とする請求項1又は2記載の計算装置。
【請求項4】
前記算出された前記粒子が受ける力は、前記粒子の電荷及び前記数値計算対象領域の電場の積に依存した力を備えることを特徴とする請求項1乃至3のいずれか1項に記載の計算装置。
【請求項5】
前記流体は、その内部に他の粒子を分散し、
前記算出された前記粒子が受ける力は、前記粒子と前記他の粒子との距離と相対速度に依存した力を備えることを特徴とする請求項1乃至4のいずれか1項に記載の計算装置。
【請求項6】
前記数値計算対象領域は、その中に固体領域が設定し、
前記算出された前記粒子が受ける力は、前記粒子と前記設定された固体領域との距離と前記粒子の速度に依存した力を備えることを特徴とする請求項1乃至5のいずれか1項に記載の計算装置。
【請求項7】
容器内の流体中に分散する粒子の挙動シミュレーションを行う挙動シミュレーション方法であって、
前記容器内の領域を数値計算対象領域とし、当該数値計算対象領域を前記粒子よりも小さい空間要素に分割する領域分割ステップと、現在時刻における前記粒子の位置・速度に基づいて、前記粒子が受ける力を算出する力算出ステップと、前記算出された前記粒子が受ける力を前記粒子に対応する前記空間要素に設定する設定ステップと、前記粒子及び前記流体を一体の流体として前記現在時刻から微小時間の間の流体計算を行う流体計算ステップと、前記現在時刻から前記微小時間経過後の前記一体の流体の速度分布を算出する速度分布算出ステップと、前記算出された速度分布のうち、前記粒子に対応する空間要素の速度を加重平均して前記現在時刻から前記微小時間経過後の前記粒子の速度を算出する粒子速度算出ステップと、前記算出された粒子速度から前記微小時間経過後の前記粒子の位置を算出する粒子位置算出ステップとを備えることを特徴とする挙動シミュレーション方法。
【請求項8】
容器内の流体中に分散する粒子の挙動シミュレーションを行う挙動シミュレーション方法をコンピュータにより実行させるプログラムであって
前記容器内の領域を数値計算対象領域とし、当該数値計算対象領域を前記粒子よりも小さい空間要素に分割する領域分割モジュールと、現在時刻における前記粒子の位置・速度に基づいて、前記粒子が受ける力を算出する力算出モジュールと、前記算出された前記粒子が受ける力を前記粒子に対応する前記空間要素に設定する設定モジュールと、前記粒子及び前記流体を一体の流体として前記現在時刻から微小時間の間の流体計算を行う流体計算モジュールと、前記現在時刻から前記微小時間経過後の前記一体の流体の速度分布を算出する速度分布算出モジュールと、前記算出された速度分布のうち、前記粒子に対応する空間要素の速度を加重平均して前記現在時刻から前記微小時間経過後の前記粒子の速度を算出する粒子速度算出モジュールと、前記算出された粒子速度から前記微小時間経過後の前記粒子の位置を算出する粒子位置算出モジュールとを備えることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2007−286955(P2007−286955A)
【公開日】平成19年11月1日(2007.11.1)
【国際特許分類】
【出願番号】特願2006−114452(P2006−114452)
【出願日】平成18年4月18日(2006.4.18)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】