JP5467262B2 - Particle simulation apparatus and particle simulation method - Google Patents

Particle simulation apparatus and particle simulation method Download PDF

Info

Publication number
JP5467262B2
JP5467262B2 JP2010007142A JP2010007142A JP5467262B2 JP 5467262 B2 JP5467262 B2 JP 5467262B2 JP 2010007142 A JP2010007142 A JP 2010007142A JP 2010007142 A JP2010007142 A JP 2010007142A JP 5467262 B2 JP5467262 B2 JP 5467262B2
Authority
JP
Japan
Prior art keywords
particle
contact
particles
contact force
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010007142A
Other languages
Japanese (ja)
Other versions
JP2011145943A (en
Inventor
泰介 西浦
秀 阪口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Agency for Marine Earth Science and Technology
Original Assignee
Japan Agency for Marine Earth Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Japan Agency for Marine Earth Science and Technology filed Critical Japan Agency for Marine Earth Science and Technology
Priority to JP2010007142A priority Critical patent/JP5467262B2/en
Publication of JP2011145943A publication Critical patent/JP2011145943A/en
Application granted granted Critical
Publication of JP5467262B2 publication Critical patent/JP5467262B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、粒子シミュレーション装置及び粒子シミュレーション方法に関する。   The present invention relates to a particle simulation apparatus and a particle simulation method.

土木工学の研究分野から端を発したDEM(Discrete Element Method:離散要素法)は、その後粉体工学へ応用され、昨今では、粒子性物質のみならず連続体として扱いが困難な非常に多種多様の問題に対する数値解析手法として益々需要は広がってきた。一方、離散的な粒子運動を数値的に追跡する手法には、MD(Molecular Dynamics)、LGA(Lattice Gas Automaton)、SPH(Smoothed Particle Hydrodynamics)などDEM以外にも数多く開発されてきている。しかし、数ある数値粒子解析手法の中で、DEMの応用範囲が広い理由は、粒子の大きさや形状という個々の粒子の幾何情報を考慮しながら粒子間相互作用力を求めニュートンの運動方程式を解くという計算を非常に高速に行えることである。勿論、DEM以外にもDDA(Discontinuous Deformation Analysis)なども、大きさと形状を考慮することが可能な手法であるが、もともと計算負荷が高いので、実用的にあまり多数の粒子の扱うことができない。   DEM (Discrete Element Method), which originated from the civil engineering research field, was later applied to powder engineering, and nowadays it is very diverse that it is difficult to handle not only as a particulate material but also as a continuum. As a numerical analysis method for this problem, the demand is increasing. On the other hand, many techniques other than DEM such as MD (Molecular Dynamics), LGA (Lattice Gas Automaton), and SPH (Smoothed Particle Hydrodynamics) have been developed for numerically tracking discrete particle motion. However, among the many numerical particle analysis methods, the reason why DEM is widely applied is to solve for Newton's equation of motion by calculating the interaction force between particles while taking into account the geometric information of each particle such as the size and shape of the particle. The calculation can be performed very quickly. Of course, DDA (Discontinuous Deformation Analysis) other than DEM is a method that can take into account the size and shape. However, since the calculation load is originally high, it is difficult to handle a large number of particles practically.

ところで、砂や小麦粉のように我々が目にする実際の粒状体や粉体(以下、両者をまとめて「粉粒体」と呼ぶ)は、篩い分けによる粒度調整など特別な処理を施さない限り、一般的には様々な大きさの粒子が混在した状態で存在している(以下、これを「粒子径分布」がある状態と呼ぶ)。実はこの粒子径分布は、粉粒体の均質性や変形や流動といった力学的な性質を支配する大きな要因であり、粉粒体を扱う産業では粒径分離効率や粒度偏析による粉体層の不均質化および混合効率、輸送・充填の制御にはいつも問題となる。したがって、粒子径分布が粒子群全体の振る舞いに与える影響を正しく理解することは、粉粒体を扱うためには必要不可欠である。   By the way, the actual granular materials and powders we see like sand and wheat flour (hereinafter referred to as “powder particles” together) are not subject to special treatment such as particle size adjustment by sieving. In general, particles of various sizes are present in a mixed state (hereinafter referred to as a “particle size distribution” state). Actually, this particle size distribution is a major factor governing the mechanical properties such as homogeneity, deformation, and flow of the granular material. Homogenization and mixing efficiency, transport and filling control are always a problem. Therefore, it is indispensable to correctly understand the influence of the particle size distribution on the behavior of the entire particle group in order to handle powder particles.

DEMは、前述したように粒子の大きさを考慮できる手法であるから、粒子径分布がもたらすマイクロメカニックスをDEMで調べたくなる気持ちはごく自然である。しかし、粒子径が1/nになると粒子1個の体積が(1/n)になり、もとのサイズの粒子1個分の体積を充填するためにn個の粒子が必要となる(厳密には空隙が生じるため、n個よりは少なくなるがオーダーは変わらない)ため、実は、計算機のメモリ量や計算時間の制約上、あまり大きな粒子径分布は扱えない。例えば自然土には数センチの砂利から数ミクロンの粘土粒子まで粒子径は約5桁程度に渡って分布している。すると、全てのサイズで同程度の体積を占めている場合、最大粒径の粒子数を1個にしても、全体では(10)個オーダーの粒子数となってしまう。 Since DEM is a technique that can take into account the size of the particles as described above, it is natural to want to investigate the micromechanics brought about by the particle size distribution with DEM. However, when the particle diameter becomes 1 / n, the volume of one particle becomes (1 / n) 3 , and n 3 particles are required to fill the volume of one particle of the original size. (Strictly speaking, since voids are generated, the order is less than n 3 but the order does not change). Therefore, in reality, a very large particle size distribution cannot be handled due to the amount of memory of the computer and the calculation time. For example, in natural soil, the particle size is distributed over about five digits from gravel of several centimeters to clay particles of several microns. Then, when all sizes occupy the same volume, even if the number of particles having the maximum particle size is one, the total number of particles is on the order of (10 5 ) 3 .

また、DEMで粒子径分布を扱う場合には、上述の粒子数の問題に加えて、粒子径の違いによる接触点数のアンバランスも問題となる。例えば、最大粒子と最小粒子の粒径比をr:1とした時、最大粒子の表面を最小粒子が埋め尽くす場合と、最小粒子の表面を最大粒子が埋め尽くす場合を考えると、表面を覆う粒子の個数はそれぞれ4(r+1)/1および4(r+1)/rとなる。すなわち、接触点数のアンバランスは最大でr:1のオーダーになる。個々の粒子の接触点数のアンバランスは、粒子ごとの接触力の計算回数と接触の総和計算量のアンバランスにつながり、並列計算には大きな障壁となる。つまり、DEMでは、均一粒径の場合と違って粒径比が大きくなると、単純に粒径の幾何学的な情報だけからでも粒子数が増加し接触点数のアンバランスが生じることが見込まれ、結果としてかなり計算負荷が高くなることが分かる。このことに加えて、実際のDEMのプログラム内部の処理においても、粒子径分布が存在すると、接触判定の対象となる接触候補の絞り込み検索と接触候補ペアを格納するための処理が、均一粒径の場合と比較して計算負荷が著しく高くなってしまう。 In addition, when dealing with the particle size distribution by DEM, in addition to the above-mentioned problem of the number of particles, an unbalance of the number of contact points due to the difference in particle size also becomes a problem. For example, when the ratio of the maximum particle size to the minimum particle size is r: 1, the case where the surface of the maximum particle is filled with the minimum particle and the case where the surface of the minimum particle is filled with the maximum particle are considered. the number of particles are respectively 4 (r + 1) 2/ 1 2 and 4 (r + 1) 2 / r 2. That is, the imbalance of the number of contact points is on the order of r 2 : 1 at the maximum. The unbalance of the number of contact points of each particle leads to an unbalance between the number of contact force calculations for each particle and the total calculation amount of contact, which is a big barrier to parallel calculation. In other words, unlike the case of uniform particle size, in DEM, when the particle size ratio increases, the number of particles is expected to increase simply from the geometric information of the particle size, and the number of contact points is unbalanced. As a result, it can be seen that the calculation load is considerably high. In addition to this, even in the processing inside the actual DEM program, if there is a particle size distribution, the search for the contact candidate to be contacted and the processing for storing the contact candidate pair are performed with a uniform particle size. As compared with the case of, the calculation load is significantly increased.

この粒子径分布がある問題に対して、接触候補ペアの抽出と格納に関連する処理を高速化するためのDEMプログラミングの手法は幾つか提案されてきている(例えば特許文献1)。   Several DEM programming techniques have been proposed for speeding up processing related to extraction and storage of contact candidate pairs for the problem of this particle size distribution (for example, Patent Document 1).

一方、最近ではCPUと比べて価格に対する演算性能の比が格段に大きいGPU(Graphics Processing Unit)を用いた数値シミュレーションの高速化が盛んに行われている。これに伴い、粒子系シミュレーションについても、高価なスーパーコンピュータを用いたベクトル化処理よりも、ベクトル演算と同等の超並列演算が可能で安価なGPUに対する高速化アルゴリズムが提案されてきている(例えば特許文献2)。   On the other hand, recently, speeding up of numerical simulation using a GPU (Graphics Processing Unit), which has a much larger ratio of calculation performance to price than a CPU, has been actively performed. Along with this, for particle system simulation, a faster algorithm for GPUs has been proposed that can perform massively parallel computation equivalent to vector computation and is cheaper than vectorization processing using an expensive supercomputer (for example, patents). Reference 2).

特開2007−286514号公報JP 2007-286514 A 特開2009−69930号公報JP 2009-69930 A

しかし、特許文献1など従来のDEM高速化手法は、まずセルに粒子を格納してからセルサイズやセル探索範囲を最適化する手法であって、並列化やベクトル化による大規模高速化をことさら意識したものではない。具体的な例を挙げると、粒子番号のループで粒子をセルに格納する処理をベクトル化のようなSIMD(Single Instruction Multiple Data)型並列処理で行うと、2つ以上の粒子が同一セルに格納されるときにはメモリ書き込み競合が生じるために非常に都合が悪い。このメモリ書き込み競合問題は、単一粒径成分の場合でも一つのセルに複数の粒子が入ってしまう場合に発生するが、粒子径分布がある場合は一つのセルに入る粒子数自体に大きな分布ができるので、並列化やベクトル化によるプログラムの高速化の際には、さらに厄介な大きな問題となる。   However, the conventional DEM acceleration method such as Patent Document 1 is a method of first optimizing the cell size and cell search range after storing the particles in the cell, and further increases the large-scale acceleration by parallelization or vectorization. Not conscious. As a specific example, if the process of storing particles in a cell with a particle number loop is performed by SIMD (Single Instruction Multiple Data) parallel processing such as vectorization, two or more particles are stored in the same cell. This is very inconvenient because it causes memory write contention. This memory write contention problem occurs when multiple particles are contained in one cell even in the case of a single particle size component, but when there is a particle size distribution, there is a large distribution in the number of particles contained in one cell itself. Therefore, when the program speed is increased by parallelization or vectorization, it becomes an even more troublesome problem.

また、特許文献2などのGPU高速化アルゴリズムでは、接触候補粒子ペアの検出処理においては、CPUベースのプログラムと同様にセルに粒子を格納してからセルを探索する方法が用いられている。しかし上述したように、GPUでも複数粒子が同一セルに格納される場合には、やはりメモリ書き込み競合が生じるため、この問題を回避するために、幾つかの対策が提案されている。一つは、粒子の格納と確認操作を複数回繰り返す方法で、他方は、コンパイラ付属の排他処理関数(Atomic関数)を用いる方法である。また、粒子間接触力の計算ルーチンにおいてもメモリ書き込み競合を防ぐために、粒子i‐j間の接触力計算を粒子iと粒子jそれぞれに対して同じ計算を二度行うことで問題を回避する工夫がなされている。   Further, in the GPU acceleration algorithm such as Patent Document 2, in the detection process of the contact candidate particle pair, a method of searching for a cell after storing particles in the cell is used in the same manner as a CPU-based program. However, as described above, even when a plurality of particles are stored in the same cell in the GPU, memory write contention still occurs, and several measures have been proposed in order to avoid this problem. One is a method of repeating particle storage and confirmation operations a plurality of times, and the other is a method using an exclusive processing function (atomic function) attached to the compiler. In addition, in order to prevent memory write competition in the interparticle contact force calculation routine, a device that avoids the problem by calculating the contact force between the particles ij twice for each of the particles i and j. Has been made.

しかし、前述のように、粒子径分布があると、セルによって格納される粒子数に大きな偏りが生じやすく、また大粒子に対する接触粒子数は小粒子に対するそれと比べて非常に多いために、ロードバランスを大きく損ないやすい。例えば、これらの方法を用いた三次元DEMで二成分系粒子群に対するGPU計算を行うと、二成分の粒子径比が1:4になるだけで単一成分の場合と比べて計算時間は3倍近くにもなることが報告されている。   However, as described above, if there is a particle size distribution, the number of particles stored by the cell tends to be greatly biased, and the number of contact particles for large particles is much larger than that for small particles. It is easy to damage greatly. For example, when a GPU calculation is performed on a binary particle group using a three-dimensional DEM using these methods, the calculation time is 3 as compared with a single component when the particle size ratio of the two components is only 1: 4. It has been reported that it will be nearly double.

そして、粒子径分布を考慮した粉粒体のDEMシミュレーションを行う場合、粒子径を均一とした同じ粒子数の場合に比べて、接触力を考慮すべき近傍粒子の数が急激に増大するので、DEM計算を実現するために確保しなければならないメモリ使用量が増大するという問題があった。   And when performing a DEM simulation of a granular material in consideration of the particle size distribution, the number of neighboring particles that should consider the contact force increases rapidly compared to the case of the same number of particles with a uniform particle size. There has been a problem that the amount of memory used that must be secured to realize the DEM calculation increases.

GPU演算は、CPU演算のようにメモリをハードウェア的に増設することができないため、あくまでグラフィックカードに搭載された限られたメモリ容量内でしか処理できない。勿論、GPUメモリの不足分を転送通信によってCPUメモリに頼る方法も考えられるが、GPUメモリとCPUメモリ間の転送速度は非常に遅いため、せっかくのGPUの高い計算効率が全く生かされず推奨できない。このように、GPUをDEM計算に使用する場合、現状のGPUのメモリ容量が最大でも4GB程度であるので、このメモリ使用量の問題が、GPUを粒子シミュレーションに適用することの制約となっている。そして、この問題は、GPUだけでなく、GPUと同様の共有メモリ型のSIMD(Single Instruction Multiple Data)型並列処理を行うハードウェア(例えばベクトルプロセッサ)(以下、「共有メモリ型並列計算機」という)にも該当する問題である。   The GPU calculation cannot be expanded in hardware like the CPU calculation, and can only be processed within a limited memory capacity mounted on the graphic card. Of course, a method of relying on the CPU memory for the shortage of the GPU memory is also conceivable. However, since the transfer speed between the GPU memory and the CPU memory is very slow, the high calculation efficiency of the GPU is not utilized at all and it is not recommended. As described above, when the GPU is used for the DEM calculation, since the memory capacity of the current GPU is about 4 GB at the maximum, the problem of the memory usage is a limitation in applying the GPU to the particle simulation. . This problem is not limited to the GPU, but also hardware (for example, a vector processor) that performs the SIMD (Single Instruction Multiple Data) parallel processing of the shared memory type similar to the GPU (hereinafter referred to as “shared memory type parallel computer”). This is also a problem.

本発明は、上記課題を解決するためになされたものであり、粒子径分布を有する粉粒体のDEM(離散要素法)計算を共有メモリ型並列計算機により実行する際に、メモリ使用量を抑制することができる粒子シミュレーション装置及び粒子シミュレーション方法を提供することを目的とする。   The present invention has been made to solve the above-described problems, and suppresses the memory usage when executing a DEM (Discrete Element Method) calculation of a granular material having a particle size distribution using a shared memory parallel computer. An object of the present invention is to provide a particle simulation apparatus and a particle simulation method that can be performed.

上記課題を解決するため、本発明に係る粒子シミュレーション装置は、作業空間内で粒子径分布を有する粒子群について、他の粒子との接触力に基づく位置・速度を算出し、粒子の挙動をシミュレーションする粒子シミュレーション装置であって、粒子群の各粒子ごとの位置情報及び速度情報を含む粒子情報を入力する入力手段と、粒子情報を保持する粒子情報保持手段と、粒子のそれぞれについて、位置情報に応じた順序で特定する特定情報を付与する付与手段と、粒子の中から前記特定情報の昇順で着目粒子を順次選択し、該着目粒子と接触している可能性のある、当該着目粒子より粒子径の小さい他の粒子との接触候補ペアを選択する接触候補選択手段と、接触候補選択手段により選択された接触候補ペアのそれぞれについて、該接触候補ペアの2つの粒子の間の接触力を、これらの粒子の位置情報及び速度情報に基づき算出し、算出した接触力の情報をこの接触力に対応する接触候補ペアの順番に応じて接触力テーブルに格納する接触力算出手段と、粒子のそれぞれについて、当該粒子の近傍に位置する他の粒子のうち当該粒子の粒子径より大きい粒子との接触力を前記接触力テーブルから参照するための参照情報を含む接触力参照表を作成する接触力参照表作成手段と、粒子のそれぞれについて、当該粒子の近傍に位置する他の粒子のうち当該粒子の粒子径より小さい粒子の数を示す接触候補数の積算値である積算接触候補数を算出する積算接触候補数算出手段と、粒子のそれぞれについて、当該粒子より粒子径の大きい粒子との接触力を接触力参照表の参照情報を用いて接触力テーブルから抽出し、当該粒子より粒子径の小さい粒子との接触力を、積算接触候補数を用いて接触力テーブルの格納位置を特定して抽出し、これらの抽出した接触力を用いて粒子ごとの接触力を総和演算する接触力総和演算手段と、接触力総和演算手段により計算された粒子ごとの接触力に基づいて、粒子の新たな位置情報及び速度情報を算出する算出手段と、算出手段により算出された新たな位置情報及び速度情報を用いて、粒子情報保持手段に保持される粒子情報を更新する粒子情報更新手段と、を備えることを特徴とする。 In order to solve the above problems, the particle simulation apparatus according to the present invention calculates the position / velocity based on the contact force with other particles for a particle group having a particle size distribution in the work space, and simulates the behavior of the particles. A particle simulation apparatus for inputting particle information including position information and velocity information for each particle of a particle group, particle information holding means for holding particle information, and each of the particles as position information. A granting means for granting specific information to be specified in an order according to the selected particle, in order of ascending order of the specific information, from the particles, and a particle from the target particle that may be in contact with the target particle a contact candidate selecting means for selecting a contact candidate pair with small other particles diameters for each contact candidate pairs selected by contacting a candidate selecting means, the contact The contact force between the two particles of the complementary pair is calculated based on the position information and velocity information of these particles, and the calculated contact force information is determined according to the order of the contact candidate pairs corresponding to the contact force. A reference for referring to contact force calculation means stored in a table and contact force of each particle with a particle larger than the particle diameter of other particles located in the vicinity of the particle from the contact force table. Contact force reference table creating means for creating a contact force reference table including information, and for each of the particles, the number of contact candidates indicating the number of particles smaller than the particle diameter of other particles located in the vicinity of the particle The cumulative contact candidate number calculating means for calculating the cumulative contact candidate number, which is the cumulative value of each, and the contact force between each particle and a particle having a particle diameter larger than the particle is referred to in the contact force reference table. Extract from the contact force table, extract the contact force with a particle having a particle diameter smaller than the particle by specifying the storage position of the contact force table using the accumulated number of contact candidates, and use these extracted contact forces A contact force sum calculating means for calculating the total contact force for each particle; a calculating means for calculating new position information and velocity information of the particles based on the contact force for each particle calculated by the contact force sum calculating means; Particle information updating means for updating the particle information held in the particle information holding means using the new position information and velocity information calculated by the calculating means.

同様に、上記課題を解決するため、本発明に係る粒子シミュレーション方法は、作業空間内で粒子径分布を有する粒子群について、他の粒子との接触力に基づく位置・速度を算出し、粒子の挙動をシミュレーションする粒子シミュレーション装置における粒子シミュレーション方法であって、粒子群の各粒子ごとの位置情報及び速度情報を含む粒子情報を入力し、この粒子情報を粒子情報保持手段に保持する入力ステップと、粒子のそれぞれについて、位置情報に応じた順序で特定する特定情報を付与する付与ステップと、粒子の中から特定情報の昇順で着目粒子を順次選択し、該着目粒子と接触している可能性のある、当該着目粒子より粒子径の小さい他の粒子との接触候補ペアを選択する接触候補選択ステップと、接触候補選択ステップにおいて選択された接触候補ペアのそれぞれについて、該接触候補ペアの2つの粒子の間の接触力を、これらの粒子の位置情報及び速度情報に基づき算出し、算出した接触力の情報をこの接触力に対応する接触候補ペアの順番に応じて接触力テーブルに格納する接触力算出ステップと、粒子のそれぞれについて、当該粒子の近傍に位置する他の粒子のうち当該粒子の粒子径より大きい粒子との接触力を接触力テーブルから参照するための参照情報を含む接触力参照表を作成する接触力参照表作成ステップと、粒子のそれぞれについて、当該粒子の近傍に位置する他の粒子のうち当該粒子の粒子径より小さい粒子の数を示す接触候補数の積算値である積算接触候補数を算出する積算接触候補数算出ステップと、粒子のそれぞれについて、当該粒子より粒子径の大きい粒子との接触力を接触力参照表の参照情報を用いて接触力テーブルから抽出し、当該粒子より粒子径の小さい粒子との接触力を、積算接触候補数を用いて接触力テーブルの格納位置を特定して抽出し、これらの抽出した接触力を用いて粒子ごとの接触力を総和演算する接触力総和演算ステップと、接触力総和演算ステップにおいて計算された粒子ごとの接触力に基づいて、粒子の新たな位置情報及び速度情報を算出する算出ステップと、算出ステップにおいて算出された新たな位置情報及び速度情報を用いて、粒子情報保持手段に保持される粒子情報を更新する粒子情報更新ステップと、を含むことを特徴とする。   Similarly, in order to solve the above problem, the particle simulation method according to the present invention calculates the position / velocity based on the contact force with other particles for a particle group having a particle size distribution in the work space, and A particle simulation method in a particle simulation apparatus for simulating behavior, wherein particle information including position information and velocity information for each particle in a particle group is input, and the particle information is held in a particle information holding unit; For each of the particles, an assigning step for assigning specific information to be specified in an order corresponding to the position information, and sequentially selecting the target particle from the particles in ascending order of the specific information, and the possibility of being in contact with the target particle A contact candidate selection step for selecting a contact candidate pair with another particle having a particle diameter smaller than that of the target particle, and a contact candidate selection step For each of the contact candidate pairs selected in the above, the contact force between the two particles of the contact candidate pair is calculated based on the position information and velocity information of these particles, and the calculated contact force information is calculated for the contact force pair. A contact force calculation step for storing in the contact force table according to the order of the contact candidate pairs corresponding to the force, and for each of the particles, among the other particles located in the vicinity of the particle, a particle larger than the particle diameter of the particle A contact force reference table creating step for creating a contact force reference table including reference information for referring to the contact force from the contact force table, and for each of the particles, among the other particles located in the vicinity of the particle An integrated contact candidate number calculating step of calculating an integrated contact candidate number that is an integrated value of the number of contact candidates indicating the number of particles smaller than the particle diameter, and for each particle, The contact force with a particle having a larger particle diameter is extracted from the contact force table using the reference information in the contact force reference table, and the contact force with a particle having a particle diameter smaller than that particle is contacted using the cumulative number of contact candidates. Identify and extract the storage position of the force table, and use these extracted contact forces to calculate the sum of contact forces for each particle, and contact for each particle calculated in the contact force summation step Based on the force, a calculation step for calculating new position information and velocity information of the particles, and the particle information held in the particle information holding means are updated using the new position information and velocity information calculated in the calculation step. And a particle information updating step.

このような粒子シミュレーション装置及び粒子シミュレーション方法によれば、作業空間内の粒子のそれぞれについて、当該粒子の近傍に位置する、この粒子と接触する可能性の高い他の粒子のうち当該粒子の粒子径より小さい粒子については、粒子の数を示す積算接触候補数のみを保持しておき、この積算接触候補数を利用して接触力テーブルの格納位置を特定して当該粒子と他の粒子との接触力を抽出する。これにより、接触力参照表には、当該粒子の近傍に位置する他の粒子のうち当該粒子の粒子径より小さい粒子に関する情報を含める必要がなく、当該粒子の粒子径より大きい粒子に関する情報のみを保持すればよくなる。粒子径分布を有する粒子群をシミュレーション対象とする場合、自分より粒子径の小さい粒子まで接触を考慮すると、同時に接触可能な粒子の数が増大するため、予め接触力参照表のために確保すべきメモリ領域を多くしなければならない。これに対し、本発明の上記構成により、自分より粒子径の大きい粒子との接触のみを考慮すればよく、接触を考慮する粒子数を減らすことができ、接触力参照表を作成するために予め割り当てるメモリ領域を少なくすることが可能となり、この結果、メモリ使用量を抑制することができる。このようにメモリ使用量が抑制されることにより、GPUなどの共有メモリ型並列計算機を利用して粒子シミュレーションを実行することが可能となる。   According to such a particle simulation apparatus and particle simulation method, for each of the particles in the work space, the particle diameter of the particle among the other particles that are located in the vicinity of the particle and are likely to come into contact with the particle For smaller particles, only the accumulated contact candidate number indicating the number of particles is retained, and the storage position of the contact force table is specified using this accumulated contact candidate number to contact the particle with other particles. Extract power. Thus, the contact force reference table does not need to include information on particles smaller than the particle diameter of the particles among other particles located in the vicinity of the particles, and only information on particles larger than the particle diameter of the particles. If you hold it. When a particle group having a particle size distribution is targeted for simulation, the number of particles that can be contacted at the same time increases when considering contact to particles with a particle size smaller than the self, so it should be reserved in advance for the contact force reference table You have to increase the memory area. On the other hand, according to the above configuration of the present invention, it is only necessary to consider contact with particles having a particle size larger than that of the self, and the number of particles considering contact can be reduced. The memory area to be allocated can be reduced, and as a result, the memory usage can be suppressed. By suppressing the memory usage in this way, it is possible to execute a particle simulation using a shared memory parallel computer such as a GPU.

また、粒子シミュレーション装置では、作業空間が複数のセルに分割され、各セルにはセル番号が付されており、粒子情報には、位置情報に基づき特定される、当該粒子が配置されるセルのセル番号が含まれており、付与手段が、粒子のそれぞれについて、セル番号に応じた順序で特定し、さらに同一のセルに配置される粒子間で、粒子径に応じた順序で特定した特定情報を付与する。 Further, in the particle simulation apparatus, the work space is divided into a plurality of cells, each cell is assigned a cell number, and the particle information is specified based on the position information, and the cell in which the particle is arranged. The cell number is included, and the assigning means identifies each of the particles in the order according to the cell number, and further identifies the specific information identified in the order according to the particle diameter between the particles arranged in the same cell. to grant.

同様に、粒子シミュレーション方法では、作業空間が複数のセルに分割され、各セルにはセル番号が付されており、粒子情報には、位置情報に基づき特定される、当該粒子が配置されるセルのセル番号が含まれており、付与ステップが、前記粒子のそれぞれについて、セル番号に応じた順序で特定し、さらに同一のセルに配置される粒子間で、粒子径に応じた順序で特定した特定情報を付与する。 Similarly, in the particle simulation method, the work space is divided into a plurality of cells, each cell is assigned a cell number, and the particle information is a cell in which the particle is specified, which is specified based on position information. Cell number, and the assigning step specified for each of the particles in the order according to the cell number, and further in the order according to the particle diameter between the particles arranged in the same cell to grant specific information.

この構成により、各粒子にセル番号に応じた順序で特定し、さらに同一のセルに配置される粒子間で、粒子径に応じた順序で特定した特定情報が付与されるので、各粒子がセル番号順、さらには同一セル内では粒子径順にソーティングされる。このため、接触力参照表を作成する際に、特定情報に基づき粒子径が小さい粒子を容易に認識することができ、粒子径が小さい粒子については接触力参照表にいれるか否かの判定を行う必要がなくなる。この結果、接触力参照表の作成において計算効率を向上させることができる。   With this configuration, each particle is specified in the order corresponding to the cell number, and the specific information specified in the order corresponding to the particle diameter is given between the particles arranged in the same cell. Sorting is performed in the order of numbers, and further in the order of particle diameter in the same cell. For this reason, when creating the contact force reference table, it is possible to easily recognize particles having a small particle diameter based on the specific information, and to determine whether or not particles having a small particle diameter can be included in the contact force reference table. There is no need to do it. As a result, calculation efficiency can be improved in the creation of the contact force reference table.

また、粒子シミュレーション装置では、接触候補選択手段が、粒子の中から特定情報の昇順で着目粒子を選択し、該着目粒子と接触している可能性のある、当該着目粒子より粒子径の小さい他の粒子との組と、この組に昇順で付される接触候補番号とからなる接触候補ペア情報を、作業空間内の全粒子について含む接触候補リストを作成し、接触力算出手段が、接触候補リストに含まれる接触候補ペア情報のそれぞれについて、該接触候補ペア情報に関する2つの粒子の間の接触力を、当該粒子の前記位置情報及び速度情報に基づき算出し、算出した接触力と接触候補番号とを関連付けた接触力情報を接触力テーブルに格納し、接触力参照表作成手段が、粒子のそれぞれについて、当該粒子と接触している可能性のある、当該粒子より粒子径の大きい他の粒子との接触力を前記接触力テーブルから参照するための参照情報として、該他の粒子及び当該粒子に関する接触候補番号を、該他の粒子及び当該粒子と関連付けて保持する接触力参照表を作成し、積算接触候補数算出手段が、粒子のそれぞれについて、当該粒子と接触している可能性のある、当該粒子より粒子径の小さい他の粒子の数を示す接触候補数を前記特定情報順で積算した値である積算接触候補数s_jgi[i](iは当該粒子の特定情報を示す)を算出し、接触力総和演算手段が、粒子のそれぞれについて、接触力参照表の参照情報を用いて接触力を接触力テーブルから抽出し、また、積算接触候補数s_jgi[i]を用いて接触候補番号がs_jgi[i-1]〜s_jgi[i]‐1の接触力を接触力テーブルから抽出し、これらの抽出した接触力を用いて粒子ごとの接触力を総和演算する。
また、粒子シミュレーション方法では、接触候補選択ステップにおいて、粒子群の中から特定情報の昇順で着目粒子を選択し、該着目粒子と接触している可能性のある、当該着目粒子より粒子径の小さい他の粒子との組と、この組に昇順で付される接触候補番号とからなる接触候補ペア情報を、作業空間内の全粒子について含む接触候補リストを作成し、接触力算出ステップにおいて、接触候補リストに含まれる接触候補ペア情報のそれぞれについて、該接触候補ペア情報に関する2つの粒子の間の接触力を、当該粒子の前記位置情報及び速度情報に基づき算出し、算出した接触力と接触候補番号とを関連付けた接触力情報を接触力テーブルに格納し、接触力参照表作成ステップにおいて、粒子のそれぞれについて、当該粒子と接触している可能性のある、当該粒子より粒子径の大きい他の粒子との接触力を前記接触力テーブルから参照するための参照情報として、該他の粒子及び当該粒子に関する接触候補番号を、該他の粒子及び当該粒子と関連付けて保持する接触力参照表を作成し、積算接触候補数算出ステップにおいて、粒子のそれぞれについて、当該粒子と接触している可能性のある、当該粒子より粒子径の小さい他の粒子の数を示す接触候補数を前記特定情報順で積算した値である積算接触候補数s_jgi[i](iは当該粒子の特定情報を示す)を算出し、接触力総和演算ステップにおいて、粒子のそれぞれについて、接触力参照表の参照情報を用いて接触力を接触力テーブルから抽出し、また、積算接触候補数s_jgi[i]を用いて接触候補番号がs_jgi[i-1]〜s_jgi[i]‐1の接触力を接触力テーブルから抽出し、これらの抽出した接触力を用いて粒子ごとの接触力を総和演算する。
Further, in the particle simulation apparatus, the contact candidate selection unit selects the target particle from the particle group in ascending order of the specific information, and may be in contact with the target particle. The particle diameter is smaller than the target particle. Create a contact candidate list that includes contact candidate pair information consisting of pairs with other particles and contact candidate numbers assigned in ascending order to this set for all particles in the work space. For each piece of contact candidate pair information included in the candidate list, a contact force between two particles related to the contact candidate pair information is calculated based on the position information and velocity information of the particle, and the calculated contact force and contact candidate are calculated. The contact force information associated with the number is stored in the contact force table, and the contact force reference table creating means is more likely to be in contact with the particle for each particle. As reference information for referring to the contact force with other particles having a large size from the contact force table, the contact force that holds the other particle and the contact candidate number related to the particle in association with the other particle and the particle. A reference table is created, and the cumulative contact candidate number calculation means calculates the number of contact candidates indicating the number of other particles having a particle diameter smaller than the particle, which may be in contact with the particle, for each of the particles. The accumulated contact candidate number s_jgi [i] (i indicates the specific information of the particle), which is a value accumulated in the order of specific information, is calculated, and the contact force sum calculation means refers to the contact force reference table for each particle. The contact force is extracted from the contact force table using information, and the contact force with contact candidate numbers s_jgi [i-1] to s_jgi [i] -1 is calculated using the accumulated contact candidate number s_jgi [i]. Extract from the table and use these extracted contact forces It summation contact force for each particle.
In the particle simulation method, in the contact candidate selection step, the target particle is selected from the particle group in ascending order of the specific information, and the particle diameter may be smaller than the target particle that may be in contact with the target particle. Create a contact candidate list that includes contact candidate pair information consisting of pairs with other particles and contact candidate numbers assigned in ascending order to this set for all particles in the work space. For each piece of contact candidate pair information included in the candidate list, a contact force between two particles related to the contact candidate pair information is calculated based on the position information and velocity information of the particle, and the calculated contact force and contact candidate are calculated. The contact force information associated with the number is stored in the contact force table, and each of the particles is in contact with the particle in the contact force reference table creation step. As reference information for referring to the contact force with other particles having a particle diameter larger than that of the particles from the contact force table, the contact candidate numbers for the other particles and the particles are used as the reference information. And a contact force reference table to be held in association with the particle, and in the cumulative contact candidate number calculation step, each of the particles may be in contact with the particle, and may have another particle size smaller than the particle. An integrated contact candidate number s_jgi [i] (i indicates the specific information of the particle), which is a value obtained by integrating the number of contact candidates indicating the number of particles in the order of the specific information, For each of these, the contact force is extracted from the contact force table using the reference information of the contact force reference table, and the contact candidate numbers s_jgi [i-1] to s_jgi [ i] -1 contact force Extracting from the table, and using these extracted contact forces, the total contact force for each particle is calculated.

本発明に係る粒子シミュレーション装置及び粒子シミュレーション方法によれば、粒子径分布を有する粉粒体のDEM(離散要素法)計算を共有メモリ型並列計算機により実行する際に、メモリ使用量を抑制することができる。   According to the particle simulation apparatus and the particle simulation method according to the present invention, when the DEM (discrete element method) calculation of the granular material having the particle size distribution is executed by the shared memory parallel computer, the memory usage is suppressed. Can do.

本発明の一実施形態に係る粒子シミュレーション装置の機能ブロック図である。It is a functional block diagram of the particle simulation device concerning one embodiment of the present invention. 本実施形態で粒子モデルに適用するVoigtモデルを示す概略図である。It is the schematic which shows the Voigt model applied to a particle | grain model in this embodiment. 本実施形態における作業領域を示す図である。It is a figure which shows the work area | region in this embodiment. 粒子番号変更の流れを示す図である。It is a figure which shows the flow of a particle number change. 作業領域における粒子番号を変更する処理と、各セルに粒子番号の最大値及び最小値を記憶する処理を示す図である。It is a figure which shows the process which changes the particle number in a work area, and the process which memorize | stores the maximum value and minimum value of a particle number in each cell. 近傍粒子表の構成の一例を示す図である。It is a figure which shows an example of a structure of a near particle table. 接触候補リストの構成の一例を示す図である。It is a figure which shows an example of a structure of a contact candidate list | wrist. 現在の接触候補リストのペア粒子について1ステップ前にペアであったか調べる処理を示す図である。It is a figure which shows the process which investigates whether it was a pair one step before about the pair particle | grains of the present contact candidate list | wrist. 接触力参照表の構成の一例を示す図である。It is a figure which shows an example of a structure of a contact force reference table. 接触力参照表及び積算接触候補数と、接触力ボックスとの対応関係を示す図である。It is a figure which shows the correspondence of a contact force reference table, the number of accumulation contact candidates, and a contact force box. 本実施形態の粒子シミュレーション装置において実行される処理を示すフローチャートである。It is a flowchart which shows the process performed in the particle | grain simulation apparatus of this embodiment. 粒子モデルの最大粒子径と最小粒子径との比を変化させた場合の本実施形態及び比較例のメモリ使用量を示し図である。It is a figure which shows the memory usage-amount of this embodiment at the time of changing the ratio of the largest particle diameter of a particle | grain model, and the minimum particle diameter, and a comparative example.

以下、図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the description of the drawings, the same or equivalent elements are denoted by the same reference numerals, and redundant description is omitted.

図1は、本発明の一実施形態に係る粒子シミュレーション装置10の機能ブロック図である。図1に示すように、粒子シミュレーション装置10は、粒子情報保持部(入力手段、粒子情報保持手段)11、粒子情報取得部12、接触候補リスト更新判定部13、粒子番号変更部(付与手段)14、近傍粒子表作成部15、接触候補リスト作成部(接触候補粒子選択手段、積算接触候補数算出手段)16、接触力参照表作成部(接触力参照表作成手段)17、接触判定部(接触力算出手段)18、接触力計算部(接触力総和演算手段)19、粒子情報更新部(算出手段、粒子情報更新手段)20を備えている。   FIG. 1 is a functional block diagram of a particle simulation apparatus 10 according to an embodiment of the present invention. As shown in FIG. 1, the particle simulation apparatus 10 includes a particle information holding unit (input unit, particle information holding unit) 11, a particle information acquisition unit 12, a contact candidate list update determination unit 13, and a particle number changing unit (granting unit). 14, a proximity particle table creation unit 15, a contact candidate list creation unit (contact candidate particle selection unit, integrated contact candidate number calculation unit) 16, a contact force reference table creation unit (contact force reference table creation unit) 17, a contact determination unit ( A contact force calculating means) 18, a contact force calculating section (contact force sum calculating means) 19, and a particle information updating section (calculating means, particle information updating means) 20 are provided.

粒子シミュレーション装置10は、物理的には、GPU(Graphics Processing Unit)、主記憶装置であるRAM(Random AccessMemory)及びROM(ReadOnly Memory)、ハードディスク装置等の補助記憶装置、入力デバイスである入力キー等の入力装置、ディスプレイ等の出力装置、ネットワークカード等のデータ送受信デバイスである通信モジュールなどを有するコンピュータとして構成されている。図1を参照して以下に説明する粒子シミュレーション装置10の各機能は、GPU、RAM等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、GPUの制御のもとで入力装置、出力装置、通信モジュールを動作させるとともに、RAMや補助記憶装置におけるデータの読み出し及び書き込みを行うことで実現される。   The particle simulation apparatus 10 physically includes a GPU (Graphics Processing Unit), a RAM (Random Access Memory) and a ROM (Read Only Memory) that are main storage devices, an auxiliary storage device such as a hard disk device, an input key that is an input device, and the like. And a communication module as a data transmission / reception device such as a network card. Each function of the particle simulation apparatus 10 to be described below with reference to FIG. 1 includes an input device and an output device under the control of the GPU by reading predetermined computer software on hardware such as a GPU and a RAM. This is realized by operating the communication module and reading and writing data in the RAM and the auxiliary storage device.

ここで、まず本実施形態で適用する粒子モデルについて説明する。本実施形態の粒子シミュレーション装置10が対象とするのは、粒子径分布を有する粉粒体群のDEMシミュレーションである。つまり、様々な大きさの粒子径をもつ粒子が混在した状態の粒子モデルが適用される。   Here, the particle model applied in this embodiment will be described first. The particle simulation apparatus 10 of the present embodiment is intended for DEM simulation of a granular material group having a particle size distribution. That is, a particle model in which particles having various particle sizes are mixed is applied.

そして、このような粒子モデルにおいて、各粒子間に発生する粒子間接触力の法線方向および接線方向成分F,Fは、図2に示すVoigtモデル71を用いて以下の式により表される。

Figure 0005467262


ここでxとvは相対変位および相対速度ベクトル、Kは線形バネ72における弾性係数、ηはダッシュポット73の粘性減衰係数であり、それぞれの添字n,tにより法線方向成分及び接線方向成分を表す。μtは滑り摩擦係数、minは絶対値が小さい方の値を表す関数である。粘性減衰係数ηは、反発係数eと次式の関連がある。
Figure 0005467262


ここでm,mは、それぞれ粒子i,jの質量を表す。添字qは、法線方向成分の場合はq=nとなり、接線方向成分の場合にはq=tとなる。 In such a particle model, the normal direction and tangential direction components F n and F t of the inter-particle contact force generated between the particles are expressed by the following equation using the Voigt model 71 shown in FIG. The
Figure 0005467262


Here, x and v are relative displacement and relative velocity vectors, K is an elastic coefficient in the linear spring 72, η is a viscous damping coefficient of the dashpot 73, and the normal direction component and the tangential direction component are expressed by the subscripts n and t, respectively. Represent. mu t is sliding friction coefficient, min is a function representing the value of the direction the absolute value is smaller. The viscous damping coefficient η is related to the restitution coefficient e by the following equation.
Figure 0005467262


Here, m i and m j represent the masses of the particles i and j, respectively. The subscript q is q = n for the normal direction component and q = t for the tangential direction component.

したがって、DEMで扱う並進および重心を中心とする回転の運動方程式は以下の式で表される。

Figure 0005467262


ここで、uとωは粒子の速度および角速度、mとIは粒子の質量および慣性モーメント、Rは粒子中心から接触点へ向かう位置ベクトルであり、添字pは、粒子iの場合はp=iとなり、粒子jの場合はp=jとなる。また、(5)式の右辺第二項は転がり摩擦力を表し、μは転がり摩擦係数、bは接触面幅である。(1)、(2)式のVoigtモデル71は、後述する接触判定部18で粒子間接触力を算出するのに用いられ、また(4)、(5)式の運動方程式は、粒子情報更新部20で粒子の座標を算出するのに用いられる。 Therefore, the equation of motion of translation and rotation around the center of gravity handled by the DEM is expressed by the following equation.
Figure 0005467262


Here, u p and ω p are the velocity and angular velocity of the particle, m p and I p are the mass and moment of inertia of the particle, R is a position vector from the particle center to the contact point, and the subscript p is for the particle i P = i, and for particle j, p = j. Also, (5) represents the frictional force right side second term rolling type, mu r is the rolling friction coefficient, b is a contact surface width. The Voigt model 71 of the equations (1) and (2) is used to calculate the interparticle contact force by the contact determination unit 18 described later, and the equations of motion of the equations (4) and (5) The unit 20 is used to calculate the coordinates of the particles.

また、本実施形態において粒子が運動する領域である作業領域51は、図3に示すように、一辺の大きさがcsizeの立方体セルで区分される。セルサイズcsizeは、パラメータφ (0≦φ≦ 1) を用いて以下の式で与える。
csize=2.0{(1.0−φ)rmax+φrmin)}(1.0+α) (6)
ここで、rmaxは作業領域に配置される粒子モデルの最大粒子径であり、rminは最小粒子径であり、αは更新頻度を調整するパラメータであり例えばα=0.2である。また、作業領域51内の各セルにはセル番号cell_idが付されている。セル番号は、図3に示すように一次元であり、例えば次式のように表される。
cell_id=i.x+id.x×i.y+id.x×id.y×i.z (7)
i.m={0, 1, 2,…, id.m-1} (m=x, y, z)
ここでcell_idはセル番号であり、i.mはm方向のセル位置であり、id.mはm方向のセル数である。つまり、粒子シミュレーション装置10は、シミュレーション条件として粒子の最大粒子径rmax、最小粒子径rmin、パラメータφ,αが設定されると、作業領域51のセルサイズcsizeを自動的に算出して設定し、さらに画定したセルにセル番号を割り当てることができる。
In addition, as shown in FIG. 3, the work area 51, which is an area in which particles move in the present embodiment, is divided into cubic cells whose side size is csize. The cell size csize is given by the following equation using the parameter φ (0 ≦ φ ≦ 1).
csize = 2.0 {(1.0−φ) r max + φr min )} (1.0 + α) (6)
Here, r max is the maximum particle size of the particle model arranged in the work area, r min is the minimum particle size, and α is a parameter for adjusting the update frequency, for example α = 0.2. Each cell in the work area 51 is assigned a cell number cell_id. The cell number is one-dimensional as shown in FIG. 3, and is represented by the following equation, for example.
cell_id = i.x + id.x x i.y + id.x x id.y xiz (7)
im = {0, 1, 2,…, id.m-1} (m = x, y, z)
Here, cell_id is a cell number, im is a cell position in the m direction, and id.m is the number of cells in the m direction. That is, the particle simulation apparatus 10 automatically calculates and sets the cell size csize of the work area 51 when the maximum particle diameter r max , the minimum particle diameter r min , and the parameters φ and α are set as simulation conditions. In addition, cell numbers can be assigned to further defined cells.

粒子情報保持部11は、作業空間51内の複数の粒子のそれぞれについて粒子情報を保持している。粒子情報は、座標(位置情報)、並進速度(速度情報)、回転速度(速度情報)、粒子半径、質量、粒子番号、セル番号を含む。座標とは、図3に示す三次元の作業空間51における三次元座標(pos.x,pos.y,pos.z)である。粒子番号は各粒子を識別するための番号である。セル番号は当該粒子が所属するセルのセル番号である。なお、シミュレーションを開始する際には、粒子情報保持部11は、シミュレーションに適用する粒子径分布に応じて各粒子の粒子半径、質量を設定し、座標、速度、粒子番号を各粒子にランダムに割り当てる。セル番号には、粒子ごとにランダムに割り当てられた座標に基づき特定される、この粒子が属するセルの番号を付与する。そして、このように生成した各情報を初期状態の粒子情報として入力し保持する。また、シミュレーションの実行中には、後述する粒子情報更新部20により粒子情報の各情報が更新されると、粒子情報保持部11は、保持している粒子情報を、粒子情報更新部20により更新された新しいものに置き換える。   The particle information holding unit 11 holds particle information for each of the plurality of particles in the work space 51. The particle information includes coordinates (position information), translation speed (speed information), rotation speed (speed information), particle radius, mass, particle number, and cell number. The coordinates are the three-dimensional coordinates (pos.x, pos.y, pos.z) in the three-dimensional work space 51 shown in FIG. The particle number is a number for identifying each particle. The cell number is the cell number of the cell to which the particle belongs. When the simulation is started, the particle information holding unit 11 sets the particle radius and mass of each particle according to the particle size distribution applied to the simulation, and randomly sets the coordinates, velocity, and particle number to each particle. assign. The cell number is assigned with the number of the cell to which the particle belongs, which is specified based on the coordinates randomly assigned to each particle. Each piece of information generated in this way is input and held as particle information in the initial state. Further, during the execution of the simulation, when each information of the particle information is updated by the particle information updating unit 20 described later, the particle information holding unit 11 updates the held particle information by the particle information updating unit 20. Replace with a new one.

粒子情報取得部12は、粒子情報保持部11から粒子情報を取得する。粒子情報取得部12は、粒子シミュレーションの開始時に粒子情報保持部11から予め設定されている初期状態の粒子情報を取得し、シミュレーション動作中には、粒子情報保持部11が更新される度に新たな粒子情報を粒子情報保持部11から取得する。粒子情報取得部12は、取得した粒子情報を接触候補リスト更新判定部13に送信する。   The particle information acquisition unit 12 acquires particle information from the particle information holding unit 11. The particle information acquisition unit 12 acquires the initial particle information set in advance from the particle information holding unit 11 at the start of the particle simulation, and is updated each time the particle information holding unit 11 is updated during the simulation operation. Accurate particle information is acquired from the particle information holding unit 11. The particle information acquisition unit 12 transmits the acquired particle information to the contact candidate list update determination unit 13.

接触候補リスト更新判定部13は、後述する接触候補リスト53を更新するか否かを判定する。更新判定は、例えば、粒子半径をrとして、粒子の積算移動距離がrαよりも大きい粒子が存在したときに更新する。ここでαは更新頻度を調整するパラメータであり、例えばα=0.2である。また、粒子の積算移動距離は、例えば、粒子情報取得部12が新しい粒子情報を粒子情報保持部11から取得する度に、1ステップ前の粒子情報との座標データの差分からこの直近の1ステップにおける粒子の移動距離を算出し、これを粒子ごとに積算して求める。接触候補リスト更新判定部13は、1ステップ前の粒子情報と、パラメータαと、粒子の積算移動距離とを記憶しており、粒子情報取得部12から新たな粒子情報を受信すると、積算移動距離を更新し、この更新された積算移動距離がrαより大きい粒子の有無を判定する。そして、積算移動距離が所定値以上の粒子が有る場合に、接触候補リストを更新するものと判定し、新たな粒子情報を粒子番号変更部14に送信する。なお、粒子移動距離の積算値は、接触候補リスト53の更新が行われるたびに初期化される。また、更新された積算移動距離がrαより大きい粒子が無い場合には、接触候補リストを更新しないものと判定し、粒子番号変更部14には粒子情報を送信せず、接触判定部18に新たな粒子情報を送信する。   The contact candidate list update determination unit 13 determines whether or not to update a contact candidate list 53 described later. For example, the update determination is performed when the particle radius is r and there is a particle having an accumulated movement distance of the particle larger than rα. Here, α is a parameter for adjusting the update frequency. For example, α = 0.2. Further, the accumulated movement distance of the particles is, for example, every time the particle information acquisition unit 12 acquires new particle information from the particle information holding unit 11, based on the difference of the coordinate data with the particle information of one step before this one step. The movement distance of the particles at is calculated, and this is calculated for each particle. The contact candidate list update determination unit 13 stores the particle information of the previous step, the parameter α, and the cumulative movement distance of the particles. When new particle information is received from the particle information acquisition unit 12, the cumulative movement distance Is updated, and it is determined whether or not there is a particle having the updated accumulated movement distance larger than rα. Then, when there are particles whose accumulated movement distance is equal to or greater than a predetermined value, it is determined that the contact candidate list is to be updated, and new particle information is transmitted to the particle number changing unit 14. The integrated value of the particle movement distance is initialized every time the contact candidate list 53 is updated. If there is no particle whose updated accumulated movement distance is larger than rα, it is determined that the contact candidate list is not updated, and particle information is not transmitted to the particle number changing unit 14 and the contact determining unit 18 is newly updated. The correct particle information.

粒子番号変更部14は、作業領域51内の各粒子のそれぞれについて、セル番号に応じた順序で特定し(すなわち位置情報に応じた順序で特定し)、さらに同一のセルに配置される粒子間で、粒子径に応じた順序で特定した粒子情報(特定情報)を付与する。言い換えると、粒子番号変更部14は、作業領域51内の各粒子が所属するセル及びその粒子径に基づき、各粒子の粒子番号を変更して、粒子番号をソーティングする。   The particle number changing unit 14 specifies each of the particles in the work area 51 in the order corresponding to the cell number (that is, specified in the order corresponding to the position information), and further between the particles arranged in the same cell. Thus, the particle information (specific information) specified in the order corresponding to the particle diameter is given. In other words, the particle number changing unit 14 sorts the particle numbers by changing the particle number of each particle based on the cell to which each particle in the work area 51 belongs and its particle diameter.

粒子番号変更部14は、接触候補リスト更新判定部13から粒子情報を受信すると、図4に示すように、各粒子の粒子番号に、この粒子が所属するセルのセル番号と、この粒子の粒子径とを関連付けて1組の情報セットとし、これらの情報セットを粒子番号順に記憶する(図4(a))。次に、これらの情報セットをセル番号が昇順になるように並べ換え(図4(b))、セル番号順に粒子番号を付け直す(図4(c))。続いて、同一のセル番号の粒子群ごとに粒子径を比較し、これらの粒子群の中で粒子径の大きい順に並べ換え(図4(d))、粒子径順に粒子番号を付け直す(図4(e))。   When the particle number changing unit 14 receives the particle information from the contact candidate list update determining unit 13, as shown in FIG. 4, the cell number of the cell to which the particle belongs and the particle number of the particle belong to the particle number of each particle. The diameters are associated with each other to form one information set, and these information sets are stored in order of particle number (FIG. 4A). Next, these information sets are rearranged so that the cell numbers are in ascending order (FIG. 4B), and the particle numbers are reassigned in the order of the cell numbers (FIG. 4C). Subsequently, the particle diameters of the particle groups having the same cell number are compared, and the particle numbers are rearranged in descending order of the particle diameters in these particle groups (FIG. 4D), and the particle numbers are renumbered in the order of the particle diameters (FIG. 4). (E)).

この粒子番号を変更する処理により、例えば図5(a)に示すように作業空間51に配置された粒子の粒子番号が、図5(b)に示すように、セル番号及び粒子径に沿った粒子番号に変更される。粒子番号変更部14は、粒子番号の変更が反映された粒子情報を近傍粒子表作成部15に送信する。   By the process of changing the particle number, for example, the particle number of the particles arranged in the work space 51 as shown in FIG. 5A is aligned with the cell number and the particle diameter as shown in FIG. 5B. Changed to particle number. The particle number changing unit 14 transmits the particle information in which the change of the particle number is reflected to the neighboring particle table creating unit 15.

近傍粒子表作成部15は、作業空間51内の個々の粒子について、この粒子の近傍に位置する近傍粒子の情報を含む近傍粒子表52を作成する。近傍粒子表作成部15は、着目粒子の所属するセル、およびこのセルに隣接するセルや隣接セルのさらに外側に隣接する近傍セルに存在する粒子のうち、自身より粒子径が大きい粒子、或いは粒子径が同じ場合は初期配置時の粒子番号が自身より大きい粒子で、粒子間距離がある値以下の粒子を「近傍粒子」とする。以下に詳細を説明する。   The neighboring particle table creating unit 15 creates a neighboring particle table 52 including information on neighboring particles located in the vicinity of each particle in the work space 51. The neighboring particle table creating unit 15 is a particle having a particle diameter larger than itself, among particles existing in a cell to which the target particle belongs and a cell adjacent to this cell or a neighboring cell further outside the adjacent cell, or a particle When the diameters are the same, particles having a particle number larger than that of the initial arrangement and having an interparticle distance of a certain value or less are referred to as “neighboring particles”. Details will be described below.

近傍粒子表作成部15は、近傍粒子表52を作成するためのメモリ領域を予め確保している。確保するメモリ領域は、各粒子と接触する可能性がある近傍粒子の個数を考慮して、各粒子の近傍粒子表ごとに同一の大きさである。   The nearby particle table creation unit 15 reserves a memory area for creating the nearby particle table 52 in advance. The memory area to be secured is the same size for each neighboring particle table of each particle in consideration of the number of neighboring particles that may come into contact with each particle.

近傍粒子表作成部15は、粒子番号変更部14から粒子情報を受信すると、同じセル番号をもつ粒子の中で、セル内の粒子の番号のうち、最小値Pnum_in_cellminと最大値Pnum_in_cellmaxをセルに記憶させる(図5(c))。図5(c)では、各セルの左上に最大粒子番号、右下に最小粒子番号が記憶されている。つまり、セルcell_idごとに、このセルに含まれる粒子の番号の最小値Pnum_in_cellmin[cell_id]及び最大値Pnum_in_cellmax[cell_id]の情報を格納する配列のみを保持しておく。これにより、各セル番号cell_idのセルには、Pnum_in_cellmin[cell_id]番からPnum_in_cellmax[cell_id]番までの粒子が粒子径の大きい順に所属していることがわかる。   Upon receiving the particle information from the particle number changing unit 14, the neighboring particle table creating unit 15 stores the minimum value Pnum_in_cellmin and the maximum value Pnum_in_cellmax among the particles having the same cell number in the cell. (FIG. 5C). In FIG. 5C, the maximum particle number is stored in the upper left of each cell, and the minimum particle number is stored in the lower right. That is, for each cell cell_id, only an array for storing information on the minimum value Pnum_in_cellmin [cell_id] and the maximum value Pnum_in_cellmax [cell_id] of the number of particles included in this cell is retained. As a result, it can be seen that the particles from the Pnum_in_cellmin [cell_id] number to the Pnum_in_cellmax [cell_id] number belong to the cell of each cell number cell_id in the descending order of the particle diameter.

番号cell_idのセルに隣接するセルの番号nei_cell_idは次式で表される。
nei_cell_id[n]= cell_id + con[n] (8)
ここで、conはid.xとid.yによって決まる定数である。セル番号で粒子番号をソートしてあるため、各隣接セルにはPnum_in_cellmin[nei_cell_id]からPnum_in_cellmax[nei_cell_id]までの番号の粒子が連続して存在することがわかる。
The number nei_cell_id of the cell adjacent to the cell with the number cell_id is expressed by the following equation.
nei_cell_id [n] = cell_id + con [n] (8)
Here, con is a constant determined by id.x and id.y. Since the particle numbers are sorted by cell number, it can be seen that particles of numbers from Pnum_in_cellmin [nei_cell_id] to Pnum_in_cellmax [nei_cell_id] exist continuously in each adjacent cell.

次に、近傍粒子表作成部15は、各粒子ごとに、図6に示すような近傍粒子を格納する箱(配列)nei_pn[i][box_id]を用意し、粒子iの周囲の探索範囲(定義は後述する)に含まれる粒子のうち
(a)粒子iとの粒子間距離がdis_limよりも小さく、
(b)粒子iの径よりも大きく、
(c)粒子iの径と同じ場合は、初期配置時の粒子番号(i=p_id)が粒子iよりも大きい
という条件を満たす粒子を番号(box_id)が小さい方の箱から詰めて格納させる。ここで、dis_lim = (r+ r)(1.0+α)であり、r,rは近傍粒子ペアi,jの粒子半径である。αは接触候補の更新回数を調整するパラメータであり、例えばα=0.2である。r,rは粒子番号変更部14から受信した粒子情報に含まれ、αは近傍粒子表作成部15が予め保持している値であり、近傍粒子表作成部15は、これらのデータを用いてdis_limを算出する。
Next, the neighboring particle table creation unit 15 prepares a box (array) nei_pn [i] [box_id] for storing neighboring particles as shown in FIG. 6 for each particle, and searches around the particle i ( Among the particles included in the definition (to be described later), (a) the interparticle distance with the particle i is smaller than dis_lim,
(B) larger than the diameter of the particle i,
(C) When the diameter is the same as the diameter of the particle i, the particles satisfying the condition that the particle number (i = p_id) at the initial placement is larger than the particle i are packed from the box with the smaller number (box_id) and stored. Here, dis_lim = (r i + r j ) (1.0 + α), and r i and r j are the particle radii of the neighboring particle pair i and j. α is a parameter for adjusting the number of contact candidate updates. For example, α = 0.2. r i and r j are included in the particle information received from the particle number changing unit 14, α is a value previously held by the neighboring particle table creating unit 15, and the neighboring particle table creating unit 15 stores these data. To calculate dis_lim.

上記条件(a)〜(c)を満たす粒子を、粒子iに対する「近傍粒子」と呼ぶ。図6に示す一連の箱の集合を、作業空間51内の全ての粒子iについて用意したものを、本実施形態では近傍粒子表52という。近傍粒子表52は、粒子i及びこの粒子iの近傍粒子の数box_idに関する二次元配列nei_pn[i][box_id]である。   Particles satisfying the above conditions (a) to (c) are referred to as “neighboring particles” for the particle i. A set of a series of boxes shown in FIG. 6 prepared for all the particles i in the work space 51 is referred to as a neighborhood particle table 52 in this embodiment. The neighboring particle table 52 is a two-dimensional array nei_pn [i] [box_id] regarding the particle i and the number box_id of neighboring particles of the particle i.

この方法によって、着目粒子iについて、この粒子i以上の粒子径を持った粒子jのみが近傍粒子表52に記憶されるため、近傍粒子表52に必要なメモリ使用量の増加を抑制することができる。   By this method, only the particle j having a particle diameter equal to or larger than the particle i is stored in the neighboring particle table 52 for the target particle i, and thus the increase in the memory usage necessary for the neighboring particle table 52 can be suppressed. it can.

ここで、近傍粒子表作成部15は、粒子iの近傍粒子を決定するために、粒子iから(rmax+ri)(1.0+α)の距離にある粒子を探索する必要がある。粒子iが属するセルに隣接する26個のセルのほかに、粒子モデルの最大粒子の半径rmaxに応じてさらに外側のセルまで探索範囲を広げることとなる。 Here, in order to determine the neighboring particles of the particle i, the neighboring particle table creating unit 15 needs to search for a particle at a distance of (r max + r i ) (1.0 + α) from the particle i. In addition to the 26 cells adjacent to the cell to which the particle i belongs, the search range is further expanded to the outer cell according to the radius r max of the maximum particle of the particle model.

近傍粒子表作成部15が探索する近傍セルの範囲は、上記(6)式で算出されたセルサイズcsizeと、作業領域内の最大粒子の粒子径を示す最大粒子半径rmaxと、着目粒子半径rから次式によって求められる。
nei_cell=2・ceil{2.0(rmax+ri)(1.0+α)/csize}−1 (9)
ceilは小数点以下を切り上げる関数であり、近傍粒子表作成部15に予め保持されている。nei_cellは粒子iが所属するセルからx、y、z方向それぞれに対して+−方向に探索するセル数を表す。
The range of neighboring cells searched by the neighboring particle table creation unit 15 includes the cell size csize calculated by the above equation (6), the maximum particle radius r max indicating the particle diameter of the largest particle in the work area, and the focused particle radius. It is calculated | required by following Formula from ri.
nei_cell = 2 · ceil {2.0 (r max + r i ) (1.0 + α) / csize} −1 (9)
ceil is a function for rounding up the fractional part, and is held in the neighboring particle table creation unit 15 in advance. nei_cell represents the number of cells searched in the + -direction for each of the x, y, and z directions from the cell to which the particle i belongs.

これにより、セルサイズが小さくなるにつれて探索するセル数が急激に増えて計算負荷が増加する懸念が生じる。しかし、隣接する26個のセルより外側のセルに対しては、粒子径でソートした粒子の並び順を利用して近傍粒子の探索を効率化することができる。つまり、各セルにはPnum_in_cellmin [cell id]番からPnum_in_cellmax [cell id]番までの粒子が粒子径の大きい順に所属しており、各セル内の粒子が近傍粒子であるか否かを調べる際も粒子径の大きい順に調べて行くことになる。この時、粒子iが所属するセルとその近傍セルの位置関係から上記の(a)の条件を満たさない粒子径が求まるのでPnum_in_cellmax [cell id]番までの全ての粒子間距離を調べる必要はなく、(a)の条件を満たさない粒子径の粒子番号になったら探索を中止することができる。ここで、粒子iに対して(a)の条件を満たさない粒子径rj とは以下の式を満足するもののことである。
2 ceil{2.0(rj + ri )(1.0 + α)/csize}−1 < dis cell (10)
dis cell は粒子iの所属するセルから粒子jの所属するセルまでのセル数を表し、x、y、z方向のセル数で最小のものを表す。
As a result, there is a concern that the number of cells to be searched increases rapidly as the cell size decreases, and the calculation load increases. However, for the cells outside the adjacent 26 cells, it is possible to improve the efficiency of searching for neighboring particles by using the arrangement order of the particles sorted by the particle diameter. In other words, particles from Pnum_in_cellmin [cell id] number to Pnum_in_cellmax [cell id] number belong to each cell in descending order of particle diameter, and when checking whether the particles in each cell are neighboring particles It will be examined in order of particle size. At this time, since the particle diameter that does not satisfy the above condition (a) is obtained from the positional relationship between the cell to which the particle i belongs and its neighboring cells, it is not necessary to investigate all the interparticle distances up to Pnum_in_cellmax [cell id] number. The search can be stopped when the particle number has a particle diameter that does not satisfy the condition (a). Here, the particle diameter rj that does not satisfy the condition (a) for the particle i satisfies the following expression.
2 ceil {2.0 (r j + r i ) (1.0 + α) / csize} −1 <dis cell (10)
dis cell represents the number of cells from the cell to which the particle i belongs to the cell to which the particle j belongs, and represents the smallest number of cells in the x, y, and z directions.

さらに、近傍粒子表作成部15は、粒子iに対する近傍粒子数n_jli[i]と,上記条件(a)を満たすが(b)及び(c)を満たしていない粒子数n_jgi[i]を、それぞれ一次元配列に記憶させておく。   Furthermore, the neighborhood particle table creation unit 15 calculates the number of neighborhood particles n_jli [i] for the particle i and the number of particles n_jgi [i] satisfying the above condition (a) but not satisfying (b) and (c), respectively. Store in a one-dimensional array.

図6の例では、例えば4番の粒子(i=4)に対してセルを検索した結果5,6,7,8番の粒子が(a)の条件を満たし,そのうちの近傍粒子が7,8番で、5,6番の粒子は(b),(c)の条件を満たさない場合、
nei_pn[4][0]=7
nei_pn[4][1]=8
n_jgi[4]=2
n_jli[4]=2
となる。
In the example of FIG. 6, for example, as a result of searching the cell for the 4th particle (i = 4), the 5th, 6th, 7th, and 8th particles satisfy the condition (a). If the particles of Nos. 8 and 5 and 6 do not satisfy the conditions (b) and (c),
nei_pn [4] [0] = 7
nei_pn [4] [1] = 8
n_jgi [4] = 2
n_jli [4] = 2
It becomes.

このように、近傍粒子表作成部15は、粒子番号変更部14から粒子情報を受信すると、着目粒子iごとに、探索範囲nei_cellのセルを画定し、この探索範囲内に含まれる他の粒子のうち上記(a)〜(c)の条件を満たす粒子の粒子番号を近傍粒子表52の配列nei_pn[i][box_id]に格納する。さらに、近傍粒子数を配列n_jli[i]に格納し、上記条件(a)を満たすが(b)及び(c)を満たしていない粒子数、すなわち探索範囲に存在するものの粒子径が着目粒子より小さく、近傍粒子表52に格納されなかった粒子の数を配列n_jgi[i]に格納する。そして、これらnei_pn[i][box_id] 、n_jli[i]、n_jgi[i]の情報を、粒子情報と共に接触候補リスト作成部16に送信する。   As described above, when receiving the particle information from the particle number changing unit 14, the neighboring particle table creating unit 15 demarcates a cell of the search range nei_cell for each particle of interest i, and other particles included in the search range. Among them, the particle numbers of the particles satisfying the above conditions (a) to (c) are stored in the array nei_pn [i] [box_id] of the neighboring particle table 52. Further, the number of neighboring particles is stored in the array n_jli [i], and the number of particles satisfying the above condition (a) but not satisfying (b) and (c), that is, the particle diameter of the particles existing in the search range is larger than the particle of interest. The number of small particles that are not stored in the neighboring particle table 52 is stored in the array n_jgi [i]. Then, information on these nei_pn [i] [box_id], n_jli [i], and n_jgi [i] is transmitted to the contact candidate list creating unit 16 together with the particle information.

本実施形態では、近傍粒子表52には、着目粒子の粒子径以上の粒子のみを近傍粒子として保持している。複数の粒子径をもつ粒子群からなる多成分系では大粒子に対して接触候補になる小粒子の数が膨大になる可能性が有る。つまり、着目粒子より粒子径の小さい粒子とは同時に接触可能な数が非常に多くなる。このため、着目粒子より粒子径の小さい粒子まで近傍粒子に含むとすると、予め近傍粒子表のために用意する配列の数も最大値を考慮して大きくせざるを得ない。その場合、近傍粒子表52の配列に必要なメモリ量が膨大になり、GPUのグローバルメモリを食い潰す危険が有る。本実施形態では、自分より大きい粒子しか近傍粒子表52に格納しないので、近傍粒子表52のために用意される配列のメモリ使用量を抑制することができる。   In the present embodiment, the neighboring particle table 52 holds only particles having a diameter equal to or larger than the particle size of the target particle as neighboring particles. In a multi-component system composed of a group of particles having a plurality of particle sizes, there is a possibility that the number of small particles that are candidates for contact with large particles becomes enormous. That is, the number of particles that can be simultaneously contacted with particles having a particle diameter smaller than that of the target particle is extremely large. For this reason, if the neighboring particles include particles having a particle diameter smaller than the target particle, the number of arrays prepared for the neighboring particle table in advance must be increased in consideration of the maximum value. In that case, the amount of memory necessary for the arrangement of the neighboring particle table 52 becomes enormous, and there is a risk that the global memory of the GPU is crushed. In this embodiment, since only particles larger than the self are stored in the nearby particle table 52, the memory usage of the array prepared for the nearby particle table 52 can be suppressed.

接触候補リスト作成部16は、作業空間51の全粒子の中から粒子番号(特定情報)の昇順で着目粒子を順次選択し、該着目粒子と接触している可能性のある、当該着目粒子より粒子径の小さい他の粒子との接触候補ペアを選択する。言い換えると、接触候補リスト作成部16は、作業空間51の全粒子について、接触している可能性がある粒子ペアからなる接触候補リスト53を作成する。接触候補リスト53とは、具体的には、接触している可能性がある2つの粒子i,jの粒子番号を格納する一組の一次元配列list_i[Lnum]、list_j[Lnum]である。ここでLnumは接触粒子ペアごとに付される接触候補番号である。   The contact candidate list creation unit 16 sequentially selects the target particles from all the particles in the work space 51 in ascending order of the particle numbers (specific information), and from the target particles that may be in contact with the target particles. A contact candidate pair with another particle having a small particle size is selected. In other words, the contact candidate list creation unit 16 creates a contact candidate list 53 including particle pairs that may be in contact with all the particles in the work space 51. Specifically, the contact candidate list 53 is a set of one-dimensional arrays list_i [Lnum] and list_j [Lnum] that store the particle numbers of two particles i and j that may be in contact with each other. Here, Lnum is a contact candidate number assigned to each contact particle pair.

接触候補リスト作成部16は、近傍粒子表作成部15から情報(近傍粒子表52nei_pn[i][box_id] 、近傍粒子数n_jli[i] 、n_jgi[i]、及び粒子情報)を受信すると、まず、図7に示すように、n_jgiのプレフィックス和s_jgiを次式から求める。

Figure 0005467262

When the contact candidate list creation unit 16 receives information (neighbor particle table 52nei_pn [i] [box_id], number of neighboring particles n_jli [i], n_jgi [i], and particle information) from the neighborhood particle table creation unit 15, first, As shown in FIG. 7, the prefix sum s_jgi of n_jgi is obtained from the following equation.
Figure 0005467262

このプレフィックス和s_jgi[i]は、粒子iの近傍粒子表52に格納されなかった粒子数、すなわち粒子iの周囲の所定の探索範囲(上記(9)式で画定される近傍のセル)に存在する粒子のうち粒子iの粒子径より小さい粒子の数n_jgi[i](接触候補数)の、粒子番号iまでの積算値をあらわす一次元配列であって、本実施形態では「積算接触候補数」とよぶ。言い換えると、積算接触候補数s_jgi[i]は、接触候補数n_jgi[i]を粒子番号i順で積算した値である。   This prefix sum s_jgi [i] is present in the number of particles not stored in the nearby particle table 52 of the particle i, that is, in a predetermined search range around the particle i (neighboring cells defined by the above equation (9)). The number n_jgi [i] (number of contact candidates) of the particles smaller than the particle diameter of the particles i is a one-dimensional array representing the integrated value up to the particle number i. " In other words, the cumulative contact candidate number s_jgi [i] is a value obtained by integrating the contact candidate number n_jgi [i] in the order of the particle number i.

接触候補リスト作成部16は、次に、粒子番号の昇順で着目粒子iを順次選択し、各粒子iに対して、上記(9)式で画定された粒子iの周囲の探索範囲のセルを再度探索して、粒子iの周囲の探索範囲に含まれる粒子のうち
a)粒子iとの粒子間距離がdis_limよりも小さく
b)粒子iの径よりも小さく、
c)粒子iの径と同じ場合は、初期配置時の粒子番号が粒子iよりも小さい
という条件を満たす粒子jを抽出する。そして、これらの粒子i,jのペアに接触候補番号Lnumを昇順で付与し、それぞれの粒子の粒子番号を1次元配列list_i,list_jに格納して、接触候補リスト53を作成する。
Next, the contact candidate list creation unit 16 sequentially selects the target particle i in ascending order of the particle number, and for each particle i, selects a cell in the search range around the particle i defined by the above equation (9). Searching again, among the particles included in the search range around the particle i, a) the distance between the particles i is smaller than dis_lim, b) smaller than the diameter of the particles i,
c) When the diameter is the same as the diameter of the particle i, the particle j satisfying the condition that the particle number at the initial placement is smaller than the particle i is extracted. Then, contact candidate numbers Lnum are given to these pairs of particles i and j in ascending order, and the particle numbers of the respective particles are stored in the one-dimensional arrays list_i and list_j to create a contact candidate list 53.

この条件a)〜c)を満たすこととは、上述の近傍粒子表に格納する近傍粒子を抽出する条件(a)を満たし(b),(c)を満たさないのと同等である。つまり近傍粒子表52に格納されない粒子ペア(例えばi=4の着目粒子の場合にはi=5,6の粒子とのペア)が接触候補ペアである。   Satisfying these conditions a) to c) is equivalent to satisfying the condition (a) for extracting the neighboring particles stored in the above-mentioned neighboring particle table and not satisfying (b) and (c). That is, a particle pair that is not stored in the neighboring particle table 52 (for example, a pair with i = 5 and 6 particles in the case of i = 4 of interest particles) is a contact candidate pair.

例えば、図7の例では、接触候補リスト53の内容は、以下の表1のようになる。

Figure 0005467262


つまり、接触候補リスト53は、作業空間51の全粒子について、接触している可能性がある粒子ペアlist_i,list_jに番号Lnumを付加した接触候補ペア情報を含むものである。 For example, in the example of FIG. 7, the contents of the contact candidate list 53 are as shown in Table 1 below.
Figure 0005467262


That is, the contact candidate list 53 includes contact candidate pair information obtained by adding the number Lnum to the particle pairs list_i and list_j that may be in contact with all particles in the work space 51.

接線方向の接触力を求める時に必要となるバネの伸縮量は積算値で与えられるため、前ステップで接触していて現ステップでも接触している場合は接触候補ペアリストを更新する時に接線方向バネの伸縮量を引き継ぐ必要が有る。そこで、次に、1ステップ前の接触候補ペアBlist_i,Blist_jを探索し、現在の接触候補ペアlist_i, list_jが1ステップ前にもペアであったか調べる。ペアであったら、図2に示した粒子モデルにおける法線ベクトルと接線方向のバネによる力(バネの伸縮量)を新しい候補リスト番号の配列に格納する。   Since the amount of spring expansion and contraction required when obtaining the contact force in the tangential direction is given as an integrated value, if the contact is made in the previous step and contact is made in the current step, the tangential spring is updated when the contact candidate pair list is updated. It is necessary to take over the amount of expansion and contraction. Then, next, the contact candidate pair Blist_i, Blist_j one step before is searched, and it is checked whether the current contact candidate pair list_i, list_j was a pair one step before. If it is a pair, the normal vector in the particle model shown in FIG. 2 and the force (spring expansion / contraction amount) in the tangential direction are stored in a new candidate list number array.

ここで、1ステップ前及び現在の各パラメータ及び配列の表記は以下のとおりである。

Figure 0005467262

Here, the notation of each parameter and array one step before and now is as follows.
Figure 0005467262

粒子番号i=list_i[Lnum], j=list_j[Lnum]の接触候補ペアが有るとき、このペア粒子の1ステップ前の粒子番号はBi=Bpn[i],Bj=Bpn[j]である。Bs_jgi[Bi−1]〜Bs_jgi[Bi]−1の範囲の接触候補Blist_j[BLnum]を調べBjと一致するか調べる。一致したときはそのリスト番号BLnumを用いて1ステップ前の法線ベクトルと接線方向の接触力BSpring[BLnum]を現在のリスト番号配列Spring[Lnum]に代入する。   When there is a contact candidate pair with particle numbers i = list_i [Lnum] and j = list_j [Lnum], the particle numbers of the paired particles one step before are Bi = Bpn [i] and Bj = Bpn [j]. Contact candidates Blist_j [BLnum] in the range from Bs_jgi [Bi−1] to Bs_jgi [Bi] −1 are checked to see if they match Bj. If they match, the list vector BLnum is used to substitute the normal vector one step before and the tangential contact force BSpring [BLnum] into the current list number array Spring [Lnum].

この処理について、図8を参照して、現在の接触候補リスト番号Lnum = 2におけるi=4,j=6番のペア粒子について1ステップ前にペアであったか調べる処理を説明する。   With reference to FIG. 8, this process will be described with reference to FIG. 8 for checking whether a pair particle of i = 4 and j = 6 in the current contact candidate list number Lnum = 2 is a pair one step before.

まず、i=4,j=6の1ステップ前の粒子番号はBpn[]関数を使ってBi=2=Bpn[4],Bj=3=Bpn[6]と求まる。ここでBiとBjとの関係は、iとjの関係と同様に、接触候補リスト53の条件a)〜c)を必ず満たしている。なぜなら、条件a)〜c)はソートによって変化しない粒子径と初期配置時の粒子番号を使用しているためである。したがってBiに対する接触候補の粒子番号はリスト番号BLnumがBs_jgi[Bi−1]〜Bs_jgi[Bi]−1(この例では1〜1)の範囲のBlist_j[BLnum]に格納されている。そこで、このBLnumの範囲でBlist_j[BLnum] がBjと一致するか調べると、BLnum = 1のときにBlist_j[1]= 3でありBj = 3と一致する。   First, the particle number one step before i = 4 and j = 6 is obtained as Bi = 2 = Bpn [4] and Bj = 3 = Bpn [6] using the Bpn [] function. Here, the relationship between Bi and Bj always satisfies the conditions a) to c) of the contact candidate list 53, like the relationship between i and j. This is because the conditions a) to c) use the particle diameter that does not change by sorting and the particle number at the initial placement. Therefore, the contact candidate particle numbers for Bi are stored in Blist_j [BLnum] where the list number BLnum is in the range of Bs_jgi [Bi−1] to Bs_jgi [Bi] −1 (1 to 1 in this example). Therefore, if Blist_j [BLnum] matches Bj within this BLnum range, Blist_j [1] = 3 and Bj = 3 when BLnum = 1.

したがって,現在のリスト番号Lnum=2の候補ペアは1ステップ前もペアであった事がわかり、そのリスト番号はBLnum=1である。そしてBLnum=1の法線ベクトルと接線方向の接触力の値をLnum=2の配列に代入する(Spring[2]=BSpring [1])ことで、1ステップ前の接触状態を引き継ぐ事ができる。   Therefore, it can be seen that the candidate pair with the current list number Lnum = 2 was a pair one step before, and the list number is BLnum = 1. By substituting the normal vector of BLnum = 1 and the contact force value in the tangential direction into the array of Lnum = 2 (Spring [2] = BSpring [1]), it is possible to take over the previous contact state. .

このように、接触候補リスト作成部16は、近傍粒子表作成部15から各種情報報(近傍粒子表52nei_pn[i][box_id] 、近傍粒子数n_jli[i] 、n_jgi[i]、及び粒子情報)を受信すると、着目粒子iごとに、上記探索範囲内に含まれる他の粒子のうち上記a)〜c)の条件を満たす粒子jとのペアに番号Lnumを付与し、これらの粒子ペアi,jの粒子番号をそれぞれ接触候補リスト53の配列list_i[Lnum],list_j[Lnum]に格納する。また、着目粒子iの周辺セルに存在し、粒子iの粒子径より小さい粒子の数n_jgi[i]の積算値である積算接触候補数s_jgi[i]を算出する。さらに、現在の接触候補ペアlist_i[Lnum],list_j[Lnum]のうち、1ステップ前も接触候補だったペアを抽出し、これらのペアの1ステップ前の接触力をBSpring[BLnum]から引き継ぎ、Spring[Lnum]に格納する。そして、導出した接触候補リスト53list_i[Lnum],list_j[Lnum]と、近傍粒子表52nei_pn[i][box_id]とを接触力参照表作成部17に送信し、接触候補リスト53list_i[Lnum],list_j[Lnum]、積算接触候補数s_jgi[i]、1ステップ前から引き継いだ接触候補ペアの接触力Spring[Lnum]の情報を、粒子情報と共に接触判定部18に送信する。   In this manner, the contact candidate list creation unit 16 receives various information reports (neighbor particle table 52nei_pn [i] [box_id], neighboring particle numbers n_jli [i], n_jgi [i], and particle information from the neighboring particle table creation unit 15). ) For each particle of interest i, a number Lnum is assigned to a pair with the particle j that satisfies the conditions a) to c) among the other particles included in the search range, and the particle pair i , J are stored in arrays list_i [Lnum] and list_j [Lnum] of the contact candidate list 53, respectively. Further, the cumulative contact candidate number s_jgi [i], which is an integrated value of the number n_jgi [i] of particles that are present in the peripheral cell of the target particle i and are smaller than the particle diameter of the particle i, is calculated. Further, from the current contact candidate pairs list_i [Lnum], list_j [Lnum], a pair that was a contact candidate one step before is extracted, and the contact force of these pairs one step before is taken over from BSpring [BLnum], Store in Spring [Lnum]. Then, the derived contact candidate list 53list_i [Lnum], list_j [Lnum] and the neighboring particle table 52nei_pn [i] [box_id] are transmitted to the contact force reference table creation unit 17, and the contact candidate list 53list_i [Lnum], list_j [Lnum], the accumulated contact candidate number s_jgi [i], and information on the contact force Spring [Lnum] of the contact candidate pair inherited from one step before are transmitted to the contact determination unit 18 together with the particle information.

接触力参照表作成部17は、box_idから対応する候補リスト番号Lnumを算出する関数Ref[i][box_id]を作成する。本実施形態では、この関数をあらわす二次元配列Ref[i][box_id]を接触力参照表54と呼ぶ。接触力参照表54は、図9に示すように、接触候補リスト53のi粒子がj粒子から受ける接触力Fij[Lnum]を任意の一粒子i(図9ではi=4)ごとに参照先(Lnum)(参照情報)をまとめたものである。特に本実施形態では、接触力参照表54には、着目粒子iに関する近傍粒子表52に格納されている近傍粒子、すなわち着目粒子iより粒子径の大きい粒子との接触力の参照先(Lnum)のみが格納されている。ここで、接触力の参照先(Lnum)とは、後述する粒子間接触力の並進成分及び回転成分を保持する2種類の一次元配列Fijt[Lnum],Fijr[Lnum]及び後述する(13)式で用いるβ[Lnum]からなる接触力Fij[Lnum]から構成される接触力ボックスから、該当する接触力を取得するために用いる接触候補ペアリスト番号(接触候補番号)Lnumである。   The contact force reference table creation unit 17 creates a function Ref [i] [box_id] for calculating the corresponding candidate list number Lnum from box_id. In the present embodiment, the two-dimensional array Ref [i] [box_id] representing this function is referred to as a contact force reference table 54. As shown in FIG. 9, the contact force reference table 54 refers to the contact force Fij [Lnum] received by the i particles in the contact candidate list 53 from the j particles for each arbitrary particle i (i = 4 in FIG. 9). (Lnum) (reference information). In particular, in the present embodiment, the contact force reference table 54 includes a reference destination (Lnum) of contact force with a neighboring particle stored in the neighboring particle table 52 relating to the target particle i, that is, a particle having a larger particle diameter than the target particle i. Only stored. Here, the reference destination (Lnum) of the contact force refers to two types of one-dimensional arrays Fijt [Lnum] and Fijr [Lnum] that hold a translational component and a rotational component of the interparticle contact force described later, and will be described later (13). This is a contact candidate pair list number (contact candidate number) Lnum used to acquire the corresponding contact force from the contact force box composed of the contact force Fij [Lnum] composed of β [Lnum] used in the equation.

接触力参照表作成部17は、接触力参照表54を作成するためのメモリ領域を予め確保している。確保するメモリ領域は、各粒子と接触する可能性がある近傍粒子の個数を考慮して、各粒子の接触力参照表54ごとに同一の大きさである。   The contact force reference table creating unit 17 reserves a memory area for creating the contact force reference table 54 in advance. The memory area to be secured is the same size for each contact force reference table 54 of each particle in consideration of the number of neighboring particles that may come into contact with each particle.

接触力参照表作成部17は、具体的には、接触候補リスト作成部16より接触候補リスト53list_i[Lnum],list_j[Lnum]及び近傍粒子表52nei_pn[i][box_id]を受信すると、接触候補リスト53のLnum番目の粒子ペアである粒子i(=list_i[Lnum])及び粒子j(=list_j[Lnum])について、粒子jの近傍粒子表52を探索して粒子iが記憶されている近傍粒子表番号k(=box_id)を取得する。上述したように、接触候補ペアの粒子jは、粒子iより粒子径が小さいので、粒子iは粒子jの近傍粒子として粒子jの近傍粒子表52に記憶されているからである。そして、粒子jに関する接触力参照表54のk番目の配列Ref[j][k]に、粒子i,jの接触候補リスト番号Lnumを記憶させる。   Specifically, when the contact force reference table creation unit 17 receives the contact candidate list 53list_i [Lnum], list_j [Lnum] and the neighboring particle table 52nei_pn [i] [box_id] from the contact candidate list creation unit 16, the contact candidate For the particle i (= list_i [Lnum]) and the particle j (= list_j [Lnum]) which are the Lnum-th particle pair in the list 53, the neighborhood where the particle i is stored by searching the neighborhood particle table 52 of the particle j The particle table number k (= box_id) is acquired. As described above, because the particle j of the contact candidate pair has a smaller particle diameter than the particle i, the particle i is stored in the neighboring particle table 52 of the particle j as a neighboring particle of the particle j. Then, the contact candidate list number Lnum of the particles i and j is stored in the k-th array Ref [j] [k] of the contact force reference table 54 for the particle j.

なお、上述の接触候補リスト作成部16による接触候補リスト53の作成処理、及び接触力参照表作成部17による接触力参照表54の作成処理は、以下のアルゴリズムで実施することができる。以下のアルゴリズム中の「接触候補ペア条件==true」とは、接触候補リスト53の条件a)〜c)を満たすことを意味するものである。

Figure 0005467262

In addition, the creation process of the contact candidate list 53 by the contact candidate list creation unit 16 and the creation process of the contact force reference table 54 by the contact force reference table creation unit 17 can be performed by the following algorithm. “Contact candidate pair condition == true” in the following algorithm means that the conditions a) to c) of the contact candidate list 53 are satisfied.
Figure 0005467262

本実施形態では、接触力参照表54には、着目粒子の粒子径以上の粒子のみを保持している。このため、上述した近傍粒子表52と同じ理由により、接触力参照表54のために用意される配列のメモリ使用量を抑制することができる。   In the present embodiment, the contact force reference table 54 holds only particles having a diameter equal to or larger than the particle size of the target particle. For this reason, the memory usage of the arrangement prepared for the contact force reference table 54 can be suppressed for the same reason as the above-mentioned neighboring particle table 52.

接触力参照表作成部17は、導出した接触力参照表54Ref[i][box_id]を接触力計算部19に送信する。   The contact force reference table creation unit 17 transmits the derived contact force reference table 54Ref [i] [box_id] to the contact force calculation unit 19.

接触判定部18は、接触候補リスト53を参照して、全てのペア粒子について2つの粒子間の接触判定をすると共に、接触していると判定した場合には粒子間の接触力Fijr、Fijtを算出する。   The contact determination unit 18 refers to the contact candidate list 53 to determine contact between two particles for all paired particles, and determines contact forces Fijr and Fijt between the particles when determined to be in contact. calculate.

具体的には、接触判定部18は、接触候補リスト作成部16から接触候補リスト53list_i[Lnum],list_j[Lnum]、積算接触候補数s_jgi[i]、1ステップ前から引き継いだ接触候補ペアの接触力Spring[Lnum]、及び粒子情報を受信するか、または、接触候補リスト更新部13から粒子情報を受信すると、接触候補リスト53を走査して接触候補ペアの粒子i,jの接触判定を行う。接触判定は、例えば、粒子iと粒子jとの粒子間距離を計算し、粒子間距離が両粒子の粒子径の和r+r以下となる場合に両粒子が接触しているものと判定する。 Specifically, the contact determination unit 18 includes the contact candidate list 53list_i [Lnum], list_j [Lnum], the accumulated contact candidate number s_jgi [i] from the contact candidate list creation unit 16, and the contact candidate pair inherited from the previous step. When the contact force Spring [Lnum] and the particle information are received or the particle information is received from the contact candidate list update unit 13, the contact candidate list 53 is scanned to determine the contact of the particles i and j of the contact candidate pair. Do. In the contact determination, for example, the interparticle distance between the particle i and the particle j is calculated, and it is determined that the two particles are in contact when the interparticle distance is equal to or less than the sum of the particle diameters of both particles, r i + r j. To do.

接触判定において、両粒子が接触していると判定した場合には、上述したVoigtモデルの(1),(2)式を用いて接触力Fn,Ftを計算する。なお、上記(2)式において現時点のバネによる接線方向接触力はKtxt=spring[]+ΔFtとして計算する。spring[]は、上述のように1ステップ前のバネによる接線方向接触力であり、ΔFtは、1ステップ前から現時点までに増加(もしくは減少)したバネによる接線方向接触力である。ΔFtは粒子間の相対速度に1ステップの時間Δtと接線方向成分のバネの弾性係数Ktを乗じて算出される。法線方向成分及び接線方向成分のバネ72の弾性係数Kn,Ktと、粒子間の反発係数eは、シミュレーション前に設定される所与の値であり、ダッシュポット73の粘性減衰係数μn,μtは、所与のKn,Kt,eと、粒子情報に含まれる質量mi,mjを用いて(3)式から導出する。粒子間の相対変位xn,xt及び相対速度vn,vtは、粒子情報に含まれる粒子座標(位置情報)、並進・回転速度(速度情報)に基づき算出する。Fn,Ftは、このように取得した各変数及びパラメータを用いて、(1)式及び(2)式に示す演算処理を行って算出する。そして、算出したFn,Ftを用いて、接触力の並進成分Fn +Ft と回転成分Ri ×Ft を計算し、これらの成分を、接触候補ペアリスト番号(接触候補番号)Lnumを要素としてもつ配列Fijt[Lnum],Fijr[Lnum](上述の接触力ボックスに含まれる配列)に記憶する。 In the contact determination, when it is determined that both particles are in contact, the contact forces Fn and Ft are calculated using the above-described equations (1) and (2) of the Voigt model. In the above formula (2), the current tangential contact force by the spring is calculated as K t x t = spring [] + ΔFt. As described above, spring [] is a tangential contact force by a spring one step before, and ΔFt is a tangential contact force by a spring increased (or decreased) from one step before to the present time. ΔFt is calculated by multiplying the relative speed between particles by the time Δt of one step and the elastic coefficient Kt of the spring of the tangential component. The elastic coefficient Kn, Kt of the spring 72 of the normal direction component and the tangential direction component and the repulsion coefficient e between the particles are given values set before the simulation, and the viscous damping coefficients μn, μt of the dashpot 73 are set. Is derived from Equation (3) using given Kn, Kt, e and masses mi, mj included in the particle information. Relative displacements xn, xt and relative velocities vn, vt between particles are calculated based on particle coordinates (position information) and translation / rotation speed (velocity information) included in the particle information. Fn and Ft are calculated by performing the arithmetic processing shown in the equations (1) and (2) using the variables and parameters acquired in this way. Then, using the calculated Fn and Ft, the translational component Fn + Ft and the rotational component Ri × Ft of the contact force are calculated, and these components are arrayed with the contact candidate pair list number (contact candidate number) Lnum as an element. Fijt [Lnum] and Fijr [Lnum] (arrays included in the contact force box described above) are stored.

また、接触判定において、接触していないと判定された場合には、接触力は0なので、接触候補ペアリスト番号Lnumを要素としてもつ配列Fijt[Lnum],Fijr[Lnum](上述の接触力ボックス)には0を格納する。   Further, in the contact determination, when it is determined that the contact is not made, the contact force is 0, so the arrays Fijt [Lnum] and Fijr [Lnum] having the contact candidate pair list number Lnum as an element (the contact force box described above) ) Stores 0.

この接触判定部18による接触力算出処理は、以下のアルゴリズムで表現することができる。

Figure 0005467262

The contact force calculation process by the contact determination unit 18 can be expressed by the following algorithm.
Figure 0005467262

このように、接触判定部18は、接触候補リスト53が作成/更新される毎に、接触候補ペアリスト番号Lnumに対応付けるように接触力ボックスを作成/更新する。また、接触候補リストが更新されない場合でも、粒子情報が更新された場合には、既存の接触候補リストを用いて、接触力ボックスを作成/更新する。   In this way, the contact determination unit 18 creates / updates the contact force box so as to be associated with the contact candidate pair list number Lnum every time the contact candidate list 53 is created / updated. Even if the contact candidate list is not updated, if the particle information is updated, the contact force box is created / updated using the existing contact candidate list.

接触判定および接触力は接触候補ペアリスト番号をスレッド化して計算する。GPUのグローバルメモリはアクセスパターンがスレッドの順である場合に最も良いアクセス効率が得られる。しかし、ペア粒子の番号はリスト番号に対してランダムであるため、粒子情報が格納されているグローバルメモリをランダムにアクセスしメモリアクセス速度が大きく低下する。一方、テクスチャメモリはキャッシュ機能が有るため、ランダムアクセスによるメモリアクセス速度の低下を抑えることができる。そこで、粒子情報を格納しているグローバルメモリ領域をテクスチャメモリから参照できるように設定した。さらに粒子には所属するセル番号順になるように番号を付けているために接触候補ペア同士の粒子番号が近く、加えて接触候補ペアリストは粒子番号iが小さい順にリスト内に並ぶように作られている。そのため、接触候補ペアリスト番号でスレッド化することでキャッシュヒット率が高くなり、粒子間の接触判定および接触力計算のルーチンが高速化される。   The contact determination and contact force are calculated by threading the contact candidate pair list number. The global memory of the GPU can obtain the best access efficiency when the access pattern is in the order of threads. However, since the number of the pair particle is random with respect to the list number, the global memory in which the particle information is stored is accessed at random, and the memory access speed is greatly reduced. On the other hand, since the texture memory has a cache function, a decrease in memory access speed due to random access can be suppressed. Therefore, the global memory area storing the particle information is set so that it can be referred to from the texture memory. Furthermore, since the particles are numbered so as to be in the order of the cell numbers to which they belong, the particle numbers of the contact candidate pairs are close to each other. In addition, the contact candidate pair list is arranged in the list in ascending order of the particle number i. ing. Therefore, by threading with the contact candidate pair list number, the cache hit rate is increased, and the routine for determining contact between particles and calculating the contact force is accelerated.

接触判定部18は、作成/更新した接触力ボックスの情報を、積算接触候補数s_jgi[i]及び粒子情報と共に接触力計算部19に送信する。   The contact determination unit 18 transmits the created / updated contact force box information to the contact force calculation unit 19 together with the accumulated contact candidate number s_jgi [i] and the particle information.

接触力計算部19は、接触力参照表54と積算接触候補数s_jgiを用いて各粒子iに働く全接触力の並進成分Ftall[i]、及び回転成分Frall[i]を計算する。接触力参照表54を接触力参照表作成部17から受信し、積算接触候補数を接触判定部18から受信すると、まず、着目粒子iごとに、接触力参照表54及び積算接触候補数s_jgiを用いて、この着目粒子と接触している粒子との接触力を、接触力ボックスから抽出する。具体的には、着目粒子iより粒子径が大きい粒子については、接触力参照表54に保持されるボックス番号(Lnum)(参照情報)に基づき、このボックス番号に対応する接触力Fij[Lnum]を接触力ボックスから抽出する。着目粒子iより粒子径が小さい粒子については、積算接触候補数s_jgi[]を用いて、接触力テーブルの格納位置を特定して接触力を抽出する。より詳細には、s_jgi[i-1]〜s_jgi[i]−1番のボックス番号(接触候補番号)に対応する接触力Fij[s_jgi[i-1]]〜Fij[s_jgi[i]−1]を接触力ボックスから抽出する。ここで接触力ボックスに格納されている接触力Fij[]とは、具体的には並進成分Fijt[Lnum]、回転成分Fijr[Lnum]、及び後述する(13)式で用いるβ[Lnum]の3つの1次元配列を一組として保持するものである。 The contact force calculator 19 calculates the translation component Ft all [i] and the rotation component Fr all [i] of the total contact force acting on each particle i using the contact force reference table 54 and the accumulated contact candidate number s_jgi. When the contact force reference table 54 is received from the contact force reference table creation unit 17 and the accumulated contact candidate number is received from the contact determination unit 18, first, for each particle i of interest, the contact force reference table 54 and the accumulated contact candidate number s_jgi are obtained. The contact force with the particle in contact with the target particle is extracted from the contact force box. Specifically, for a particle having a particle size larger than the target particle i, based on the box number (Lnum) (reference information) held in the contact force reference table 54, the contact force Fij [Lnum] corresponding to this box number is stored. Is extracted from the contact force box. For a particle having a particle diameter smaller than the particle of interest i, the storage position of the contact force table is specified and the contact force is extracted using the accumulated contact candidate number s_jgi []. More specifically, contact forces Fij [s_jgi [i-1]] to Fij [s_jgi [i] −1 corresponding to the box numbers (contact candidate numbers) of s_jgi [i-1] to s_jgi [i] −1. ] Is extracted from the contact force box. Here, the contact force Fij [] stored in the contact force box is specifically the translation component Fijt [Lnum], the rotation component Fijr [Lnum], and β [Lnum] used in the equation (13) described later. It holds three one-dimensional arrays as a set.

この接触力を接触力ボックスから抽出する処理を図10を参照して具体的に説明する。図10は、これまでの図6,9と同様に、着目粒子i=4の例である。接触力参照表54には、着目粒子(i=4)より粒子径が大きい粒子(i=7,8)との接触力の参照先情報が含まれている。i=4の着目粒子とi=7の粒子との接触力を格納する接触力ボックスのボックス番号(=接触候補リスト番号)Lnumは4であり、i=8の粒子との接触力を格納する接触力ボックスのボックス番号Lnumは7である。接触力計算部19は、接触力参照表54に含まれるこのボックス番号を用いて、接触力ボックスから、i=7の粒子とのとの接触力Fij[4],i=8の粒子との接触力Fij[7]を抽出する。   The process of extracting the contact force from the contact force box will be specifically described with reference to FIG. FIG. 10 shows an example of the target particle i = 4, as in FIGS. The contact force reference table 54 includes reference information of contact force with particles (i = 7, 8) having a particle diameter larger than the particle of interest (i = 4). The box number (= contact candidate list number) Lnum of the contact force box for storing the contact force between the target particle of i = 4 and the particle of i = 7 is 4, and the contact force with the particle of i = 8 is stored. The box number Lnum of the contact force box is 7. The contact force calculation unit 19 uses the box number included in the contact force reference table 54 to contact the contact force Fij [4] with the particle with i = 7 and the particle with i = 8 from the contact force box. Contact force Fij [7] is extracted.

また、図10に示すように、着目粒子i=4の積算接触候補数s_jgi[i]は、s_jgi[4]=3であり、着目粒子の粒子番号より1つ前の粒子(図10ではi=3)の積算接触候補数s_jgi[i-1]は、s_jgi[3]=3である。したがって、着目粒子i=4より粒子径が小さい粒子(この例ではi=5,6)については、s_jgi[i-1]〜s_jgi[i]−1番、すなわち1番及び2番のボックス番号に接触力Fij[1],Fij[2]を接触力ボックスから抽出する。   Further, as shown in FIG. 10, the cumulative contact candidate number s_jgi [i] of the target particle i = 4 is s_jgi [4] = 3, and the particle one before the particle number of the target particle (i in FIG. 10) = 3) The cumulative contact candidate number s_jgi [i-1] is s_jgi [3] = 3. Therefore, for the particles having a particle size smaller than the target particle i = 4 (i = 5, 6 in this example), s_jgi [i-1] to s_jgi [i] −1, that is, the first and second box numbers The contact forces Fij [1] and Fij [2] are extracted from the contact force box.

次に、着目粒子iごとに、接触力ボックスから抽出した接触力Fij[](=Fijt[]、Fijr[]、β[])を用いて、粒子iに働く全接触力の並進成分Ftall[i]、及び回転成分Frall[i]を計算する。 Next, using the contact force Fij [] (= Fijt [], Fijr [], β []) extracted from the contact force box for each particle i of interest, the translational component Ft all of the total contact force acting on the particle i [i] and the rotation component Fr all [i] are calculated.

i番の粒子に働く全接触力(並進成分)Ftall[i]は、接触候補リスト番号がs_jgi[i-1]〜s_jgi[i]−1番の接触力はそのままの符号で足し合わせる。さらに、接触力参照表54(Ref)を用いて参照表番号0〜n_jli−1番の表から参照される接触力は逆符号にして足し合わせる。そして次式のように表される。

Figure 0005467262

The total contact force (translational component) Ft all [i] acting on the i-th particle is obtained by adding the contact forces of contact candidate list numbers s_jgi [i-1] to s_jgi [i] -1 as they are. Further, the contact forces referred to from the tables of reference table numbers 0 to n_jli−1 using the contact force reference table 54 (Ref) are added with the opposite sign. And it is expressed as:
Figure 0005467262

i番の粒子に働く全接触力(回転成分)Frall[i]も同様に足し合わせる。接触候補リスト番号がs_jgi[i-1]〜s_jgi[i]−1番の接触力はそのまま参照し、接触力参照表54(Ref)を用いて参照表番号0〜n_jli−1番の表から参照される接触力は逆符号にしてからβを掛けてから足し合わせ、次式のように表される。ここで、βはj粒子の中心から接触点までの距離をi粒子の中心から接触点までの距離で割った値である。

Figure 0005467262

Similarly, the total contact force (rotational component) Fr all [i] acting on the i-th particle is also added. The contact forces with contact candidate list numbers s_jgi [i-1] to s_jgi [i] -1 are referred to as they are, and the contact force reference table 54 (Ref) is used to obtain the reference table numbers 0 to n_jli-1 from the table. The contact force to be referred to is expressed by the following equation by adding β after multiplying it with the opposite sign. Here, β is a value obtained by dividing the distance from the center of the j particle to the contact point by the distance from the center of the i particle to the contact point.
Figure 0005467262

ここで、s_jgi[i-1]〜s_jgi[i]−1 番の接触力は粒子iが粒子jから受ける接触力であるのに対して、0〜n_jli−1番の接触力参照表54で参照される接触力は粒子iが粒子jに与える接触力である。そのため, 0〜n_jli−1番の接触力参照表54に対して、接触力の並進成分については符号を反対にしてから足し合わせ、接触力の回転成分についてはβ[box id]を掛けてから足し合わせる。この様に、粒子iが粒子jから受ける力を接触力参照表54Ref[i][box id]を使わずにs_jgi[i]を用いて直接、接触力の入った配列Fijt[],Fijr[]を参照することで、接触力参照表54のメモリ使用量を増加させずに、大粒子に対して膨大な数の接触候補ペアとなる小粒子から受ける接触力を足し合わせることが可能になった。   Here, the contact force of s_jgi [i-1] to s_jgi [i] -1 is the contact force that the particle i receives from the particle j, whereas the contact force reference table 54 of 0 to n_jli-1 The contact force referred to is the contact force that the particle i gives to the particle j. Therefore, with respect to the contact force reference table 54 of No. 0 to n_jli−1, the translation component of the contact force is added after the signs are reversed, and the rotation component of the contact force is multiplied by β [box id]. Add together. In this way, the array Fjt [], Fijr [] in which the contact force is directly applied using s_jgi [i] without using the contact force reference table 54Ref [i] [box id] is applied to the force that the particle i receives from the particle j. ], It is possible to add the contact forces received from the small particles that are a huge number of contact candidate pairs to the large particles without increasing the memory usage of the contact force reference table 54. It was.

コンピュータを用いた演算においては、具体的には粒子番号iをスレッド化し、box_idでループを回してFtall,Frallを求める。ここでFijへのメモリアクセスはランダムアクセスになるのでテクスチャメモリを使用する。上述のようにテクスチャメモリはキャッシュヒット率が高いので、グローバルメモリを直接アクセスするよりは高速に処理できる。なお接触力参照表54に関しては配列Ref[A][B]のBの要素サイズを16の倍数になるように配列宣言することで連続アクセスが可能となる。 In the calculation using the computer, specifically, the particle number i is threaded and a loop is performed with box_id to obtain Ft all and Fr all . Here, memory access to Fij is random access, so texture memory is used. As described above, since the texture memory has a high cache hit rate, it can be processed at a higher speed than when the global memory is directly accessed. Regarding the contact force reference table 54, continuous access is possible by declaring the array so that the B element size of the array Ref [A] [B] is a multiple of 16.

接触力計算部19は、上述のように算出した、各粒子iに働く全接触力の並進成分Ftall[i]、及び回転成分Frall[i]を、粒子情報と共に粒子情報更新部20に送信する。 The contact force calculation unit 19 sends the translation component Ft all [i] and the rotation component Fr all [i] of the total contact force acting on each particle i calculated as described above to the particle information update unit 20 together with the particle information. Send.

粒子情報更新部20は、接触力計算部19から各粒子iに働く全接触力の並進成分Ftall[i]、及び回転成分Frall[i]と、粒子情報とを受信すると、各粒子の位置、速度、接触力計算部19から受信した接触力に基づき、粒子の座標(位置情報)と、並進速度及び回転速度(速度情報)を算出し、これらの算出した座標、並進速度及び回転速度を用いて、粒子情報保持部11に保持されている粒子情報を更新する。具体的には、並進の運動方程式(上記(4)式)をleap-flog法を用いて解くことで新しい時刻の並進速度ならびに粒子座標を求める。さらに、回転の運動方程式(上記(5)式)も同様にleap-flog 法を用いて解き、ここで得られる回転速度を予測値とする。この予測される回転速度に対して転がり摩擦力を計算し、接触力による回転力と転がり摩擦力を考慮した回転の運動方程式を解くことにより新しい時刻の回転速度を得る。 When the particle information update unit 20 receives the translation component Ft all [i] and the rotation component Fr all [i] of the total contact force acting on each particle i from the contact force calculation unit 19 and the particle information, Based on the contact force received from the position, speed, and contact force calculation unit 19, the coordinates (position information) of the particles, the translation speed and the rotation speed (speed information) are calculated, and the calculated coordinates, translation speed and rotation speed are calculated. To update the particle information held in the particle information holding unit 11. Specifically, the translational velocity and particle coordinates at a new time are obtained by solving the translational equation of motion (the above equation (4)) using the leap-flog method. Furthermore, the equation of motion of the rotation (the above equation (5)) is similarly solved using the leap-flog method, and the rotation speed obtained here is used as a predicted value. A rolling frictional force is calculated with respect to the predicted rotational speed, and a rotational speed at a new time is obtained by solving a rotational equation of motion in consideration of the rotational force due to the contact force and the rolling frictional force.

粒子情報更新部20は、算出した各粒子の位置座標、並進速度、回転速度を用いて、粒子情報の座標、並進速度、回転速度を更新し、更新した粒子情報を粒子情報保持部11に送信して粒子情報保持部11の粒子情報を最新のものに更新する。   The particle information update unit 20 updates the coordinate, translation speed, and rotation speed of the particle information using the calculated position coordinates, translation speed, and rotation speed of each particle, and transmits the updated particle information to the particle information holding unit 11. Then, the particle information in the particle information holding unit 11 is updated to the latest one.

次に、図11を参照して、粒子シミュレーション装置10において実行される処理について説明すると共に、本実施形態に係る粒子シミュレーション方法について説明する。図11は本実施形態の粒子シミュレーション装置10において実行される処理を示すフローチャートである。粒子情報保持部11に入力され保持されている粒子情報が、粒子情報取得部12により粒子情報保持部11から取得される(S101:入力ステップ)。接触候補リスト更新判定部13により、接触候補リストの更新が必要か否かが判定される(S102)。更新判定は、例えば、粒子半径をrとして、粒子の積算移動距離がrαよりも大きい粒子が存在したときに更新する。ここでαは更新頻度を調整するパラメータであり、例えばα=0.2である。更新が必要と判定された場合にはステップS103に移行し、更新が不要と判定された場合にはステップS108に移行する。   Next, with reference to FIG. 11, the process performed in the particle simulation apparatus 10 will be described, and the particle simulation method according to the present embodiment will be described. FIG. 11 is a flowchart showing processing executed in the particle simulation apparatus 10 of the present embodiment. The particle information inputted and held in the particle information holding unit 11 is acquired from the particle information holding unit 11 by the particle information acquiring unit 12 (S101: input step). The contact candidate list update determination unit 13 determines whether or not the contact candidate list needs to be updated (S102). For example, the update determination is performed when the particle radius is r and there is a particle having an accumulated movement distance of the particle larger than rα. Here, α is a parameter for adjusting the update frequency. For example, α = 0.2. When it is determined that updating is necessary, the process proceeds to step S103, and when it is determined that updating is not necessary, the process proceeds to step S108.

次に、粒子番号変更部14により粒子番号が変更される(S103:付与ステップ)。粒子番号変更部14は、粒子を所属するセル番号順に並べ、その順に粒子番号を付け直し、さらに、同じセル番号の粒子について粒子径順に並べ直し、その順に粒子番号を付け直す。続いて、近傍粒子表作成部15により、作業空間51内の個々の粒子について、この粒子の近傍に位置する近傍粒子の情報を含む近傍粒子表52が作成される(S104)。近傍粒子表52に近傍粒子として格納する条件は、上述の条件(a)〜(c)である。   Next, the particle number is changed by the particle number changing unit 14 (S103: giving step). The particle number changing unit 14 arranges the particles in the order of the cell numbers to which the particles belong, reassigns the particle numbers in that order, reorders the particles having the same cell numbers in the order of the particle diameters, and reassigns the particle numbers in that order. Subsequently, the neighboring particle table creating unit 15 creates a neighboring particle table 52 including information on neighboring particles located in the vicinity of each particle in the work space 51 (S104). The conditions for storing as neighboring particles in the neighboring particle table 52 are the above-mentioned conditions (a) to (c).

次に、接触候補リスト作成部16により、近傍粒子表52の条件(a)を満たすが(b)及び(c)を満たしていない粒子数n_jgi[i] のプレフィックス和である積算接触候補数s_jgi[i]が算出され(S105:積算接触候補数算出ステップ)、次いで、作業空間51の全粒子について、接触している可能性がある粒子ペアの情報を含む接触候補リスト53が作成される(S106:接触候補選択ステップ)。接触候補リスト53に格納する条件は、上述の条件a)〜c)である。接触力参照表作成部17により、接触力参照表54が作成される(S107:接触力参照表作成ステップ)。   Next, by the contact candidate list creation unit 16, the cumulative contact candidate number s_jgi that is the prefix sum of the number of particles n_jgi [i] that satisfies the condition (a) of the neighboring particle table 52 but does not satisfy (b) and (c). [i] is calculated (S105: step of calculating the total number of contact candidates), and then a contact candidate list 53 including information on particle pairs that may be in contact with all particles in the work space 51 is created ( S106: Contact candidate selection step). The conditions stored in the contact candidate list 53 are the above-mentioned conditions a) to c). The contact force reference table creation unit 17 creates a contact force reference table 54 (S107: contact force reference table creation step).

次に、接触判定部18により、接触候補リスト53を参照して、2つの粒子間の接触判定が行われ(S108)、接触していると判定された場合には粒子間の接触力Fijr、Fijtが(1),(2)式を用いて算出され、接触力ボックスの配列に格納される(S109:接触力算出ステップ)。また、粒子が接触していないと判定された場合には接触力Fijr、Fijtを0として、接触力ボックスの配列に格納される。   Next, the contact determination unit 18 performs contact determination between two particles with reference to the contact candidate list 53 (S108), and when it is determined that they are in contact, the contact force Fijr between the particles, Fijt is calculated using equations (1) and (2) and stored in an array of contact force boxes (S109: contact force calculation step). When it is determined that the particles are not in contact, the contact forces Fijr and Fijt are set to 0 and stored in the contact force box array.

接触力計算部19により、接触力参照表54及び積算接触候補数s_jgi[i]を参照して、着目粒子と接触する他の粒子が選択され、接触力ボックスから対応する配列Fijr、Fijtから接触力が取得される。そして(12),(13)式を用いて接触力が総和演算されて、各粒子に働く接触力Fr、Ftが計算される(S110:接触力総和演算ステップ)。粒子情報更新部20により、ステップS109において算出された接触力、現在の粒子情報に基づいて、各粒子の座標(位置情報)と、並進速度及び回転速度(速度情報)とが算出され、これらの算出した座標、並進速度及び回転速度を用いて、粒子情報保持部11に保持されている粒子情報が更新される(S111:粒子情報更新ステップ)。   The contact force calculation unit 19 refers to the contact force reference table 54 and the accumulated contact candidate number s_jgi [i], and selects other particles that come into contact with the target particle, and makes contact from the corresponding arrays Fijr and Fijt from the contact force box. Power is acquired. Then, the contact force is summed using equations (12) and (13), and the contact forces Fr and Ft acting on each particle are calculated (S110: contact force summation step). Based on the contact force calculated in step S109 and the current particle information, the particle information update unit 20 calculates the coordinates (position information) of each particle, and the translational speed and the rotational speed (speed information). The particle information held in the particle information holding unit 11 is updated using the calculated coordinates, translation speed, and rotation speed (S111: particle information update step).

そして、粒子シミュレーションが終了したか否かが判定される(S112)。終了判定は、例えば所定時間が経過した場合にシミュレーションが終了したものと判定される。粒子シミュレーションが終了していないと判定された場合にはステップS101に戻り、次のステップに入る。粒子シミュレーションが終了したと判定された場合には処理を終了する。   Then, it is determined whether the particle simulation has been completed (S112). In the end determination, for example, it is determined that the simulation has ended when a predetermined time has elapsed. If it is determined that the particle simulation has not ended, the process returns to step S101, and the next step is entered. If it is determined that the particle simulation has ended, the process ends.

次に、図12を参照して、本実施形態の粒子シミュレーション装置10によるメモリ使用量について説明する。図12には、粒子モデルの最大粒子径と最小粒子径との比を変化させた場合の本実施形態(実線)及び比較例(破線)のメモリ使用量を示している。なお、粒子モデルの粒子数は1,000,000個とし、最大粒子径の粒子(最大粒子)と最小粒子径の粒子(最小粒子)とが混在する二成分系とした。比較例は、近傍粒子表52及び接触力参照表54に着目粒子iの粒子径より小さい粒子の情報も格納する点が本実施形態と異なるものである。図12の横軸は、「最大粒子径/最小粒子径」を表し、縦軸は「メモリ資料量(MB)」を表している。   Next, with reference to FIG. 12, the memory usage by the particle simulation apparatus 10 of the present embodiment will be described. FIG. 12 shows the memory usage of the present embodiment (solid line) and the comparative example (broken line) when the ratio between the maximum particle size and the minimum particle size of the particle model is changed. The number of particles in the particle model was 1,000,000, and a two-component system in which particles having the maximum particle diameter (maximum particles) and particles having the minimum particle diameter (minimum particles) were mixed. The comparative example is different from the present embodiment in that information on particles smaller than the particle diameter of the target particle i is also stored in the nearby particle table 52 and the contact force reference table 54. The horizontal axis of FIG. 12 represents “maximum particle size / minimum particle size”, and the vertical axis represents “memory material amount (MB)”.

比較例の場合、近傍粒子表52nei_pn[i][box_id]及び接触力参照表54Ref[i][box_id]に必要なメモリ使用量は、1データに4バイト必要として、粒子数×最大接触候補粒子数×4byteとなる。ここで、最大接触候補粒子数は、近傍粒子表52及び接触力参照表54に格納する近傍粒子の最大個数であって、最大粒子の表面を最小粒子が埋め尽くす状態を考えればよく、この場合、
最大接触候補粒子数=4π(rmax+rmin)/πrmin (14)
となる。ここで、rmaxは最大粒子の粒子径であり、rminは最小粒子の粒子径である。つまり、比較例の場合、図12に示すように、最小粒子径に対して最大粒子径が大きくなるほど、つまり最大粒子径/最小粒子径が大きくなるほど、最大接触候補粒子数が増大し、この結果、メモリ使用量が増大する。例えば、粒子径比1:10の条件(最大粒子径/最小粒子径=10)では、一粒子当たりの接触候補粒子数は最大で500個程度に増加するため、必要なメモリ量で2GBにもなる。
In the case of the comparative example, the memory usage required for the neighborhood particle table 52nei_pn [i] [box_id] and the contact force reference table 54Ref [i] [box_id] is 4 bytes for one data, the number of particles × the maximum contact candidate particle It becomes a number x 4 bytes. Here, the maximum number of contact candidate particles is the maximum number of neighboring particles stored in the neighboring particle table 52 and the contact force reference table 54, and it is only necessary to consider a state in which the surface of the largest particle is filled with the smallest particle. ,
Maximum number of contact candidate particles = 4π (r max + r min ) 2 / πr min 2 (14)
It becomes. Here, r max is the particle size of the largest particle, and r min is the particle size of the smallest particle. That is, in the case of the comparative example, as shown in FIG. 12, the maximum number of contact candidate particles increases as the maximum particle size increases with respect to the minimum particle size, that is, as the maximum particle size / minimum particle size increases. Memory usage increases. For example, under the condition of a particle size ratio of 1:10 (maximum particle size / minimum particle size = 10), the number of contact candidate particles per particle increases to a maximum of about 500, so that the required memory amount is as small as 2 GB. Become.

一方、本実施形態の場合、着目粒子より粒子径の小さい粒子は近傍粒子として考慮されず、近傍粒子表52及び接触力参照表54に格納されないので、最大接触候補粒子数を算出する上記(14)式は成り立たず、本実施形態の最大接触候補粒子数は、最大と最小の粒子径に依存しない。本実施形態では、最大接触候補粒子数は、上述した近傍粒子の判定条件(a)において粒子間距離の閾値であるdis_lim = (r+ r)(1.0+α)に含まれるパラメータαのみに依存し、粒子径分布には依存せず一定となる。α=0.2の場合は、最大接触候補粒子数は如何なる粒子径分布条件においても16も有れば十分であるので、ここでは最大接触候補粒子数を16としてメモリ使用量を計算した。その結果、図12に示すように、本実施形態のメモリ使用量は、粒子数×最大接触候補粒子数×4byte =1000000×16×4=64MBの一定値となった。 On the other hand, in the present embodiment, particles having a particle size smaller than the target particle are not considered as neighboring particles and are not stored in the neighboring particle table 52 and the contact force reference table 54. ) Formula does not hold, and the maximum number of contact candidate particles in this embodiment does not depend on the maximum and minimum particle diameters. In the present embodiment, the maximum number of contact candidate particles is only the parameter α included in dis_lim = (r i + r j ) (1.0 + α) that is the threshold of the interparticle distance in the above-described neighboring particle determination condition (a). It depends on the particle size distribution and is constant without depending on the particle size distribution. In the case of α = 0.2, it is sufficient that the maximum number of contact candidate particles is 16 under any particle size distribution condition. Therefore, here, the memory usage was calculated with the maximum contact candidate particle number set to 16. As a result, as shown in FIG. 12, the amount of memory used in this embodiment was a constant value of the number of particles × the maximum number of contact candidate particles × 4 bytes = 1000000 × 16 × 4 = 64 MB.

本実施形態に係る粒子シミュレーション装置10及び粒子シミュレーション方法によれば、作業空間51内の粒子のそれぞれについて、当該粒子iの近傍に位置する、この粒子iと接触する可能性の高い他の粒子のうち当該粒子iの粒子径より小さい粒子については、粒子の数を示す積算接触候補数s_jgi[i]のみを保持しておく。そして、接触判定部18が、この積算接触候補数s_jgi[i]を利用して接触力テーブルの格納位置を特定して当該粒子と他の粒子との接触力を抽出する。これにより、接触力参照表54には、当該粒子iの近傍に位置する他の粒子のうち当該粒子iの粒子径より小さい粒子に関する情報を含める必要がなく、当該粒子の粒子径より大きい粒子に関する情報のみを保持すればよくなる。粒子径分布を有する粒子群をシミュレーション対象とする場合、自分より粒子径の小さい粒子まで接触を考慮すると、同時に接触可能な粒子の数が増大するため、予め接触力参照表54のために確保すべきメモリ領域を多くしなければならない。これに対し、上記構成により、自分より粒子径の大きい粒子との接触のみを考慮すればよく、接触を考慮する粒子数を減らすことができ、接触力参照表54を作成するために予め割り当てるメモリ領域を少なくすることが可能となり、この結果、メモリ使用量を抑制することができる。このようにメモリ使用量が抑制されることにより、GPUなどの共有メモリ型並列計算機を利用して粒子シミュレーションを実行することが可能となる。   According to the particle simulation apparatus 10 and the particle simulation method according to the present embodiment, for each of the particles in the work space 51, other particles that are located in the vicinity of the particle i and are likely to come into contact with the particle i. Of the particles smaller than the particle diameter of the particle i, only the cumulative contact candidate number s_jgi [i] indicating the number of particles is retained. And the contact determination part 18 specifies the storing position of a contact force table using this integrated contact candidate number s_jgi [i], and extracts the contact force of the said particle | grain and another particle. Thereby, the contact force reference table 54 does not need to include information on particles smaller than the particle diameter of the particles i among other particles located in the vicinity of the particle i, and relates to particles larger than the particle diameter of the particles i. It only needs to retain information. When a particle group having a particle size distribution is a simulation target, the number of particles that can be contacted at the same time increases when considering contact to particles having a particle size smaller than that of the particle group. The memory area to be increased must be increased. On the other hand, with the above configuration, it is sufficient to consider only contact with particles having a particle diameter larger than that of the self, the number of particles considering contact can be reduced, and memory allocated in advance for creating the contact force reference table 54 The area can be reduced, and as a result, the memory usage can be suppressed. By suppressing the memory usage in this way, it is possible to execute a particle simulation using a shared memory parallel computer such as a GPU.

また、粒子番号変更部14が、作業空間51内の全粒子について、セル番号に応じた順序で特定し、さらに同一のセルに配置される粒子間で、粒子径に応じた順序で特定した粒子番号を付与し、各粒子をセル番号順、さらには同一セル内では粒子径順にソーティングする。このため、接触力参照表を作成する際に、粒子番号に基づき粒子径が小さい粒子を容易に認識することができ、粒子径が小さい粒子については接触力参照表にいれるか否かの判定を行う必要がなくなる。この結果、接触力参照表の作成において計算効率を向上させることができる。   Further, the particle number changing unit 14 specifies all the particles in the work space 51 in the order corresponding to the cell numbers, and further specifies the particles specified in the order corresponding to the particle diameter between the particles arranged in the same cell. A number is assigned and each particle is sorted in order of cell number, and further in the order of particle size within the same cell. For this reason, when creating the contact force reference table, particles having a small particle diameter can be easily recognized based on the particle number, and whether or not particles having a small particle diameter can be included in the contact force reference table is determined. There is no need to do it. As a result, calculation efficiency can be improved in the creation of the contact force reference table.

以上、本発明について好適な実施形態を挙げて説明したが、本発明は上記実施形態に限定されるものではない。例えば、上記実施形態では、粒子番号変更部14は、(1)粒子を所属するセル番号順に並べ、さらに、(2)同じセル番号の粒子について粒子径順に並べ直す、というソーティングを行っているが、(1)粒子を所属するセル番号順に並べる処理のみを行うよう構成してもよい。   While the present invention has been described with reference to the preferred embodiment, the present invention is not limited to the above embodiment. For example, in the above-described embodiment, the particle number changing unit 14 sorts (1) the particles in the order of the cell numbers to which the particles belong, and (2) the particles having the same cell numbers in the order of the particle diameters. (1) You may comprise so that only the process which arranges a particle in order of the cell number to which it belongs may be performed.

また、上記実施形態では、本発明の適用対象としてGPUを挙げたが、GPUと同様の共有メモリ型のSIMD(Single Instruction Multiple Data)型並列処理を行うハードウェア(例えばベクトルプロセッサ)、すなわち共有メモリ型並列計算機にも適用可能である。   In the above-described embodiment, the GPU is cited as an application target of the present invention, but hardware (for example, a vector processor) that performs SIMD (Single Instruction Multiple Data) parallel processing of the shared memory type similar to the GPU, that is, a shared memory It can also be applied to type parallel computers.

10…粒子シミュレーション装置、11…粒子情報保持部(入力手段、粒子情報保持手段)、12…粒子情報取得部、13…接触候補リスト更新判定部、14…粒子番号変更部(付与手段)、15…近傍粒子表作成部、16…接触候補リスト作成部(接触候補選択手段、積算接触候補数算出手段)、17…接触力参照表作成部(接触力参照表作成手段)、18…接触判定部(接触力算出手段)、19…接触力計算部(接触力総和演算手段)、20…粒子情報更新部(算出手段、粒子情報更新手段)、51…作業領域、52…近傍粒子表、53…接触候補リスト、54…接触力参照表。   DESCRIPTION OF SYMBOLS 10 ... Particle simulation apparatus, 11 ... Particle information holding part (input means, particle information holding means), 12 ... Particle information acquisition part, 13 ... Contact candidate list update determination part, 14 ... Particle number change part (granting means), 15 ... Near particle table creation unit, 16 ... Contact candidate list creation unit (contact candidate selection unit, integrated contact candidate number calculation unit), 17 ... Contact force reference table creation unit (contact force reference table creation unit), 18 ... Contact determination unit (Contact force calculation means), 19 ... contact force calculation section (contact force total calculation means), 20 ... particle information update section (calculation means, particle information update means), 51 ... work area, 52 ... neighborhood particle table, 53 ... Contact candidate list, 54 ... contact force reference table.

Claims (2)

作業空間内で粒子径分布を有する粒子群について、他の粒子との接触力に基づく位置・速度を算出し、粒子の挙動をシミュレーションする粒子シミュレーション装置であって、
前記粒子群の各粒子ごとの位置情報及び速度情報を含む粒子情報を入力する入力手段と、
前記粒子情報を保持する粒子情報保持手段と、
前記粒子のそれぞれについて、前記位置情報に応じた順序で特定する特定情報を付与する付与手段と、
前記粒子の中から前記特定情報の昇順で着目粒子を順次選択し、該着目粒子と接触している可能性のある、当該着目粒子より粒子径の小さい他の粒子との接触候補ペアを選択する接触候補選択手段と、
前記接触候補選択手段により選択された接触候補ペアのそれぞれについて、該接触候補ペアの2つの粒子の間の接触力を、これらの粒子の前記位置情報及び前記速度情報に基づき算出し、算出した接触力の情報をこの接触力に対応する接触候補ペアの順番に応じて接触力テーブルに格納する接触力算出手段と、
前記粒子のそれぞれについて、当該粒子の近傍に位置する他の粒子のうち当該粒子の粒子径より大きい粒子との接触力を前記接触力テーブルから参照するための参照情報を含む接触力参照表を作成する接触力参照表作成手段と、
前記粒子のそれぞれについて、当該粒子の近傍に位置する他の粒子のうち当該粒子の粒子径より小さい粒子の数を示す接触候補数の積算値である積算接触候補数を算出する積算接触候補数算出手段と、
前記粒子のそれぞれについて、当該粒子より粒子径の大きい粒子との接触力を前記接触力参照表の参照情報を用いて前記接触力テーブルから抽出し、当該粒子より粒子径の小さい粒子との接触力を、前記積算接触候補数を用いて前記接触力テーブルの格納位置を特定して抽出し、これらの抽出した接触力を用いて粒子ごとの接触力を総和演算する接触力総和演算手段と、
前記接触力総和演算手段により計算された粒子ごとの接触力に基づいて、前記粒子の新たな位置情報及び速度情報を算出する算出手段と、
前記算出手段により算出された新たな位置情報及び速度情報を用いて、前記粒子情報保持手段に保持される粒子情報を更新する粒子情報更新手段と、
を備え
前記作業空間が複数のセルに分割され、各セルにはセル番号が付されており、
前記粒子情報には、前記位置情報に基づき特定される、当該粒子が配置されるセルのセル番号が含まれており、
前記付与手段が、前記粒子のそれぞれについて、前記セル番号に応じた順序で特定し、さらに同一のセルに配置される粒子間で、粒子径に応じた順序で特定した特定情報を付与し、
前記接触候補選択手段が、前記粒子群の中から前記特定情報の昇順で着目粒子を選択し、該着目粒子と接触している可能性のある、当該着目粒子より粒子径の小さい他の粒子との組と、この組に昇順で付される接触候補番号とからなる接触候補ペア情報を、前記作業空間内の全粒子について含む接触候補リストを作成し、
前記接触力算出手段が、前記接触候補リストに含まれる前記接触候補ペア情報のそれぞれについて、該接触候補ペア情報に関する2つの粒子の間の接触力を、当該粒子の前記位置情報及び前記速度情報に基づき算出し、算出した接触力と前記接触候補番号とを関連付けた接触力情報を接触力テーブルに格納し、
前記接触力参照表作成手段が、前記粒子のそれぞれについて、当該粒子と接触している可能性のある、当該粒子より粒子径の大きい他の粒子との接触力を前記接触力テーブルから参照するための参照情報として、該他の粒子及び当該粒子に関する前記接触候補番号を、該他の粒子及び当該粒子と関連付けて保持する接触力参照表を作成し、
前記積算接触候補数算出手段が、前記粒子のそれぞれについて、当該粒子と接触している可能性のある、当該粒子より粒子径の小さい他の粒子の数を示す接触候補数を前記特定情報順で積算した値である積算接触候補数s_jgi[i](iは当該粒子の特定情報を示す)を算出し、
前記接触力総和演算手段が、前記粒子のそれぞれについて、前記接触力参照表の前記参照情報を用いて接触力を前記接触力テーブルから抽出し、また、前記積算接触候補数s_jgi[i]を用いて前記接触候補番号がs_jgi[i-1]〜s_jgi[i]‐1の接触力を前記接触力テーブルから抽出し、これらの抽出した接触力を用いて粒子ごとの接触力を総和演算する、
ことを特徴とする粒子シミュレーション装置。
A particle simulation device that calculates the position / velocity based on the contact force with other particles for a particle group having a particle size distribution in the work space, and simulates the behavior of the particles,
Input means for inputting particle information including position information and velocity information for each particle of the particle group;
Particle information holding means for holding the particle information;
For each of the particles, an imparting unit that imparts specific information that is identified in an order according to the position information;
The target particles are sequentially selected from the particles in the ascending order of the specific information, and a contact candidate pair with another particle having a smaller particle diameter than the target particle that may be in contact with the target particle is selected. Contact candidate selection means;
For each contact candidate pair selected by the contact candidate selection means, the contact force between two particles of the contact candidate pair is calculated based on the position information and the velocity information of these particles, and the calculated contact Contact force calculation means for storing force information in a contact force table according to the order of contact candidate pairs corresponding to the contact force;
For each of the particles, a contact force reference table including reference information for referring to the contact force with a particle larger than the particle diameter of the other particles located in the vicinity of the particle from the contact force table is created. Means for creating a contact force reference table,
For each of the particles, an integrated contact candidate number calculation that calculates an integrated contact candidate number that is an integrated value of the number of contact candidates indicating the number of particles smaller than the particle diameter of other particles located in the vicinity of the particle. Means,
For each of the particles, the contact force with a particle having a larger particle diameter than the particle is extracted from the contact force table using the reference information of the contact force reference table, and the contact force with a particle having a smaller particle diameter than the particle A contact force total calculating means for specifying and extracting the storage position of the contact force table using the accumulated contact candidate number, and calculating the contact force for each particle using the extracted contact force;
Calculation means for calculating new position information and velocity information of the particles based on the contact force for each particle calculated by the contact force total calculation means;
Particle information updating means for updating particle information held in the particle information holding means using the new position information and velocity information calculated by the calculating means;
Equipped with a,
The work space is divided into a plurality of cells, each cell is assigned a cell number,
The particle information includes a cell number of a cell in which the particle is specified, which is specified based on the position information,
The assigning means, for each of the particles, is specified in the order according to the cell number, and between the particles arranged in the same cell, the specific information specified in the order according to the particle diameter is given,
The contact candidate selection unit selects the target particle from the particle group in ascending order of the specific information, and may be in contact with the target particle, and other particles having a particle diameter smaller than the target particle A contact candidate list including contact candidate pair information consisting of a set of and contact candidate numbers assigned in ascending order to this set for all particles in the work space,
The contact force calculation means, for each of the contact candidate pair information included in the contact candidate list, the contact force between the two particles related to the contact candidate pair information in the position information and the velocity information of the particle Calculated based on the contact force information that associates the calculated contact force with the contact candidate number in the contact force table,
The contact force reference table creating means refers to the contact force table for each of the particles, which may be in contact with the particle, with other particles having a particle diameter larger than the particle. As the reference information, a contact force reference table that holds the other particle and the contact candidate number related to the particle in association with the other particle and the particle is created,
The cumulative contact candidate number calculation means calculates the number of contact candidates indicating the number of other particles having a particle diameter smaller than the particle in contact with the particle in the order of the specific information. Calculate the accumulated contact candidate number s_jgi [i] (i indicates the specific information of the particle) that is the accumulated value;
The contact force sum calculating means extracts contact force from the contact force table using the reference information of the contact force reference table for each of the particles, and uses the accumulated contact candidate number s_jgi [i]. The contact candidate numbers s_jgi [i-1] to s_jgi [i] -1 are extracted from the contact force table, and the contact force for each particle is calculated using the extracted contact forces.
A particle simulation apparatus characterized by that.
作業空間内で粒子径分布を有する粒子群について、他の粒子との接触力に基づく位置・速度を算出し、粒子の挙動をシミュレーションする粒子シミュレーション装置における粒子シミュレーション方法であって、
前記粒子群の各粒子ごとの位置情報及び速度情報を含む粒子情報を入力し、この粒子情報を粒子情報保持手段に保持する入力ステップと、
前記粒子のそれぞれについて、前記位置情報に応じた順序で特定する特定情報を付与する付与ステップと、
前記粒子の中から前記特定情報の昇順で着目粒子を順次選択し、該着目粒子と接触している可能性のある、当該着目粒子より粒子径の小さい他の粒子との接触候補ペアを選択する接触候補選択ステップと、
前記接触候補選択ステップにおいて選択された接触候補ペアのそれぞれについて、該接触候補ペアの2つの粒子の間の接触力を、これらの粒子の前記位置情報及び前記速度情報に基づき算出し、算出した接触力の情報をこの接触力に対応する接触候補ペアの順番に応じて接触力テーブルに格納する接触力算出ステップと、
前記粒子のそれぞれについて、当該粒子の近傍に位置する他の粒子のうち当該粒子の粒子径より大きい粒子との接触力を前記接触力テーブルから参照するための参照情報を含む接触力参照表を作成する接触力参照表作成ステップと、
前記粒子のそれぞれについて、当該粒子の近傍に位置する他の粒子のうち当該粒子の粒子径より小さい粒子の数を示す接触候補数の積算値である積算接触候補数を算出する積算接触候補数算出ステップと、
前記粒子のそれぞれについて、当該粒子より粒子径の大きい粒子との接触力を前記接触力参照表の参照情報を用いて前記接触力テーブルから抽出し、当該粒子より粒子径の小さい粒子との接触力を、前記積算接触候補数を用いて前記接触力テーブルの格納位置を特定して抽出し、これらの抽出した接触力を用いて粒子ごとの接触力を総和演算する接触力総和演算ステップと、
前記接触力総和演算ステップにおいて計算された粒子ごとの接触力に基づいて、前記粒子の新たな位置情報及び速度情報を算出する算出ステップと、
前記算出ステップにおいて算出された新たな位置情報及び速度情報を用いて、前記粒子情報保持手段に保持される粒子情報を更新する粒子情報更新ステップと、
を含み、
前記作業空間が複数のセルに分割され、各セルにはセル番号が付されており、
前記粒子情報には、前記位置情報に基づき特定される、当該粒子が配置されるセルのセル番号が含まれており、
前記付与ステップにおいて、前記粒子のそれぞれについて、前記セル番号に応じた順序で特定し、さらに同一のセルに配置される粒子間で、粒子径に応じた順序で特定した特定情報を付与し、
前記接触候補選択ステップにおいて、前記粒子群の中から前記特定情報の昇順で着目粒子を選択し、該着目粒子と接触している可能性のある、当該着目粒子より粒子径の小さい他の粒子との組と、この組に昇順で付される接触候補番号とからなる接触候補ペア情報を、前記作業空間内の全粒子について含む接触候補リストを作成し、
前記接触力算出ステップにおいて、前記接触候補リストに含まれる前記接触候補ペア情報のそれぞれについて、該接触候補ペア情報に関する2つの粒子の間の接触力を、当該粒子の前記位置情報及び前記速度情報に基づき算出し、算出した接触力と前記接触候補番号とを関連付けた接触力情報を接触力テーブルに格納し、
前記接触力参照表作成ステップにおいて、前記粒子のそれぞれについて、当該粒子と接触している可能性のある、当該粒子より粒子径の大きい他の粒子との接触力を前記接触力テーブルから参照するための参照情報として、該他の粒子及び当該粒子に関する前記接触候補番号を、該他の粒子及び当該粒子と関連付けて保持する接触力参照表を作成し、
前記積算接触候補数算出ステップにおいて、前記粒子のそれぞれについて、当該粒子と接触している可能性のある、当該粒子より粒子径の小さい他の粒子の数を示す接触候補数を前記特定情報順で積算した値である積算接触候補数s_jgi[i](iは当該粒子の特定情報を示す)を算出し、
前記接触力総和演算ステップにおいて、前記粒子のそれぞれについて、前記接触力参照表の前記参照情報を用いて接触力を前記接触力テーブルから抽出し、また、前記積算接触候補数s_jgi[i]を用いて前記接触候補番号がs_jgi[i-1]〜s_jgi[i]‐1の接触力を前記接触力テーブルから抽出し、これらの抽出した接触力を用いて粒子ごとの接触力を総和演算する、
ことを特徴とする粒子シミュレーション方法。
A particle simulation method in a particle simulation apparatus for calculating a position / velocity based on contact force with other particles for a particle group having a particle size distribution in a work space, and simulating particle behavior,
An input step of inputting particle information including position information and velocity information for each particle of the particle group, and holding the particle information in a particle information holding unit;
For each of the particles, an imparting step for imparting specific information that is identified in an order according to the position information;
The target particles are sequentially selected from the particles in the ascending order of the specific information, and a contact candidate pair with another particle having a smaller particle diameter than the target particle that may be in contact with the target particle is selected. A contact candidate selection step;
For each contact candidate pair selected in the contact candidate selection step, a contact force between two particles of the contact candidate pair is calculated based on the position information and the velocity information of these particles, and the calculated contact A contact force calculation step for storing force information in a contact force table according to the order of contact candidate pairs corresponding to the contact force; and
For each of the particles, a contact force reference table including reference information for referring to the contact force with a particle larger than the particle diameter of the other particles located in the vicinity of the particle from the contact force table is created. A contact force reference table creation step,
For each of the particles, an integrated contact candidate number calculation that calculates an integrated contact candidate number that is an integrated value of the number of contact candidates indicating the number of particles smaller than the particle diameter of other particles located in the vicinity of the particle. Steps,
For each of the particles, the contact force with a particle having a larger particle diameter than the particle is extracted from the contact force table using the reference information of the contact force reference table, and the contact force with a particle having a smaller particle diameter than the particle A contact force summation calculating step for identifying and extracting the storage position of the contact force table using the accumulated contact candidate number, and summing up the contact force for each particle using the extracted contact force;
A calculation step of calculating new position information and velocity information of the particles based on the contact force for each particle calculated in the contact force total calculation step;
A particle information update step for updating the particle information held in the particle information holding means using the new position information and velocity information calculated in the calculation step;
Only including,
The work space is divided into a plurality of cells, each cell is assigned a cell number,
The particle information includes a cell number of a cell in which the particle is specified, which is specified based on the position information,
In the assigning step, for each of the particles, identify in an order according to the cell number, and further provide specific information identified in an order according to the particle diameter between the particles arranged in the same cell,
In the contact candidate selection step, the target particle is selected from the particle group in ascending order of the specific information, and may be in contact with the target particle, and other particles having a particle diameter smaller than the target particle A contact candidate list including contact candidate pair information consisting of a set of and contact candidate numbers assigned in ascending order to this set for all particles in the work space,
In the contact force calculation step, for each of the contact candidate pair information included in the contact candidate list, the contact force between two particles related to the contact candidate pair information is used as the position information and the velocity information of the particle. Calculated based on the contact force information that associates the calculated contact force with the contact candidate number in the contact force table,
In the contact force reference table creation step, for referring to the contact force with each of the particles, which may be in contact with the particle, with other particles having a particle diameter larger than the particle, from the contact force table. As the reference information, a contact force reference table that holds the other particle and the contact candidate number related to the particle in association with the other particle and the particle is created,
In the cumulative contact candidate number calculating step, for each of the particles, the number of contact candidates indicating the number of other particles having a particle diameter smaller than the particle that may be in contact with the particle in the order of the specific information. Calculate the accumulated contact candidate number s_jgi [i] (i indicates the specific information of the particle) that is the accumulated value;
In the contact force sum calculation step, for each of the particles, the contact force is extracted from the contact force table using the reference information of the contact force reference table, and the accumulated contact candidate number s_jgi [i] is used. The contact candidate numbers s_jgi [i-1] to s_jgi [i] -1 are extracted from the contact force table, and the contact force for each particle is calculated using the extracted contact forces.
A particle simulation method characterized by the above.
JP2010007142A 2010-01-15 2010-01-15 Particle simulation apparatus and particle simulation method Active JP5467262B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010007142A JP5467262B2 (en) 2010-01-15 2010-01-15 Particle simulation apparatus and particle simulation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010007142A JP5467262B2 (en) 2010-01-15 2010-01-15 Particle simulation apparatus and particle simulation method

Publications (2)

Publication Number Publication Date
JP2011145943A JP2011145943A (en) 2011-07-28
JP5467262B2 true JP5467262B2 (en) 2014-04-09

Family

ID=44460732

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010007142A Active JP5467262B2 (en) 2010-01-15 2010-01-15 Particle simulation apparatus and particle simulation method

Country Status (1)

Country Link
JP (1) JP5467262B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101635621B1 (en) * 2014-12-26 2016-07-01 주식회사 울프슨랩 Mesh generating method and Circle packing method using particle simultion, Computer program for the same, Recording medium storing computer program for the same
CN105677983B (en) * 2016-01-11 2018-09-25 沈士蕙 Computational methods based on the optimization of software and hardware real-time, interactive
JP6687145B1 (en) * 2019-04-03 2020-04-22 Jfeスチール株式会社 Granule size prediction method
JP7244757B2 (en) * 2019-07-01 2023-03-23 富士通株式会社 Information processing device, particle simulation method and particle simulation system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4899607B2 (en) * 2006-04-19 2012-03-21 学校法人同志社 Particle behavior simulation apparatus, particle behavior simulation method, and computer program

Also Published As

Publication number Publication date
JP2011145943A (en) 2011-07-28

Similar Documents

Publication Publication Date Title
US8554527B2 (en) Particle simulator and method of simulating particles
Govender et al. Development of a convex polyhedral discrete element simulation framework for NVIDIA Kepler based GPUs
Li et al. Multi-sphere approximation of real particles for DEM simulation based on a modified greedy heuristic algorithm
US10007742B2 (en) Particle flow simulation system and method
Dubinski et al. GOTPM: a parallel hybrid particle-mesh treecode
US8903693B2 (en) Boundary handling for particle-based simulation
Valera et al. Modified algorithm for generating high volume fraction sphere packings
JP5408611B2 (en) Particle simulation apparatus and particle simulation method
JP6261130B2 (en) Particle simulation apparatus, particle simulation method, and particle simulation program
JP5467262B2 (en) Particle simulation apparatus and particle simulation method
Lozano et al. An efficient algorithm to generate random sphere packs in arbitrary domains
Zhang et al. A new DDA model for kinematic analyses of rockslides on complex 3-D terrain
AU2017227323B2 (en) Particle simulation device, particle simulation method, and particle simulation program
Al Ibrahim et al. Particula: A simulator tool for computational rock physics of granular media
Rubio-Largo et al. Granular gas of ellipsoids: analytical collision detection implemented on GPUs
Murotani et al. Performance improvements of differential operators code for MPS method on GPU
Rybakin et al. Parallel algorithms for astrophysics problems
EP2509009A1 (en) Particle simulator and method of simulating particles
KR101642823B1 (en) Neighbor discovery computation system
Weller et al. Inner sphere trees
Cintra et al. A parallel DEM approach with memory access optimization using HSFC
Yuan Combined 3D thinning and greedy algorithm to approximate realistic particles with corrected mechanical properties
Wong et al. Virtual subdivision for GPU based collision detection of deformable objects using a uniform grid
CN109753726A (en) A kind of globe mill medium movement simulating method based on Bounding Box searching method and GPU
Gissler et al. Efficient Uniform Grids for Collision Handling in Medical Simulators.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131220

R150 Certificate of patent or registration of utility model

Ref document number: 5467262

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250