JP2012128793A - Particle state calculation device and particle state calculation method - Google Patents

Particle state calculation device and particle state calculation method Download PDF

Info

Publication number
JP2012128793A
JP2012128793A JP2010281808A JP2010281808A JP2012128793A JP 2012128793 A JP2012128793 A JP 2012128793A JP 2010281808 A JP2010281808 A JP 2010281808A JP 2010281808 A JP2010281808 A JP 2010281808A JP 2012128793 A JP2012128793 A JP 2012128793A
Authority
JP
Japan
Prior art keywords
particle
calculation
state
region
virtual
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.)
Granted
Application number
JP2010281808A
Other languages
Japanese (ja)
Other versions
JP5645120B2 (en
Inventor
Ryo Onishi
領 大西
Keiko Takahashi
桂子 高橋
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 JP2010281808A priority Critical patent/JP5645120B2/en
Publication of JP2012128793A publication Critical patent/JP2012128793A/en
Application granted granted Critical
Publication of JP5645120B2 publication Critical patent/JP5645120B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To efficiently calculate a particle state through decentralized memory type parallel calculation.SOLUTION: A plurality of nodes 10 are apparatuses that constitute a particle state calculation system 1, and calculates states of particles arranged in their own regions as a plurality of divided calculation regions, in each time step. Each of the nodes 10 includes a particle state calculation unit 11 which calculates a state of particles in its own region; a period determination unit 12 which determines whether a time step is a time step having a predetermined period; an own-virtual-particle information output unit 13 which outputs information representing own region virtual particles used by other nodes in a time step of the predetermined period; an other-virtual-particle information input unit 14 which inputs other-region virtual particle information used for calculation of the own region; an own-virtual-particle state output unit 15 which outputs a state of own-region virtual particles; and an other-virtual-particle state input unit 16 which inputs states of other-region virtual particles. The particle state calculation unit 11 calculates the state of particles using information on other-area virtual particles.

Description

本発明は、分散メモリ型並列計算により粒子の状態を計算する粒子状態計算装置及び粒子状態計算方法に関する。   The present invention relates to a particle state calculation apparatus and a particle state calculation method for calculating a particle state by distributed memory type parallel calculation.

雲の発達初期において雲粒子(水粒子)の粒子系分布が急激に広がり(粒子系分布の分散が急激に大きくなり)、速やかな降雨開始をもたらす現象が長い間議論されている。その原因として、雲乱流による雲粒子の衝突促進効果、乱流エントレインメント、巨大凝結核、雲粒子の乱流拡散等が挙げられている。中でも、初めに挙げた雲乱流による衝突促進効果が最も長い間議論されてきた。それに伴い、乱流中での粒子の衝突頻度に関する研究が盛んに行われてきた。   In the early days of cloud development, the particle system distribution of cloud particles (water particles) spreads rapidly (dispersion of the particle system distribution increases rapidly), and a phenomenon that causes a quick start of rainfall has been discussed for a long time. The causes include the effect of cloud particle collision acceleration by cloud turbulence, turbulent entrainment, giant condensation nuclei, and turbulent diffusion of cloud particles. Above all, the collision promotion effect by cloud turbulence mentioned at the beginning has been discussed for the longest time. Along with this, research on the collision frequency of particles in turbulent flow has been actively conducted.

これまでに粒子の乱流衝突頻度を予測するモデルがいくつか提案されてきた。例えば、非特許文献1に記載されたような、直接数値計算(Direct Numerical Simulation,DNS)によって求められた衝突頻度因子データを基にしたものが提案されている。   Some models have been proposed to predict the turbulent collision frequency of particles. For example, a method based on collision frequency factor data obtained by direct numerical simulation (DNS) as described in Non-Patent Document 1 has been proposed.

Woittiez, E.J.P., Jonker, H.J.J. and Portela, L.M., “On the Combined Effects of Turbulence and Gravity onDroplet Collisions in Clouds: a Numerical Study”, Journal of the AtmosphericSciences, Vol. 66 (2009), pp.1926-1943.Woittiez, E.J.P., Jonker, H.J.J. and Portela, L.M., “On the Combined Effects of Turbulence and Gravity on Droplet Collisions in Clouds: a Numerical Study”, Journal of the AtmosphericSciences, Vol. 66 (2009), pp. 1926-1943.

しかしながら、上記の従来の方法で得られる予測結果は、以下のように高レイノルズ数での信頼性が確かめられていない。従来の研究で得られたデータは、非特許文献1に示されるように最大でも85というテイラーマイクロスケール基準レイノルズ数Reλ(=u´lλ/ν、ここでu´は速度変動強度、lλはテイラーマイクロスケール、νは動粘度係数である)で得られたデータである。そのレイノルズ数は、実際の雲乱流のReλ=103〜4という高レイノルズ数とはほど遠い。そのため、従来の乱流衝突モデルをそのまま雲乱流のシミュレーションに適用することの妥当性には疑問が残る。 However, the prediction results obtained by the above conventional method have not been confirmed to be reliable at high Reynolds numbers as follows. As shown in Non-Patent Document 1, the data obtained in the conventional research is a Taylor microscale reference Reynolds number Re λ (= u′l λ / ν, which is at most 85, where u ′ is the velocity fluctuation intensity, l is the Taylor microscale, ν is the kinematic viscosity coefficient). The Reynolds number is far from the high Reynolds number of Re λ = 10 3-4 in actual cloud turbulence. Therefore, the validity of applying the conventional turbulent collision model to the cloud turbulence simulation as it is remains doubtful.

これを解決するためには、できるだけ高いレイノルズ数における衝突頻度因子データが必要である。そして、そのためには大規模な並列計算が必須となる。並列計算には、各プロセスが同じ物理メモリを共有する共有メモリ型並列計算(openMPや自動並列化ライブラリなど)と、各プロセスがそれぞれ別個の物理メモリを使用する分散メモリ型並列計算(Message Passing Interface(MPI)ライブラリが一般的)の2種類に分けられる。   In order to solve this, collision frequency factor data at a Reynolds number as high as possible is required. For this purpose, large-scale parallel computation is essential. Parallel computation includes shared memory parallel computation (openMP, automatic parallelization library, etc.) where each process shares the same physical memory, and distributed memory parallel computation (Message Passing Interface) where each process uses separate physical memory. (MPI) library is generally).

前者は、せいぜい数十プロセスを使った並列計算しか実行できず、また使用できるメモリも限られる。従って、大規模な並列計算を実行できないという短所がある。これまでに、乱流中での粒子衝突に対する共有メモリ型(openMP等)の並列コードは開発されてきた。しかし、上記の理由により、共有メモリ型の並列計算では、高レイノルズ数における粒子衝突データを取得することは難しい。   The former can only execute parallel computation using tens of processes at most, and the memory that can be used is limited. Therefore, there is a disadvantage that large-scale parallel computation cannot be executed. So far, shared memory (openMP, etc.) parallel code for particle collisions in turbulent flow has been developed. However, for the above reasons, it is difficult to obtain particle collision data at a high Reynolds number in shared memory parallel computation.

一方、後者の分散メモリ型並列計算では、ハードウェアを寄せ集めれば、多くのプロセスを使用した並列計算が可能である。分散メモリ型並列計算では、それぞれのプロセスが(分散した)メモリを使用して、必要な時にデータ通信を行いながら計算を進める。データ通信速度はメモリアクセス速度に比べて極端に遅いため、効率的なデータ通信が求められる。   On the other hand, in the latter distributed memory type parallel computation, if hardware is gathered, parallel computation using many processes is possible. In the distributed memory type parallel calculation, each process uses a (distributed) memory, and advances the calculation while performing data communication when necessary. Since the data communication speed is extremely slower than the memory access speed, efficient data communication is required.

しかし、粒子衝突に対する分散メモリ型並列計算コードは開発されてこなかった。その一つの原因として、気相乱流計算に対して主にスペクトル法を用いたDNSが行われてきたことが挙げられる。分散メモリ型並列環境でスペクトル計算する場合には、全領域データの(全対全の)通信が発生する。膨大なデータ通信を効率的に処理する技術が必要となるため、現状では3次元領域分割に対応したスペクトル法は開発されていない。2次元領域分割による大規模並列計算では、一つ一つの領域は細長い、いわゆるペンシル型の形状になり、(表面積)/(体積)が大きくなる。粒子計算のような近傍プロセス間で情報の受け渡しが必要となる並列計算の場合、通信量は領域の表面積に比例するため、(表面積)/(体積)の増大は(通信量)/(計算量)の増大につながり、結果として並列効率の低下を引き起こす。そのため2次元分割では、粒子運動に対する大規模並列計算に向かない。これらのことから、2次元分割にしか対応していないスペクトル法を用いて乱流を計算し、高レイノルズ数における粒子衝突データを取得するには大きな困難があると考えられる。   However, a distributed memory type parallel computation code for particle collision has not been developed. One of the reasons is that DNS using a spectral method has been performed mainly for gas phase turbulent flow calculation. When spectrum calculation is performed in a distributed memory type parallel environment, communication of all area data (all-to-all) occurs. Since a technique for efficiently processing a huge amount of data communication is required, a spectrum method corresponding to three-dimensional region division has not been developed at present. In a large-scale parallel calculation based on two-dimensional region division, each region has a long, so-called pencil shape, and (surface area) / (volume) increases. In the case of parallel computation that requires passing information between neighboring processes such as particle computation, the amount of communication is proportional to the surface area of the region, so the increase in (surface area) / (volume) is (communication amount) / (computation amount). ), Resulting in a decrease in parallel efficiency. Therefore, two-dimensional division is not suitable for large-scale parallel computation for particle motion. From these facts, it is considered that there is a great difficulty in calculating turbulent flow using a spectral method that supports only two-dimensional division and acquiring particle collision data at a high Reynolds number.

本発明は、上記を鑑みてなされたものであり、効率的に分散メモリ型並列計算により粒子状態を計算し、その結果より大規模なモデルに対する計算を可能とする粒子状態計算装置及び粒子状態計算方法を提供することを目的とする。   The present invention has been made in view of the above, and a particle state calculation apparatus and a particle state calculation that can efficiently calculate a particle state by distributed memory type parallel calculation and can perform calculation for a larger model than the result. It aims to provide a method.

上記目的を達成するために、本発明に係る粒子状態計算装置は、複数の分割された計算領域の一つである自領域に配置される粒子の状態を時間ステップ毎に繰り返し計算する粒子状態計算装置であって、各時間ステップにおける自領域の粒子の状態を計算する粒子状態計算手段と、粒子状態計算手段における対象の時間ステップが、予め設定された周期の時間ステップか否かを判断する周期判断手段と、周期判断手段によって予め設定された周期の時間ステップであると判断された時間ステップに、粒子状態計算手段によって計算された粒子の位置に基づいて、当該粒子から、自領域に隣接する分割された計算領域である隣接領域において計算に用いられる自領域仮想粒子を特定して、特定した自領域仮想粒子を示す情報を当該隣接領域の粒子の状態を計算する別の粒子状態計算装置に出力する自仮想粒子情報出力手段と、別の粒子状態計算装置から、自領域において計算に用いられる他領域仮想粒子を特定する情報を入力する他仮想粒子情報入力手段と、各時間ステップにおいて粒子状態計算手段によって算出された自領域仮想粒子の状態を示す情報を別の粒子状態計算装置に出力する自仮想粒子状態出力手段と、各時間ステップにおいて別の粒子状態計算装置から他領域仮想粒子の状態を示す情報を入力する他仮想粒子状態入力手段と、粒子状態計算手段による計算に応じた情報を出力する出力手段と、を備え、粒子状態計算手段は、他仮想粒子情報入力手段によって入力される他領域仮想粒子を特定する情報、及び他仮想粒子状態入力手段によって入力された他領域仮想粒子の状態を示す情報を用いて粒子の状態を計算することを特徴とする。   In order to achieve the above object, the particle state calculation apparatus according to the present invention is a particle state calculation that repeatedly calculates the state of particles arranged in its own region, which is one of a plurality of divided calculation regions, at each time step. A device for calculating a state of a particle in its own region at each time step, and a period for determining whether or not the target time step in the particle state calculation unit is a time step of a preset period Based on the position of the particle calculated by the particle state calculation means, the time step determined by the determination means and the time step of the period preset by the period determination means is adjacent to the own region from the particle. The self-region virtual particles used for the calculation in the adjacent region that is the divided calculation region are identified, and information indicating the identified self-region virtual particles is stored in the adjacent region. Self-virtual particle information output means for outputting to another particle state calculation device for calculating the state of the other, and other virtual for inputting information specifying other region virtual particles used for calculation in the own region from another particle state calculation device Particle information input means, self-virtual particle state output means for outputting information indicating the state of the self-region virtual particles calculated by the particle state calculation means at each time step to another particle state calculation device, and separate at each time step Particle state calculation means, comprising: other virtual particle state input means for inputting information indicating the state of the virtual particle in the other region from the particle state calculation apparatus, and output means for outputting information according to the calculation by the particle state calculation means Are information specifying other region virtual particles input by other virtual particle information input means, and other region virtual particles input by other virtual particle state input means And calculating the state of particles using the information indicating the state.

本発明に係る粒子状態計算装置では、予め設定された周期の時間ステップにおいて自領域における自領域仮想粒子が特定されて、特定された自領域仮想粒子を示す情報が隣接領域の状態を計算する別の粒子状態計算装置に出力される。その一方で、別の粒子状態計算装置から、自領域において計算に用いられる他領域仮想粒子を特定する情報が入力される。そして、各時間ステップにおいて、自領域仮想粒子の状態を示す情報が出力されると共に、他領域仮想粒子の状態を示す情報が入力される。入力された他領域仮想粒子を特定する情報、及び当該粒子の状態を示す情報を用いて自領域の粒子の状態が計算される。即ち、粒子状態計算装置間でやり取りする情報に係る粒子を限定された仮想粒子とすることで、各粒子状態計算装置で必要な情報を確実に入力させると共に粒子状態計算装置間の通信を効率的にする。また、仮想粒子を特定する情報のやりとりを、予め設定された周期の時間ステップとすることで粒子状態計算装置間の通信が更に効率的になる。これによって、本発明に係る粒子状態計算装置によれば、効率的に分散メモリ型並列計算により粒子状態を計算し、その結果より大規模なモデルに対する計算が可能となる。   In the particle state calculation apparatus according to the present invention, the local region virtual particles in the local region are specified in a time step of a preset period, and the information indicating the specified local region virtual particles calculates the state of the adjacent region. Is output to the particle state calculation device. On the other hand, information specifying other region virtual particles used for calculation in the own region is input from another particle state calculation device. In each time step, information indicating the state of the own region virtual particles is output and information indicating the state of the other region virtual particles is input. The state of the particle in its own region is calculated using the information specifying the other region virtual particles and the information indicating the state of the particle. That is, by making particles related to information exchanged between particle state calculation devices limited virtual particles, it is possible to reliably input necessary information in each particle state calculation device and efficiently communicate between particle state calculation devices. To. Further, communication between the particle state calculation devices becomes more efficient by exchanging information for specifying virtual particles as a time step having a preset period. Thereby, according to the particle state calculation apparatus according to the present invention, the particle state can be efficiently calculated by the distributed memory type parallel calculation, and the result can be calculated for a larger model.

粒子は、流体中の粒子であり、粒子状態計算手段は、有限差分法によって流体の状態を算出して、当該流体の影響を考慮して粒子の状態を計算する、ことが望ましい。この構成によれば、流体中の粒子に係る大規模なモデル計算が可能となる。   The particles are particles in the fluid, and the particle state calculation means preferably calculates the state of the fluid by a finite difference method and calculates the state of the particles in consideration of the influence of the fluid. According to this configuration, a large-scale model calculation related to particles in a fluid can be performed.

粒子状態計算手段は、他仮想粒子情報入力手段によって入力される他領域仮想粒子を特定する情報に基づいて、粒子間の近傍関係を特定して、当該近傍関係に基づいて粒子の状態を計算することが望ましい。この構成によれば、粒子間の衝突等の粒子間の相互作用が生じるモデルの計算を確実に行うことができる。   The particle state calculation means specifies the proximity relation between particles based on the information specifying the other region virtual particles input by the other virtual particle information input means, and calculates the state of the particles based on the neighborhood relation. It is desirable. According to this configuration, it is possible to reliably perform calculation of a model in which interaction between particles such as collision between particles occurs.

ところで、本発明は、上記のように粒子状態計算装置の発明として記述できる他に、以下のように粒子状態計算方法の発明としても記述することができる。これはカテゴリが異なるだけで、実質的に同一の発明であり、同様の作用及び効果を奏する。   By the way, the present invention can be described as an invention of a particle state calculation apparatus as described above, and can also be described as an invention of a particle state calculation method as follows. This is substantially the same invention only in different categories, and has the same operations and effects.

即ち、本発明に係る粒子状態計算方法は、複数の分割された計算領域の一つである自領域に配置される粒子の状態を時間ステップ毎に繰り返し計算する粒子状態計算装置による粒子状態計算方法であって、各時間ステップにおける自領域の粒子の状態を計算する粒子状態計算ステップと、粒子状態計算ステップにおける対象の時間ステップが、予め設定された周期の時間ステップか否かを判断する周期判断ステップと、周期判断ステップにおいて予め設定された周期の時間ステップであると判断された時間ステップに、粒子状態計算ステップにおいて計算された粒子の位置に基づいて、当該粒子から、自領域に隣接する分割された計算領域である隣接領域において計算に用いられる自領域仮想粒子を特定して、特定した自領域仮想粒子を示す情報を当該隣接領域の粒子の状態を計算する別の粒子状態計算装置に出力する自仮想粒子情報出力ステップと、別の粒子状態計算装置から、自領域において計算に用いられる他領域仮想粒子を特定する情報を入力する他仮想粒子情報入力ステップと、各時間ステップにおいて粒子状態計算ステップにおいて算出された自領域仮想粒子の状態を示す情報を別の粒子状態計算装置に出力する自仮想粒子状態出力ステップと、各時間ステップにおいて別の粒子状態計算装置から他領域仮想粒子の状態を示す情報を入力する他仮想粒子状態入力ステップと、粒子状態計算ステップにおける計算に応じた情報を出力する出力ステップと、を含み、粒子状態計算ステップにおいて、他仮想粒子情報入力ステップにおいて入力される他領域仮想粒子を特定する情報、及び他仮想粒子状態入力ステップにおいて入力された他領域仮想粒子の状態を示す情報を用いて粒子の状態を計算することを特徴とする。   That is, the particle state calculation method according to the present invention is a particle state calculation method by a particle state calculation device that repeatedly calculates the state of particles arranged in its own region, which is one of a plurality of divided calculation regions, for each time step. A particle state calculation step for calculating the state of the particle in its own region at each time step, and a period determination for determining whether or not the target time step in the particle state calculation step is a time step of a preset period. A step adjacent to its own region from the particle based on the position of the particle calculated in the particle state calculation step to the time step determined to be a time step of a period set in advance in the step and the cycle determination step The self-region virtual particles used for the calculation are specified in the adjacent region that is the calculated region, and the identified self-region virtual particles are indicated. The self-virtual particle information output step that outputs the information to another particle state calculation device that calculates the state of particles in the adjacent region, and the other region virtual particles used for the calculation in the own region are identified from another particle state calculation device Another virtual particle information input step for inputting information to be performed, and a self virtual particle state output step for outputting information indicating the state of the own region virtual particles calculated in the particle state calculation step in each time step to another particle state calculation device And another virtual particle state input step for inputting information indicating the state of the other region virtual particles from another particle state calculation device at each time step, and an output step for outputting information according to the calculation in the particle state calculation step, In the particle state calculation step, other region virtual particles input in the other virtual particle information input step are specified. Information, and characterized by computing the condition of the particles using the information indicating the state of the input other areas virtual particles in the other virtual particle state input step.

本発明によれば、粒子状態計算装置間でやり取りする情報に係る粒子を限定された仮想粒子とすることで、各粒子状態計算装置で必要な情報を確実に入力させると共に粒子状態計算装置間の通信を効率的にする。また、仮想粒子を特定する情報のやりとりを、予め設定された周期の時間ステップとすることで粒子状態計算装置間の通信が更に効率的になる。これによって、本発明によれば、効率的に分散メモリ型並列計算により粒子状態を計算し、その結果より大規模なモデルに対する計算が可能となる。   According to the present invention, the particles related to information exchanged between the particle state calculation devices are defined as limited virtual particles, so that necessary information can be surely input in each particle state calculation device and between the particle state calculation devices. Make communication efficient. Further, communication between the particle state calculation devices becomes more efficient by exchanging information for specifying virtual particles as a time step having a preset period. Thus, according to the present invention, it is possible to efficiently calculate a particle state by distributed memory type parallel calculation, and to calculate a model larger than the result.

本発明の実施形態に係る粒子状態計算装置であるノードの機能構成を示す図である。It is a figure which shows the function structure of the node which is the particle | grain state calculation apparatus which concerns on embodiment of this invention. 流体及び粒子の計算領域及び(流体計算における)計算領域の分割を示す図である。It is a figure which shows the division | segmentation of the calculation area | region (in fluid calculation) of a fluid and a particle | grain. 計算領域のセルへの分割を示す図である。It is a figure which shows the division | segmentation into the cell of a calculation area. 複数のノードにより構成される粒子状態計算システム全体で実行される処理を示すフローチャートである。It is a flowchart which shows the process performed with the whole particle state calculation system comprised by a some node. 本発明の実施形態に係る粒子状態計算装置である各ノードで実行される処理(粒子状態計算方法)を示すフローチャートである。It is a flowchart which shows the process (particle state calculation method) performed by each node which is the particle state calculation apparatus which concerns on embodiment of this invention. 図5のフローチャートの各処理に応じた計算領域における粒子を示す図であり、説明のために平面図としている。It is a figure which shows the particle | grains in the calculation area | region according to each process of the flowchart of FIG. 5, and is made into the top view for description. 本実施形態に係る粒子状態計算装置及び粒子状態計算方法により得られる粒子の衝突頻度因子の結果を示すグラフである。It is a graph which shows the result of the collision frequency factor of the particle | grains obtained by the particle | grain state calculation apparatus and particle state calculation method which concern on this embodiment. 本実施形態に係る粒子状態計算装置及び粒子状態計算方法により得られるストークス数が1の粒子の衝突頻度因子の結果を示すグラフである。It is a graph which shows the result of the collision frequency factor of the particle | grains whose Stokes number is 1 obtained by the particle | grain state calculation apparatus and particle | grain state calculation method which concern on this embodiment. N256計算に対して演算プロセス数を変化させた場合の(a)1時間ステップに要した演算時間、(b)演算速度を示すグラフである。It is a graph which shows the calculation time required for (a) 1 hour step at the time of changing the number of calculation processes with respect to N256 calculation, and (b) calculation speed.

以下、図面と共に本発明に係る粒子状態計算装置及び粒子状態計算方法の好適な実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。   Hereinafter, preferred embodiments of a particle state calculation apparatus and a particle state calculation method according to the present invention will be described in detail with reference to the drawings. In the description of the drawings, the same elements are denoted by the same reference numerals, and redundant description is omitted.

図1に本実施形態に係る粒子状態計算装置であるノード10を示す。ノード10は、別のノード10と共に粒子状態計算システム1を構成する。粒子状態計算システム1は、例えば、雲を構成する水粒子等の粒子の状態を計算(シミュレーション)するシステムである。各ノード10は、CPU(Central Processing Unit)、メモリ、ハードディスク等のハードウェアを備えるコンピュータである。各ノード10はイントラネットやインターネット等のネットワークで接続されており、各ノード10間で情報の送受信が可能になっている。粒子の状態の計算は、各ノード10が別個の物理メモリを用いて分散して計算を行う分散メモリ型並列計算によって行われる。ここで各ノード10における、計算の処理を(演算)プロセスと呼ぶ。   FIG. 1 shows a node 10 that is a particle state calculation apparatus according to the present embodiment. The node 10 constitutes the particle state calculation system 1 together with another node 10. The particle state calculation system 1 is a system that calculates (simulates) the state of particles such as water particles constituting a cloud, for example. Each node 10 is a computer having hardware such as a CPU (Central Processing Unit), a memory, and a hard disk. Each node 10 is connected by a network such as an intranet or the Internet, and information can be transmitted and received between the nodes 10. The calculation of the particle state is performed by a distributed memory type parallel calculation in which each node 10 performs a calculation by using a separate physical memory. Here, the calculation process in each node 10 is referred to as an (arithmetic) process.

計算対象の粒子は、予め大きさが設定される計算領域に配置される。計算領域は複数の領域に分割される。各ノード10は、分割された領域の一つが計算対象として割り当てられて、割り当てられた領域である自領域に配置される粒子の状態を時間ステップ毎に繰り返し計算する。計算される粒子の状態は、具体的には粒子の位置及び速度である。また、計算領域には流体(より具体的には、非圧縮流体)が流れており、粒子は流体中にあり流体の影響を受けることとしてもよい(即ち、流体についての計算も行う)。流体は、例えば、水粒子の状態に影響を与える気流である。計算される流体の状態は、具体的には流体の速度及び圧力である。   The particles to be calculated are arranged in a calculation area whose size is set in advance. The calculation area is divided into a plurality of areas. Each node 10 is assigned one of the divided areas as a calculation target, and repeatedly calculates the state of particles arranged in its own area, which is the assigned area, for each time step. The calculated particle state is specifically the position and velocity of the particle. In addition, a fluid (more specifically, an incompressible fluid) flows in the calculation region, and the particles may be in the fluid and affected by the fluid (that is, the fluid is also calculated). The fluid is, for example, an air flow that affects the state of water particles. The calculated fluid state is specifically the velocity and pressure of the fluid.

計算対象の領域が隣接しているノード10同士は、粒子の移動等に応じて粒子の情報を送受信して、粒子の計算に利用する。   The nodes 10 adjacent to each other in the calculation target area transmit and receive particle information according to the movement of the particle and the like, and use the particle information for the particle calculation.

なお、粒子状態計算システム1には、分散メモリ型並列計算を統括的に制御する装置も含まれている。その装置が計算のためのパラメータの入力、計算領域の分割、及び各ノード10への計算の指示等の分散メモリ型並列計算を統括的に制御する処理を行う。当該装置が複数のノード10のうちの何れかであってもよい。   The particle state calculation system 1 also includes an apparatus for comprehensively controlling the distributed memory type parallel calculation. The apparatus performs processing for overall control of distributed memory type parallel calculation such as input of parameters for calculation, division of a calculation area, and calculation instruction to each node 10. The device may be any one of the plurality of nodes 10.

ここで、粒子及び流体の計算について説明する。まず、流体の支配方程式と数値計算法について説明する。非圧縮流体の方程式は、次の連続の式と、ナビエ−ストークス方程式である。

ここで、uは流体の速度ベクトル、pは流体の圧力を示す変数である。tは時間ステップを示す変数である。添え字i,jは、x,y,z何れかの方向を表しており、式(1)及び(2)は総和規約に従って表記されている。全ての変数は、代表長さLと代表速度Uとによって無次元化されている。また、Reは動粘性係数νを用いてRe=U/νと定義されるパラメータとして与えられる値である。例えば、νを1気圧298Kでの値1.5×10−5/sに設定される。式(2)の右辺最終項fは外力項である。
Here, calculation of particles and fluid will be described. First, the governing equation of the fluid and the numerical calculation method will be described. The incompressible fluid equation is the following continuity equation and the Navier-Stokes equation:

Here, u i is a fluid velocity vector, and p is a variable indicating the fluid pressure. t is a variable indicating a time step. The subscripts i and j represent any direction of x, y, and z, and the expressions (1) and (2) are expressed according to the sum rules. All variables are made dimensionless by the representative length L 0 and the representative speed U 0 . Re is a value given as a parameter defined as Re = U 0 L 0 / ν using the kinematic viscosity coefficient ν. For example, ν is set to a value of 1.5 × 10 −5 m 2 / s at 1 atmosphere 298K. The last term f i on the right side of Equation (2) is an external force term.

対流項の差分の計算には、Morinishi, Y., Lund, T.,Vasilyev, O. and Moin, P., “Fully Conservative Higher Order Finite DifferenceSchemes for Incompressible Flow”, Journal of Computational Physics, Vol. 143(1998), pp.90-124. (4th-order scheme for Non-linear term)に示される保存型4次中心差分スキーム、粘性項の差分の計算には4次中心差分法を用いることができる。時間進行(時間発展)の計算には、2次のルンゲ−クッタ法を用い、時間発展後の速度が連続の式を満たすように速度と圧力とを同時緩和させながら反復計算するHSMAC法(Hirt, C.W. and Cook, J.L., “Calculating Three-Dimensional Flowsaround Structures and over Rough Terrain”, Journal of Computational Physics,Vol. 10 (1972), pp.324-340)を用いることができる。その反復計算の中での空間差分法には2次中心差分法を用いることができる。反復計算の収束判定条件は、例えば、∂/(U/Δ)<10−3(Δは計算格子幅)とすることができる。 For the calculation of the convection difference, Morinishi, Y., Lund, T., Vasilyev, O. and Moin, P., “Fully Conservative Higher Order Finite Difference Schemes for Incompressible Flow”, Journal of Computational Physics, Vol. 143 ( 1998), pp. 90-124. (4th-order scheme for Non-linear term), a conservative fourth-order central difference scheme, and the fourth-order central difference method can be used for the calculation of the difference of the viscosity term. For the calculation of time progression (time evolution), the second-order Runge-Kutta method is used, and the HSMAC method (Hirt) is used for iterative calculation while simultaneously relaxing the velocity and pressure so that the velocity after time evolution satisfies the continuous equation. , CW and Cook, JL, “Calculating Three-Dimensional Flowsaround Structures and over Rough Terrain”, Journal of Computational Physics, Vol. 10 (1972), pp.324-340). As the spatial difference method in the iterative calculation, a second-order center difference method can be used. The convergence determination condition for iterative calculation can be, for example, ∂ i u i / (U 0 / Δ) <10 −3 (Δ is the calculation grid width).

外力項fには、Reduced-CommunicationForcing(RCF)法を用いることができる(Onishi, R, Baba, Y. andTakahashi, K., “Efficient Large-Scale Forcing in Finite-Difference Simulationsof Steady Isotropic Turbulence”, Topics on Chaotic Systems -selected papersfrom CHAOS 2010 international conference, Skiadas, C.H. et al. eds.,World Scientific Publishing Co. (in press))。これは、大スケール運動にのみエネルギーを注入する大スケール強制法の一つであり、有限差分法において高並列効率を達成可能な強制法である。例えば、波数kの大きさが|k|<2.5の大スケール運動のエネルギーが保たれるように設定される。 The external force term f i, can be used Reduced-CommunicationForcing (RCF) method (Onishi, R, Baba, Y. andTakahashi, K., "Efficient Large-Scale Forcing in Finite-Difference Simulationsof Steady Isotropic Turbulence", Topics on Chaotic Systems -selected papersfrom CHAOS 2010 international conference, Skiadas, CH et al. eds., World Scientific Publishing Co. (in press)). This is one of the large-scale forcing methods in which energy is injected only into large-scale motion, and is a forcing method that can achieve high parallel efficiency in the finite difference method. For example, the magnitude of the wave number k is set so that the energy of large-scale motion with | k | <2.5 is maintained.

続いて、流体の計算領域と並列計算法について説明する。図2に示すように、一辺2πLの立方体計算領域に対して、N個のスタッガード格子を配する。つまり、計算格子幅Δ=2πL/Nとなる。ここで、Nは予め設定あるいは入力されるパラメータである。具体的な計算コードは、MPIライブラリを用いたFortran90コードで記述することができる。これは、3次元領域分割に対応しており、立方体計算領域の座標軸であるx、y及びzの各方向を等間隔に分割することができる。各方向の分割数M、M及びMは、MPIプロセス総数MprocとMproc=Mの関係にある。このとき、各プロセスはn×n×n(n=N/M、n=N/M及びn=N/M)の大きさを持った“MPI分割領域”内の流体及び粒子運動の計算を担当する。M、M及びMは、任意のNの約数の値に予め設定あるいは入力されるパラメータである。なお、上記の例では、Nに等間隔に分割することとしているが、N,N,Nと各方向に分割数を変えることもできる。 Next, the fluid calculation area and the parallel calculation method will be described. As shown in FIG. 2, N 3 staggered lattices are arranged in a cubic calculation region having a side of 2πL 0 . That is, the calculation lattice width Δ = 2πL 0 / N. Here, N is a parameter set or input in advance. A specific calculation code can be described by a Fortran 90 code using an MPI library. This corresponds to three-dimensional area division, and the x, y, and z directions, which are coordinate axes of the cube calculation area, can be divided at equal intervals. The division number M x in each direction, M y and M z are in relationships of MPI processes total M proc and M proc = M x M y M z. In this case, each process having an n x × n y × n magnitude of z (n x = N / M x, n y = N / M y and n z = N / M z) "MPI divided region" Responsible for the calculation of fluid and particle motion within M x , M y, and M z are parameters that are set or input in advance as arbitrary divisor values of N. In the above example, N 3 is divided at equal intervals. However, the number of divisions can be changed in each direction such as N x , N y , and N z .

例えば、以下の表に示す計算条件で気相乱流場の計算が行われる。全てのケースで、クーラン数(UΔt/Δ)が0.2以下になるように時間刻みΔtを設定した。ここで、時間刻みΔtは繰り返し計算の時間ステップの間隔である。但し、粒子の大きさによっては、口述するようにΔtを更に小さく設定しなければならない場合もある。
For example, the gas phase turbulent flow field is calculated under the calculation conditions shown in the following table. In all cases, the time increment Δt was set so that the Courant number (U 0 Δt / Δ) was 0.2 or less. Here, the time step Δt is the time step interval of the repeated calculation. However, depending on the size of the particles, it may be necessary to set Δt to be smaller as dictated.

引き続いて、粒子の状態の計算について説明する。粒子の運動は、例えば、ラグラジアン粒子追跡法を用いて計算することができる。線形ストークス抗力を仮定すると支配方程式は次式となる。

ここで、vは粒子速度、u(アンダーバーの記載は省略する)は粒子位置における流体速度を示す変数である。ここで、添え字iはx,y,z方向を表す。τは粒子緩和時間である。式(1)と同様に全ての変数は、代表長さLと代表速度Uとによって無次元化されている。また、粒子に働く重力は無視する。粒子緩和時間τは、次式で計算される。

ここで、rは粒子半径、ρ及びρはそれぞれ粒子及び流体の密度であり、予め設定あるいは入力されるパラメータである。例えば、雲粒を想定して1気圧298Kでの水及び空気の密度の値から、ρ/ρ=840とする。線形ストークス抗力モデルは粒子レイノルズ数Re(=2r|v−u|/ν)が1に比べて十分小さい場合に適用可能である。雲粒を想定した場合、およそr=40μmのときRe=1である。それ以上大きな粒子の場合には非線形抗力モデルを用いるべきであるが、簡単のために全ての場合で線形ストークス抗力モデルを用いてもよい。また、現実の雲では水滴の空気に対する質量割合最大でも10−3程度であるので、粒子は希薄であり流体運動に影響を与えないとしてもよい。粒子位置における流体速度uは、粒子近傍の8点の速度データから線形補間により算出される。時間進行の計算には、流体計算と同じく、2次のルンゲ−クッタ法を用いる。
Subsequently, the calculation of the particle state will be described. Particle motion can be calculated, for example, using Lagrangian particle tracking. Assuming linear Stokes drag, the governing equation is

Here, v p is a particle velocity, and u i (the description of the underbar is omitted) is a variable indicating the fluid velocity at the particle position. Here, the subscript i represents the x, y, and z directions. τ p is the particle relaxation time. Similar to equation (1), all variables are made dimensionless by the representative length L 0 and the representative speed U 0 . Also, the gravity acting on the particles is ignored. The particle relaxation time τ p is calculated by the following equation.

Here, r is the particle radius, and ρ p and ρ f are the density of the particle and the fluid, respectively, which are parameters set or input in advance. For example, assuming a cloud particle, ρ p / ρ f = 840 from the density values of water and air at 1 atmosphere 298K. The linear Stokes drag model is applicable when the particle Reynolds number Re p (= 2r | v p −u | / ν) is sufficiently smaller than 1. Assuming cloud droplets, Re p = 1 when r = 40 μm. For larger particles, a nonlinear drag model should be used, but for simplicity, a linear Stokes drag model may be used in all cases. Moreover, since the maximum mass ratio of water droplets to air is about 10 −3 in an actual cloud, the particles may be dilute and do not affect the fluid motion. The fluid velocity u at the particle position is calculated by linear interpolation from the eight velocity data in the vicinity of the particle. For the calculation of time progression, the second-order Runge-Kutta method is used as in the fluid calculation.

続いて、粒子の衝突の計算について説明する。衝突は2粒子間衝突のみを考慮する。2粒子がΔt間に移動する軌跡を求めて、それらの軌跡の最小距離が粒子直径以下であるか否かを判断して、粒子直径以下であれば衝突とみなす。衝突後には一方の粒子を消滅させる。従って、一回衝突が起こると粒子の総数が1個減少する。これを利用して、粒子総数の減少率から衝突頻度N及び衝突頻度因子K(=2N/n 、nは粒子数密度)を算出する。ある時間ステップnにおける粒子総数N 、1ステップ前の粒子総数N n−1及び計算領域の体積V(=(2πL)から、n−1/2ステップにおける衝突頻度N n−1/2は以下のように算出される。

この衝突頻度とn−1/2ステップにおける粒子数密度n n−1/2(=0.5(N n−1+N )/V)から、n−1/2ステップにおける衝突頻度因子を次の式により算出する。

この衝突頻度因子を時間平均することによって平均衝突因子を算出する。
Next, particle collision calculation will be described. The collision considers only the collision between two particles. A trajectory in which two particles move between Δt is obtained, and it is determined whether or not the minimum distance of these trajectories is equal to or smaller than the particle diameter. One particle disappears after the collision. Therefore, once a collision occurs, the total number of particles decreases by one. Using this, the collision frequency N c and the collision frequency factor K c (= 2N c / n p 2 , n p is the particle number density) are calculated from the decrease rate of the total number of particles. From the particle total at a certain time step n N p n, 1 Step particles total number of previous N p n-1 and the calculation area volume V d (= (2πL 0) 3), collision in n-1/2 step frequency N c n-1 / 2 is calculated as follows.

This collision frequency and n-1/2 particle number in the step density n p n-1/2 ( = 0.5 (N p n-1 + N p n) / V d), collision in n-1/2 step The frequency factor is calculated by the following formula.

The average collision factor is calculated by averaging the collision frequency factor over time.

計算領域内にN個の粒子が存在する場合、特殊な方法を使わなければ、N(N−1)/2〜0.5N 回の衝突判定計算をしなければならない。衝突判定回数を削減する方法として分子動力学法で使用されるセルインデックス法(Allen, M.P., and Tildesley, D.J., “Computer Simulation of Liquids”,Oxford University Press, (1987), p.408)がある。これは、図3に示すように衝突頻度領域をセルに小分けし、ある粒子を含むセルとそのセルとを囲むx,y,z各方向の前後、合計27個のセルの中の粒子との衝突を判定する。但し、逐次的に衝突を判定していく場合には、27個ではなく、8個のセル(例えば、対象粒子を含むセルとx,y,z各方向前方側のセル)を判定の対象とすれば、重複判定がなく効率がよい。このセルインデックス法では、粒子一つ一つに番号を付けた上で、何番と何番の粒子がどのセル内にあるかを管理するリスト(セルインデックス)を作成する。 If there are N p particles in the calculation area, N p (N p −1) / 2 to 0.5 N p two collision determination calculations must be performed unless a special method is used. Cell index method (Allen, MP, and Tildesley, DJ, “Computer Simulation of Liquids”, Oxford University Press, (1987), p. 408) used in molecular dynamics as a method to reduce the number of collision determinations . As shown in FIG. 3, the collision frequency region is subdivided into cells, and a cell including a certain particle and particles in a total of 27 cells before and after the x, y, and z directions surrounding the cell. Determine collision. However, in the case of sequentially determining collisions, instead of 27 cells, 8 cells (for example, cells including target particles and cells ahead in the x, y, and z directions) are determined. If this is the case, there is no duplication judgment and efficiency is improved. In this cell index method, a number is assigned to each particle, and a list (cell index) for managing what number and what number particle is in which cell is created.

図3に示すように計算領域をMcell 個のセルに分割した場合、各セル内の平均粒子数Np,cellはNp,cell=N/Mcell となる。ある粒子一つに対する衝突判定回数は、粒子を含むセル内の他粒子との衝突判定回数(Np,cell−1)/2と、x,y,z各方向後方側のセル内粒子との衝突判定回数7Np,cellの和、つまり(Np,cell−1)/2+7Np,cellと見積もられる。結局、衝突判定回数の総数は、N×((Np,cell−1)/2+7Np,cell)〜7.5N /Mcell である。つまり、Mcell>2.5に設定すれば衝突判定回数の回数を削減できる。この見積もりでは、Mcellを大きくすればするほど衝突判定回数の回数は小さくなる。しかし、セルの中に粒子がほとんどないような状況では、セルの中に粒子があるかないかを調べる処理が無駄になる。そのため、Np,cellが1以上になるようにMcellを設定するのが望ましい。 As shown in FIG. 3, when the calculation region is divided into three cells of M cell , the average number of particles N p, cell in each cell is N p, cell = N p / M cell 3 . The number of collision determinations for one particle is the number of collision determinations (Np , cell −1) / 2 with other particles in the cell containing the particles, and the in-cell particles in the x, y, z direction rear side. The sum of the collision determination times 7N p, cell , that is, (N p, cell −1) / 2 + 7N p, cell is estimated. After all, the total number of collision determination count is a N p × ((N p, cell -1) / 2 + 7N p, cell) ~7.5N p 2 / M cell 3. That is, if M cell > 2.5, the number of collision determinations can be reduced. In this estimation, the larger the M cell , the smaller the number of collision determinations. However, in a situation where there are almost no particles in the cell, the process of checking whether there is a particle in the cell is wasted. Therefore, it is desirable to set M cell so that N p, cell is 1 or more.

本実施形態では、有限差分法を用いて気相乱流を計算し、乱流中で運動する粒子同士の衝突を検出する。MPIライブラリを用いた分散メモリ型並列計算に対応させるためには、下記の3つの対応するMPI通信の機能を実現しなければならない。即ち、当該機能に対応するMPI通信プログラムを記述しなければならない。
(A)差分計算に必要な袖領域の気相データの取得
(B)MPI分割領域(個々のノード10に割り当てられた計算領域)からはみ出した粒子を隣のプロセスに移動させる処理
(C)MPI分割領域の境界近傍にある粒子情報の共有
ある粒子ペアがMPI分割領域の境界をまたいで近接する場合、その情報を両側のプロセスが共有していなければ衝突を検出できない可能性がある。この問題に対処するため上記の(C)の操作が必要になる。本発明は、セルインデックスを活用して、(B)(C)を効率的に処理するためものである。
In the present embodiment, gas phase turbulence is calculated using a finite difference method, and collision between particles moving in the turbulent flow is detected. In order to support distributed memory type parallel computation using the MPI library, the following three corresponding MPI communication functions must be realized. That is, an MPI communication program corresponding to the function must be described.
(A) Acquisition of gas phase data of sleeve region necessary for difference calculation (B) Processing to move particles protruding from MPI division region (calculation region assigned to each node 10) to the next process (C) MPI When a particle pair sharing particle information in the vicinity of the boundary of the divided region is close to the boundary of the MPI divided region, the collision may not be detected unless the processes on both sides share the information. In order to deal with this problem, the above operation (C) is required. The present invention is for efficiently processing (B) and (C) by utilizing a cell index.

引き続いて、ノード10の本発明の係る機能を詳細に説明する。図1に示すようにノード10は、粒子状態計算部11と、周期判断部12と、自仮想粒子情報出力部13と、他仮想粒子情報入力部14と、自仮想粒子状態出力部15と、他仮想粒子状態入力部16と、出力部17とを備えて構成される。なお、各構成要素の更に具体的な機能、各構成要素によって行われる更に具体的な処理については、後述する処理フローの説明で説明する。これらの機能は、例えばノード10においてプログラムが実行されることによって実現される。   Subsequently, the function according to the present invention of the node 10 will be described in detail. As shown in FIG. 1, the node 10 includes a particle state calculation unit 11, a period determination unit 12, an own virtual particle information output unit 13, another virtual particle information input unit 14, an own virtual particle state output unit 15, The other virtual particle state input unit 16 and the output unit 17 are provided. Note that more specific functions of each component and more specific processing performed by each component will be described in the description of the processing flow described later. These functions are realized, for example, by executing a program in the node 10.

粒子状態計算部11は、各時間ステップにおける自領域の粒子の状態を計算する粒子状態計算手段である。自領域とは、自ノード10に割り当てられた計算領域である。粒子状態計算部11は、具体的には上述した方法によって粒子の状態を計算する。なお、計算に必要なパラメータについては、上述した分散メモリ型並列計算を統括的に制御する装置から入力される。また、計算に必要な計算式等は予め粒子状態計算部11に記憶されており、それらが読み出されて計算が行われる(他の構成要素についても同様)。   The particle state calculation unit 11 is a particle state calculation unit that calculates the state of particles in its own region at each time step. The own area is a calculation area assigned to the own node 10. Specifically, the particle state calculation unit 11 calculates the particle state by the method described above. Parameters necessary for the calculation are input from a device that comprehensively controls the above-described distributed memory type parallel calculation. Further, the calculation formulas and the like necessary for the calculation are stored in advance in the particle state calculation unit 11 and are read and calculated (the same applies to other components).

粒子状態計算部11は、粒子間の相互作用(本実施形態では、粒子同士の衝突)の判断、計算のために上述したようにセルインデックス法に応じた処理を行う。即ち、各粒子に粒子を特定する情報である番号を付与する。粒子状態計算部11は、自領域にある粒子の番号を、当該粒子が含まれるセルを特定する情報に対応付けて記憶、管理する。セルは、上述したように自領域を更に分割した領域である。   The particle state calculation unit 11 performs processing according to the cell index method as described above for the determination and calculation of the interaction between particles (in this embodiment, collision between particles). That is, each particle is given a number that is information for identifying the particle. The particle state calculation unit 11 stores and manages the number of the particle in its own area in association with the information specifying the cell containing the particle. As described above, the cell is a region obtained by further dividing the self region.

粒子状態計算部11は、後述するように、他仮想粒子情報入力部14によって入力される他領域仮想粒子を特定する情報、及び他仮想粒子状態入力部16によって入力された他領域仮想粒子の状態を示す情報を用いて粒子の状態を計算する。仮想粒子とは、自領域(自ノード10)における状態の計算対象の粒子ではあるが、自領域に隣接する分割された計算領域である隣接領域(別のノード10)における粒子の状態の計算に必要な粒子である。各ノード10間で、仮想粒子の情報を送受信して、その情報を粒子の計算に利用する。自領域にある粒子のうち、隣接領域において計算に用いられる仮想粒子を自領域仮想粒子と呼ぶ。隣接領域にある粒子のうち、自領域において計算に用いられる仮想粒子を他領域仮想粒子と呼ぶ。   As will be described later, the particle state calculation unit 11 specifies information on other region virtual particles input by the other virtual particle information input unit 14 and the state of the other region virtual particles input by the other virtual particle state input unit 16. The state of the particles is calculated using information indicating A virtual particle is a particle whose state is to be calculated in its own region (own node 10), but is used to calculate the state of a particle in an adjacent region (another node 10) that is a divided calculation region adjacent to its own region. Necessary particles. The virtual particle information is transmitted and received between the nodes 10 and the information is used for the calculation of the particles. Among the particles in the self region, virtual particles used for calculation in the adjacent region are referred to as self region virtual particles. Among particles in an adjacent region, virtual particles used for calculation in the own region are called other region virtual particles.

粒子状態計算部11は、隣接領域(別のノード10)との間で、自領域からはみ出して隣接領域に入った粒子の情報及び隣接領域からはみ出して自領域に入った粒子の情報の送受信も行う。   The particle state calculation unit 11 also transmits / receives information on particles that protrude from the own region and enter the adjacent region and information on particles that protrude from the adjacent region and enter the own region with the adjacent region (another node 10). Do.

また、粒子状態計算部11は、上述したように、有限差分法によって流体の状態を算出して、当該流体の影響を考慮して粒子の状態を計算する。   Further, as described above, the particle state calculation unit 11 calculates the state of the fluid by the finite difference method, and calculates the state of the particles in consideration of the influence of the fluid.

粒子状態計算部11は、他仮想粒子情報入力部14によって入力される他領域仮想粒子を特定する情報に基づいて、粒子間の近傍関係を特定して、当該近傍関係に基づいて粒子の状態を計算する。本実施形態では近傍関係とは衝突が判断される粒子のペアである。具体的には、後述するようにセルインデックスを用いる。   The particle state calculation unit 11 specifies the proximity relationship between the particles based on the information specifying the other region virtual particles input by the other virtual particle information input unit 14, and determines the particle state based on the proximity relationship. calculate. In this embodiment, the proximity relationship is a particle pair for which a collision is determined. Specifically, a cell index is used as will be described later.

周期判断部12は、粒子状態計算部11における計算の時間ステップが、予め設定された周期の時間ステップか否かを判断する周期判断手段である。この周期を示す値は2以上の自然数であり、予め周期判断部12に記憶されている。周期判断部12は、例えば、粒子状態計算部11によって管理される現時点での時間ステップの情報を参照することによって上記の判断を行う。周期判断部12は、計算の時間ステップが予め設定された周期の時間ステップであると判断するとその旨を粒子状態計算部11及び自仮想粒子情報出力部13に通知する。   The period determination unit 12 is a period determination unit that determines whether the time step of the calculation in the particle state calculation unit 11 is a time step of a preset period. A value indicating this period is a natural number of 2 or more, and is stored in the period determination unit 12 in advance. The period determination unit 12 makes the above determination by referring to information on the current time step managed by the particle state calculation unit 11, for example. When the period determination unit 12 determines that the time step of the calculation is a time step of a preset period, the period determination unit 12 notifies the particle state calculation unit 11 and the own virtual particle information output unit 13 to that effect.

自仮想粒子情報出力部13は、周期判断部12によって予め設定された周期の時間ステップであると判断された時間ステップに、自領域仮想粒子を特定して、特定した自領域仮想粒子を示す情報を隣接領域の粒子の状態を計算する別のノード10に出力する自仮想粒子情報出力手段である。自領域仮想粒子の特定は、粒子状態計算部11によって計算された粒子の位置に基づいて行われる。自領域中のセルのうち、隣接領域に隣接するセルに位置する粒子が自領域仮想粒子とされる。自仮想粒子情報出力部13は、隣接領域毎に自領域仮想粒子の特定し、自領域仮想粒子の番号を、隣接領域の粒子の状態を計算する別のノード10に出力する。また、自仮想粒子情報出力部13は、自領域仮想粒子の番号を自仮想粒子状態出力部15に通知する。   The own virtual particle information output unit 13 specifies the own region virtual particle at the time step determined to be the time step of the cycle set in advance by the cycle determination unit 12, and indicates the identified own region virtual particle Is a self-virtual particle information output means for outputting to the other node 10 for calculating the state of particles in the adjacent region. The identification of the self-region virtual particles is performed based on the position of the particles calculated by the particle state calculation unit 11. Of the cells in the own region, the particles located in the cells adjacent to the adjacent region are set as the own region virtual particles. The own virtual particle information output unit 13 specifies the own region virtual particle for each adjacent region, and outputs the number of the own region virtual particle to another node 10 that calculates the state of the particles in the adjacent region. The own virtual particle information output unit 13 notifies the own virtual particle state output unit 15 of the number of the own region virtual particle.

他仮想粒子情報入力部14は、隣接領域の粒子の状態を計算する別のノード10から、他領域仮想粒子を特定する情報である他領域仮想粒子の番号を入力する他仮想粒子情報入力手段である。他仮想粒子情報入力部14は、入力した他領域仮想粒子の番号を粒子状態計算部11に通知する。   The other virtual particle information input unit 14 is another virtual particle information input means for inputting the number of the other region virtual particle that is information for specifying the other region virtual particle from another node 10 that calculates the state of the particle in the adjacent region. is there. The other virtual particle information input unit 14 notifies the particle state calculation unit 11 of the input number of the other region virtual particles.

自仮想粒子状態出力部15は、各時間ステップにおいて粒子状態計算部11によって算出された自領域仮想粒子の状態を示す情報を別のノード10に出力する自仮想粒子状態出力手段である。自仮想粒子状態出力部15は、自仮想粒子情報出力部13から通知された自領域仮想粒子の番号によって示される粒子の状態の情報を粒子状態計算部11から取得して別のノード10に出力する。出力対象のノード10は、自仮想粒子情報出力部13が番号の情報を出力したノード10である。出力する粒子の状態の情報は、粒子の位置(座標)を示す情報と、粒子の速度(方向、大きさ)を示す情報である。   The own virtual particle state output unit 15 is a self virtual particle state output unit that outputs information indicating the state of the own region virtual particle calculated by the particle state calculation unit 11 at each time step to another node 10. The own virtual particle state output unit 15 obtains the particle state information indicated by the number of the own region virtual particle notified from the own virtual particle information output unit 13 from the particle state calculation unit 11 and outputs the information to another node 10. To do. The node 10 to be output is the node 10 to which the virtual particle information output unit 13 outputs the number information. The information on the state of the particles to be output includes information indicating the position (coordinates) of the particles and information indicating the velocity (direction and size) of the particles.

他仮想粒子状態入力部16は、各時間ステップにおいて別のノード10から他領域仮想粒子の状態を示す情報を入力する他仮想粒子状態入力手段である。自仮想粒子状態出力部15は、入力した他領域仮想粒子の状態を示す情報を粒子状態計算部11に出力する。粒子の情報を入力する他領域仮想粒子は、他仮想粒子情報入力部14によって特定する情報が入力された他領域仮想粒子である。他仮想粒子状態入力部16は、入力した他領域仮想粒子の状態を示す情報を粒子状態計算部11に出力する。   The other virtual particle state input unit 16 is another virtual particle state input unit that inputs information indicating the state of the other region virtual particles from another node 10 at each time step. The own virtual particle state output unit 15 outputs information indicating the state of the input other region virtual particles to the particle state calculation unit 11. The other region virtual particles to which the particle information is input are other region virtual particles to which information specified by the other virtual particle information input unit 14 is input. The other virtual particle state input unit 16 outputs information indicating the state of the input other region virtual particles to the particle state calculation unit 11.

出力部17は、粒子状態計算部11による計算に応じた情報を出力する出力手段である。具体的には例えば、出力部17は、粒子状態計算部11による計算により得られる、上述した平均衝突頻度因子を計算するための情報を、分散メモリ型並列計算を統括的に制御する装置に出力する。   The output unit 17 is an output unit that outputs information according to the calculation by the particle state calculation unit 11. Specifically, for example, the output unit 17 outputs the information for calculating the above-described average collision frequency factor obtained by the calculation by the particle state calculation unit 11 to an apparatus that centrally controls the distributed memory type parallel calculation. To do.

引き続いて、図4及び図5のフローチャートを用いて、本実施形態に係るノード10で実行される処理(粒子状態計算方法)を説明する。まず、図4のフローチャートを用いて、粒子状態計算システム1全体の処理の概要について説明し、続いて、図5のフローチャートを用いて各ノード10による本発明に係る処理について説明する。   Subsequently, a process (particle state calculation method) executed by the node 10 according to the present embodiment will be described using the flowcharts of FIGS. 4 and 5. First, an outline of processing of the entire particle state calculation system 1 will be described using the flowchart of FIG. 4, and then processing according to the present invention by each node 10 will be described using the flowchart of FIG.

粒子状態計算システム1では、まず、分散メモリ型並列計算を統括的に制御する装置に計算用のパラメータが入力される(S01)。このパラメータは、計算領域の大きさ、流体計算のための格子数、粒子計算のためのセル数、粒子数、各粒子の大きさ、密度、速度、分散メモリ型並列計算の分割数及び時間刻み(時間ステップの間隔)等の情報である。この入力は、例えば、ユーザによる当該装置の操作により行われる。   In the particle state calculation system 1, first, parameters for calculation are input to an apparatus that comprehensively controls distributed memory type parallel calculation (S01). This parameter includes the size of the calculation area, the number of grids for fluid calculation, the number of cells for particle calculation, the number of particles, the size of each particle, the density, the speed, the number of divisions for distributed memory type parallel calculation, and the time increment. This is information such as (time step interval). This input is performed, for example, by an operation of the device by the user.

分散メモリ型並列計算を統括的に制御する装置では、入力されたパラメータに基づいて、各ノード10が担当する計算領域を決定して、各ノードに対して計算に必要な情報を出力する(S02)。各ノード10では計算が行われる(S03)。続いて、各ノード10の計算結果に応じた情報(例えば、平均衝突頻度因子)が出力される(S04)。結果の出力は、例えば、各ノード10による計算結果が、分散メモリ型並列計算を統括的に制御する装置に集められて、当該装置によって最終結果が生成されて出力される。   In the apparatus for comprehensively controlling the distributed memory type parallel calculation, the calculation area assigned to each node 10 is determined based on the input parameters, and information necessary for the calculation is output to each node (S02). ). Each node 10 performs calculation (S03). Subsequently, information (for example, average collision frequency factor) corresponding to the calculation result of each node 10 is output (S04). As for the output of the results, for example, the calculation results by each node 10 are collected in a device that comprehensively controls the distributed memory type parallel calculation, and the final result is generated and output by the device.

引き続いて、図5のフローチャートを用いて、各ノード10における処理(図4のフローチャートにおけるS03に相当)について説明する。また、図6に各処理に対応する計算領域を示す。図6に示す図では、計算領域は2次元領域としており、あるプロセスが受け持つMcell,x×Mcell,y個のセル(Mcell,x=Mcell/M及びMcell,y=Mcell/M)が実線で描かれている。実線で描かれた領域は対象プロセスが担当するMPI分割領域(自領域)でもあり、点線部分は別のプロセス(近傍プロセス)が計算を担当している領域を示している。以下では、セルインデックス作成時にMPI分割領域内にある粒子を実粒子と呼ぶ。衝突判定のためには、Mcell,x+1やMcell,y+1の領域にある粒子も考慮する必要がある。それらの粒子が、仮想粒子である。仮想粒子は衝突検出のためだけに用いられて、その運動は計算されない。図6において黒塗りの点は実粒子であり、白抜きの点は(他)仮想粒子である。 Subsequently, processing in each node 10 (corresponding to S03 in the flowchart of FIG. 4) will be described using the flowchart of FIG. FIG. 6 shows calculation areas corresponding to the respective processes. In the diagram shown in FIG. 6, the calculation area is a two-dimensional area, and M cell, x × M cell, y cells (M cell, x = M cell / M x and M cell, y = M) that a certain process takes charge of. cell / M y ) is drawn with a solid line. A region drawn with a solid line is also an MPI division region (own region) that the target process is in charge of, and a dotted line portion indicates a region in which another process (neighboring process) is in charge of calculation. Hereinafter, the particles in the MPI divided region at the time of creating the cell index are referred to as real particles. For collision determination, it is necessary to consider particles in the region of M cell, x + 1 and M cell, y + 1. Those particles are virtual particles. Virtual particles are used only for collision detection and their motion is not calculated. In FIG. 6, the black dots are real particles, and the white dots are (other) virtual particles.

本処理では、まず、粒子状態計算部11によって所定の時間ステップにおける流体の状態の計算が行われる(S11、粒子状態計算ステップ)。計算される流体の状態は流体の速度及び圧力である。また、粒子状態計算部11によって所定の時間ステップにおける実粒子の状態の計算が行われる(S12、粒子状態計算ステップ)。計算される実粒子の状態は実粒子の位置及び速度である。これらの計算は、前の時間ステップ又は初期状態における流体及び実粒子の状態、並びに計算後の流体の状態に基づいて、上述したようにルンゲ−クッタ法により行われる。なお、流体及び実粒子の状態の計算は、必ずしも順番に行われるわけではなく、流体及び実粒子それぞれについてルンゲ−クッタ法の1次ステップ及び2次ステップ等のように交互あるいは同時に計算される。図6(a)に示す状態が前の時間ステップ又は初期状態(即ち、S11の直前)であり、図6(b)に示す状態が計算後の状態(即ち、S12の直後)である。   In this process, first, the particle state calculation unit 11 calculates the fluid state at a predetermined time step (S11, particle state calculation step). The calculated fluid state is the fluid velocity and pressure. In addition, the particle state calculation unit 11 calculates the state of the actual particle in a predetermined time step (S12, particle state calculation step). The calculated real particle state is the position and velocity of the real particle. These calculations are performed by the Runge-Kutta method, as described above, based on the fluid and actual particle states in the previous time step or initial state and the fluid state after the calculation. It should be noted that the calculation of the state of the fluid and the actual particles is not necessarily performed sequentially, and is calculated alternately or simultaneously for each of the fluid and the actual particles, such as the primary step and the secondary step of the Runge-Kutta method. The state shown in FIG. 6A is the previous time step or initial state (that is, immediately before S11), and the state shown in FIG. 6B is the state after calculation (that is, immediately after S12).

S12の後、図6(b)に示すようにMPI分割計算領域からはみ出す(実)粒子が現れる。はみ出した粒子の処理(上述した(B)の処理)を毎時間ステップ実行すると、多大なノード10間の通信が発生して、並列性能を低下させるおそれがある。そこで、以下のように予め設定された周期のみにはみ出した粒子の処理を行わせる。はみ出した実粒子の計算を続けるためにMPI分割計算領域外の流体速度データが必要になる。各プロセス(粒子状態計算部11)は、上述(A)の処理に伴って、4次中心差分計算のために4格子分の袖データを持つ。そのため、粒子が3.5Δ分(スタッガード格子を採用しているため4Δではなく3.5Δ)以上はみ出さない限りは、余分なMPI通信(ノード10間の通信)をすることなくuを算出することができる。つまり、流体計算を有限差分法によって計算するからこそ可能な効率化手法である。また、以下に示すようにセルインデックス作成も予め設定された周期毎に行う。   After S12, as shown in FIG. 6B, (real) particles appear from the MPI division calculation area. If the processing of the protruding particles (the processing of (B) described above) is executed step by hour, a large amount of communication between the nodes 10 may occur, which may reduce parallel performance. Therefore, processing of particles that protrude only in a preset period is performed as follows. In order to continue the calculation of the protruding actual particles, fluid velocity data outside the MPI division calculation area is required. Each process (particle state calculation unit 11) has sleeve data for four grids for the fourth-order center difference calculation in accordance with the processing of (A) described above. Therefore, u is calculated without extra MPI communication (communication between nodes 10) as long as the particles do not protrude beyond 3.5Δ (3.5Δ instead of 4Δ because a staggered lattice is used). can do. In other words, it is an efficient technique that is possible because the fluid calculation is performed by the finite difference method. In addition, as shown below, cell index creation is also performed at preset intervals.

S12の後、周期判断部12によって、現時点の時間ステップが予め設定された周期の時間ステップか否かが判断される(S13、周期判断ステップ)。現時点の時間ステップが予め設定された周期の時間ステップであると判断されると(S13のYes)、周期判断部12から粒子状態計算部11及び自仮想粒子情報出力部13にその旨が通知され、その場合の処理(S14〜S19)が行われる。   After S12, the cycle determination unit 12 determines whether or not the current time step is a preset time step (S13, cycle determination step). When it is determined that the current time step is a time step of a preset cycle (Yes in S13), the cycle determination unit 12 notifies the particle state calculation unit 11 and the own virtual particle information output unit 13 to that effect. In this case, the processing (S14 to S19) is performed.

まず、図6(c)に示すように、粒子状態計算部11において記憶されている他仮想粒子に関する情報が除去される(S14)。続いて、粒子状態計算部11によって自領域から出た実粒子の情報が入出力される(S15、粒子状態計算ステップ)。具体的には、自領域から出た実粒子の情報が、当該実粒子が位置する領域の計算を担当するノードに出力され、自領域における実粒子から削除される。この実粒子は、他領域における実粒子となる。一方、他領域から出て自領域に入った粒子の情報が、他領域の計算を担当するノード10から受け取られ、自領域の実粒子とされる(図6(d)の矢印で示される粒子である)。即ち、実粒子のノード(領域)間での引き渡しが行われる。ここでノード10間の通信(MPI通信)が発生する。   First, as shown in FIG.6 (c), the information regarding the other virtual particle memorize | stored in the particle | grain state calculation part 11 is removed (S14). Subsequently, the particle state calculation unit 11 inputs / outputs the information of the actual particles that have exited from the own region (S15, particle state calculation step). Specifically, the information on the real particles that have exited from the own region is output to a node that is responsible for calculating the region in which the actual particle is located, and is deleted from the actual particles in the own region. This real particle becomes a real particle in another region. On the other hand, the information of the particles that have exited from the other area and entered the own area is received from the node 10 that is responsible for the calculation of the other area, and becomes the actual particles in the own area (particles indicated by arrows in FIG. Is). That is, delivery between nodes (regions) of real particles is performed. Here, communication (MPI communication) between the nodes 10 occurs.

続いて、粒子状態計算部11によってセルインデックスが生成(更新)される。セルインデックスは、セルに含まれる(セル上に位置する)実粒子の番号をそのセルを特定する情報に対応付けた情報である(S16、粒子状態計算ステップ)。図6(e)に示す(2,2)のセルの実粒子のリストは、[4,102,605,651]である。セルインデックスは、粒子状態計算部11によって記憶され管理される。なお、(2,2)のセルとは、x軸において2番目、y軸において2番目のセルであることを示す(以下同様)。   Subsequently, a cell index is generated (updated) by the particle state calculation unit 11. The cell index is information in which the number of an actual particle included in the cell (located on the cell) is associated with information for specifying the cell (S16, particle state calculation step). The list of real particles in the cell (2, 2) shown in FIG. 6 (e) is [4, 102, 605, 651]. The cell index is stored and managed by the particle state calculation unit 11. The cell (2, 2) indicates the second cell on the x-axis and the second cell on the y-axis (the same applies hereinafter).

続いて、自仮想粒子情報出力部13によって、自領域仮想粒子が特定されて、自領域仮想粒子を示す情報が隣接領域の粒子の状態を計算する別のノード10に出力される(S17、自仮想粒子情報出力ステップ)。具体的には、粒子状態計算部11によってセルインデックスにおいて、そのセルに含むセルが自領域仮想粒子であるとされるセルに対応付けられた実粒子が自領域仮想粒子とされる。そのようなセルは、領域間の位置関係によって決定される。当該セルを特定する情報と自領域仮想粒子の番号とが自仮想粒子情報出力部13から別のノード10に出力される。また、自領域仮想粒子の番号は、自仮想粒子情報出力部13から自仮想粒子状態出力部15に通知される。   Subsequently, the self-virtual particle information output unit 13 identifies the self-region virtual particle and outputs information indicating the self-region virtual particle to another node 10 that calculates the state of the particle in the adjacent region (S17, self Virtual particle information output step). Specifically, in the cell index by the particle state calculation unit 11, real particles associated with a cell in which the cell included in the cell is determined to be the own region virtual particle are set as the own region virtual particle. Such a cell is determined by the positional relationship between the regions. Information identifying the cell and the number of the own region virtual particle are output from the own virtual particle information output unit 13 to another node 10. The self-virtual particle number is notified from the self-virtual particle information output unit 13 to the self-virtual particle state output unit 15.

その一方で、別のノード10から送信される他領域仮想粒子の番号と当該粒子を含むセルとが対応付けられた情報が、他仮想粒子情報入力部14によって入力される(S18、他仮想粒子情報入力ステップ)。この情報は、別のノード10におけるS17に相当する処理によって送信されたものである。上記の情報は、他仮想粒子情報入力部14から粒子状態計算部11に入力される。これにより、図6(f)に示すように、粒子状態計算部11によって自領域に隣接するセルに位置する他仮想粒子の番号が把握される。S17及びS18ではノード10間の通信(MPI通信)が発生する。   On the other hand, information in which the number of the other region virtual particle transmitted from another node 10 and the cell including the particle are associated is input by the other virtual particle information input unit 14 (S18, other virtual particle). Information input step). This information is transmitted by a process corresponding to S17 in another node 10. The above information is input from the other virtual particle information input unit 14 to the particle state calculation unit 11. Thereby, as shown in FIG.6 (f), the number of the other virtual particle located in the cell adjacent to an own area | region is grasped | ascertained by the particle | grain state calculation part 11. FIG. In S17 and S18, communication (MPI communication) between the nodes 10 occurs.

続いて、粒子状態計算部11によって、自領域の各粒子について、衝突の有無をチェックする粒子のペアが生成される(S19、粒子状態計算ステップ)。この粒子のペアは、対象粒子と当該対象粒子を含むセル及び当該セルに隣接しているセルに位置する粒子とのペアである。このペアの生成の際には、他仮想粒子も考慮される(実粒子と他仮想粒子のペア)。   Subsequently, the particle state calculation unit 11 generates a particle pair for checking the presence / absence of collision for each particle in its own region (S19, particle state calculation step). This particle pair is a pair of a target particle, a cell including the target particle, and a particle located in a cell adjacent to the cell. In generating this pair, other virtual particles are also considered (a pair of real particles and other virtual particles).

(i,j)番目のセル((i,j)セル)は、自分自身を含めて、(i,j)、(i,j±1)、(i±1,j)、(i±1,j±1)の計9個のセルに囲まれている(3次元の場合は27個)。しかし、セル番号を順に増やして衝突をチェックする場合には、(i,j)、(i,j+1)、(i+1,j)、(i+1,j+1)の計4個(3次元の場合は8個)のセルを調べていけば、重複することなく全ての組み合わせをチェックできる。そのため粒子のペアのリストを作る際には、i=0やj=0のセルを含める必要はない。図6(f)に示す番号が130のペアとなるリストは、上記の4つのセルに含まれる粒子である[332,69,871,777,109,4,605,102,651]である。   The (i, j) -th cell ((i, j) cell) includes itself (i, j), (i, j ± 1), (i ± 1, j), (i ± 1). , J ± 1) are surrounded by a total of nine cells (27 in the case of three dimensions). However, when checking the collision by sequentially increasing the cell number, a total of four (i, j), (i, j + 1), (i + 1, j), (i + 1, j + 1) (8 in the case of three dimensions). ) Cells, you can check all combinations without duplication. Therefore, when creating a list of particle pairs, it is not necessary to include cells with i = 0 or j = 0. The list in which the number 130 is a pair shown in FIG. 6 (f) is [332, 69, 871, 777, 109, 4, 605, 102, 651] which are particles contained in the above four cells.

S19の後、あるいはS12の後、周期判断部12によって現時点の時間ステップが予め設定された周期の時間ステップでないと判断された場合(S13のNo)、以下の処理が行われる。   After S19 or after S12, when the cycle determination unit 12 determines that the current time step is not a preset time step (No in S13), the following processing is performed.

まず、自仮想粒子状態出力部15によって、自仮想粒子情報出力部13から通知された自領域仮想粒子のその時点の時間ステップの状態を示す情報が取得される。取得される情報は、S12において粒子状態計算部11よって計算されたものである。取得された情報は、自仮想粒子状態出力部15から上記の別のノード10に出力される(S20、自仮想粒子状態出力ステップ)。   First, the self-virtual particle state output unit 15 acquires information indicating the state of the current time step of the self-region virtual particles notified from the self-virtual particle information output unit 13. The acquired information is the information calculated by the particle state calculation unit 11 in S12. The acquired information is output from the own virtual particle state output unit 15 to the other node 10 (S20, own virtual particle state output step).

その一方で、別のノード10から送信される他領域仮想粒子の状態を示す情報が、他仮想粒子状態入力部16によって入力される(S21、他仮想粒子状態入力ステップ)。この情報は、別のノード10におけるS20に相当する処理によって送信されたものである。上記の情報は、他仮想粒子状態入力部16から粒子状態計算部11に入力される。これにより、図6(g)に示すように、粒子状態計算部11によって自領域に隣接するセルに位置する他仮想粒子の状態である位置及び速度が把握される。S21及びS22ではノード10間の通信(MPI通信)が発生する。   On the other hand, information indicating the state of other region virtual particles transmitted from another node 10 is input by the other virtual particle state input unit 16 (S21, other virtual particle state input step). This information is transmitted by a process corresponding to S20 in another node 10. The above information is input from the other virtual particle state input unit 16 to the particle state calculation unit 11. Thereby, as shown in FIG. 6G, the particle state calculation unit 11 grasps the position and velocity that are the states of the other virtual particles located in the cell adjacent to the own region. In S21 and S22, communication (MPI communication) between the nodes 10 occurs.

続いて、粒子状態計算部11では、図6(h)に示すように、上述したように粒子間の衝突の判断が行われて、その判断に基づく計算が行われる(S22、粒子状態計算ステップ)。この判断は、S19で生成された全てのペアの間で行われる。実粒子間の衝突の判断は、それぞれS12で計算された粒子の状態に基づいて行われる。実粒子と他領域仮想粒子との衝突の判断は、実粒子についてはS12で計算された粒子の状態に基づいて、他領域仮想粒子についてはS21で入力された粒子の状態に基づいて行われる。   Subsequently, as shown in FIG. 6H, the particle state calculation unit 11 determines the collision between particles as described above, and performs the calculation based on the determination (S22, particle state calculation step). ). This determination is made among all the pairs generated in S19. Judgment of collision between real particles is performed based on the state of particles calculated in S12. The determination of the collision between the real particle and the other region virtual particle is performed based on the particle state calculated in S12 for the real particle and the particle state input in S21 for the other region virtual particle.

続いて、粒子状態計算部11では、計算の終了の判断が行われる(S23、粒子状態計算ステップ)。この判断は、粒子状態計算部11に予め設定あるいは入力された判断基準に基づいて行われる。計算が終了しないと判断された場合(S23のNo)には、次の時間ステップに進められてS11からの処理が繰り返される(S24、粒子状態計算ステップ)。   Subsequently, the particle state calculation unit 11 determines whether to end the calculation (S23, particle state calculation step). This determination is made based on a determination criterion set or input in advance in the particle state calculation unit 11. When it is determined that the calculation is not completed (No in S23), the process proceeds to the next time step and the processing from S11 is repeated (S24, particle state calculation step).

計算が終了する判断された場合(S23のYes)には、出力部17によって、粒子状態計算部11による計算に応じた情報が出力される(S25、出力ステップ)。以上で、ノード10における処理が終了する。なお、上記の処理における時間ステップの更新(S24)の後、毎ステップあるいは数ステップに一度、例えば、粒子の衝突、粒子の速度及び粒子のエネルギー等の統計量を算出して出力することとしてもよい。   When it is determined that the calculation is finished (Yes in S23), the output unit 17 outputs information according to the calculation by the particle state calculation unit 11 (S25, output step). Thus, the process in the node 10 ends. In addition, after updating the time step in the above processing (S24), it is also possible to calculate and output statistics such as particle collision, particle velocity and particle energy once every step or several steps. Good.

上述した処理では、一度セルインデックスが生成された後、予め設定された周期の時間ステップを経過するまで更新されないので、その間に粒子は当初のセルから移動する可能性がある。しかし、上記の周期の時間ステップの間の粒子の移動距離がセル幅Δcell(=2πL/Mcell)よりも小さければ、衝突する可能性のある粒子ペアを漏らす可能性を無視できる。本実施形態では、例えば、Δcell=4Δ(つまり、Mcell=N/4)のとき、上記の周期を8に設定し、クーラン数を0.2以下に設定すると、粒子は流体速度程度で移動すると考えると上記の周期の時間ステップの間に粒子はせいぜい1.6Δ程度しか移動しない。つまり、この設定では、衝突検出の漏れは無視できるほど小さい。実際、いくつかのケースで上記の周期を1に設定した場合と、8に設定した場合とで比較して、衝突ペアに変化が無いことを確認した。 In the above-described processing, once a cell index is generated, it is not updated until a time step of a preset period elapses, so that the particles may move from the original cell during that time. However, if the moving distance of the particles during the time step of the above period is smaller than the cell width Δ cell (= 2πL 0 / M cell ), the possibility of leaking a particle pair that may collide can be ignored. In the present embodiment, for example, when Δ cell = 4Δ (that is, M cell = N / 4), when the above period is set to 8 and the Courant number is set to 0.2 or less, the particles are about the fluid velocity. Considering movement, the particles move at most about 1.6Δ during the time step of the above period. In other words, in this setting, collision detection leaks are negligibly small. In fact, in some cases, it was confirmed that there was no change in the collision pair when the period was set to 1 and when it was set to 8.

上述したように本実施形態では、ノード10間でやり取りする情報に係る粒子を限定された仮想粒子とすることで、各ノード10で必要な情報を確実に入力させると共にノード10間の通信を効率的にする。また、仮想粒子を特定する情報のやりとりを、予め設定された周期の時間ステップとすることでノード10間の通信が更に効率的になる。これによって、本発明に係る本実施形態によれば、効率的に分散メモリ型並列計算により粒子状態を計算し、その結果より大規模なモデルに対する計算が可能となる。   As described above, in this embodiment, the particles related to information exchanged between the nodes 10 are limited virtual particles, so that necessary information can be surely input in each node 10 and communication between the nodes 10 can be efficiently performed. To do. Further, communication between the nodes 10 becomes more efficient by exchanging information for specifying virtual particles as a time step having a preset period. As a result, according to this embodiment of the present invention, it is possible to efficiently calculate the particle state by distributed memory type parallel calculation, and to calculate a larger model than the result.

また、本実施形態のように流体中の粒子を計算することとすれば、流体中の粒子に係る大規模なモデル計算が可能となる。但し、必ずしも流体中の粒子の計算でなくてもよく、分散メモリ型並列計算により粒子状態を計算するものに対して適用可能である。   Moreover, if the particles in the fluid are calculated as in the present embodiment, a large-scale model calculation related to the particles in the fluid can be performed. However, it is not always necessary to calculate the particles in the fluid, and can be applied to those that calculate the particle state by distributed memory type parallel calculation.

また、本実施形態のように、セルインデックスを用いて粒子間のペアの相互作用を判断することとすれば、粒子間の衝突等の粒子間の相互作用が生じるモデルの計算を確実に行うことができる。   In addition, as in this embodiment, if the cell pair is used to determine the interaction between pairs of particles, it is possible to reliably calculate a model in which interactions between particles such as collisions between particles occur. Can do.

なお、上述した実施形態における粒子の計算については、定常な気相乱流場が形成されてから、粒子を混入させて行うこととしてもよい。また、衝突の判定については、粒子の混入から一定時間経過後(例えば、T(=L/U)以上)としてもよい。 In addition, about calculation of the particle | grains in embodiment mentioned above, it is good also as mixing a particle | grain after a steady gaseous-phase turbulent flow field is formed. In addition, the collision may be determined after a certain period of time has elapsed since the mixing of particles (for example, T 0 (= L 0 / U 0 ) or more).

なお、本実施形態においては雲をシミュレーションする例を示したが、必ずしも雲を対象とした計算に限られず、粒子の状態を計算するものであれば適用が可能である。例えば、小惑星の生成シミュレーション等にも適用可能である。   In the present embodiment, an example of simulating a cloud has been shown. However, the present invention is not necessarily limited to calculation for a cloud, and can be applied as long as it calculates a particle state. For example, it can be applied to asteroid generation simulation.

以下に、上述した実施形態による具体的な計算結果を示す。なお、定常な気相乱流相場が形成されたことを確認後、粒子を混入させた。粒子運動を計算する場合、時間刻みΔtを0.5τ以下に設定した。この条件と流体計算のクーラン数による条件を同時に満たすΔtを流体計算と粒子計算との両方に用いた。また、粒子混入からT(=L/U)以上経過後から衝突判定を開始した。 The specific calculation result by embodiment mentioned above is shown below. In addition, after confirming that a steady gas phase turbulent phase field was formed, particles were mixed. When calculating particle motion, the time step Δt was set to 0.5τ p or less. Δt that satisfies both this condition and the condition based on the Courant number of the fluid calculation was used for both the fluid calculation and the particle calculation. Further, the collision determination was started after T 0 (= L 0 / U 0 ) or more elapsed from the mixing of particles.

以下の表に粒子の計算条件を示す。最左列に示されているケース名は、上記の表と対応している。全てのケースで粒子数密度nが雲の代表値である10オーダーになるように設定した。セルに含まれる平均粒子数はN64及びN256の場合は1、N512の場合は4.8であった。
The following table shows the particle calculation conditions. The case names shown in the leftmost column correspond to the above table. In all cases, the particle number density np was set to 10 8 order, which is a typical value of clouds. The average number of particles contained in the cell was 1 for N64 and N256, and 4.8 for N512.

以下の表に、統計的に定常状態に達した気相等方性乱流場の乱流特性量を示す。表中のu´は速度変動強度、Reλ(=u´lλ/ν、lλはテイラーマイクロスケール)はテイラーマイクロスケール基準乱流レイノルズ数、kmax(=N/2)は最大有効波数、lη(=(ν/ε)1/4、εはエネルギー離散率)はコルモゴロフスケールである。kmaxηは計算解像度の指標であり、運動エネルギー等の2次元量を議論する場合には1程度、スキューネスやフラットネス等の高次元を議論する場合には2程度必要だと言われている。従来の方法においては粒子衝突の計算では1.3〜1.4程度に設定されることが多いが、本例では通常よりも高い解像度である2程度になるように設定した。
The following table shows the turbulent characteristic quantities of the gas-phase isotropic turbulent flow field that statistically reached a steady state. In the table, u ′ is the velocity fluctuation intensity, Re λ (= u′l λ / ν, l λ is Taylor microscale) is Taylor microscale reference turbulent Reynolds number, and k max (= N / 2) is the maximum effective wave number. , L η (= (ν 3 / ε) 1/4 , ε is the energy discrete rate) is the Kolmogorov scale. k max l η is an index of calculation resolution, and is said to be about 1 when discussing two-dimensional quantities such as kinetic energy and about 2 when discussing high dimensions such as skewness and flatness. Yes. In the conventional method, the particle collision calculation is often set to about 1.3 to 1.4, but in this example, the resolution is set to about 2, which is higher than usual.

図7にN64の場合(Reλ=52.3)の衝突頻度因子の結果を示す。縦軸は局所速度勾配λ(=(ε/ν)1/2)と衝突半径R(=2r)で無次元化された衝突頻度因子、横軸はコルモゴロフスケールで無次元化された粒子半径である。衝突によって粒子数が5%減少するまでを一つのランとして、それぞれのランにおける平均衝突頻度因子を算出した。比較のために、Onishi et al. (2009)(Onishi, R., Takahashi,K. and Komori, S., “Influence of Gravity on Collisions of MonodispersedDroplets in Homogeneous Isotropic Turbulence”, Physics of Fluids, Vol. 21(2009), 125108)で得られたReλ=54.3の場合の結果も示す。Onishiet al. (2009)は、流体計算に擬スペクトル法を用いた。その点は、有限差分法を用いる本実施形態と異なるが、計算領域の大きさ、物性値、計算格子数、粒子数等の設定、そして標準偏差の算出法は本実施形態と同様である。本実施形態の結果とOnishi et al. (2009)の結果はよく一致することから、本実施形態の信頼性が確かめられた。 FIG. 7 shows the result of the collision frequency factor in the case of N64 (Re λ = 52.3). The vertical axis is the collision frequency factor made dimensionless by the local velocity gradient λ (= (ε / ν) 1/2 ) and the collision radius R (= 2r), and the horizontal axis is the particle radius made dimensionless on the Kolmogorov scale. is there. The average collision frequency factor in each run was calculated with the number of particles reduced by 5% due to collision as one run. For comparison, Onishi et al. (2009) (Onishi, R., Takahashi, K. and Komori, S., “Influence of Gravity on Collisions of Monodispersed Droplets in Homogeneous Isotropic Turbulence”, Physics of Fluids, Vol. 21 ( 2009) and 125108), the results for Re λ = 54.3 are also shown. Onishiet al. (2009) used a pseudospectral method for fluid calculations. This is different from the present embodiment using the finite difference method, but the setting of the size of the calculation area, the physical property value, the number of calculation grids, the number of particles, etc., and the calculation method of the standard deviation are the same as in this embodiment. Since the result of this embodiment and the result of Onishi et al. (2009) agree well, the reliability of this embodiment was confirmed.

続いて、衝突頻度因子について述べる。図8にストークス数St(=τλ)が1の粒子の衝突頻度因子を示す。縦軸は無次元化された衝突頻度因子、横軸は乱流レイノルズ数Reλである。黒塗りのプロットはDNSの結果を表している。丸のプロットは本実施形態のよるものであり、三角のプロットはOnishi et al. (2009)によるものであり、四角のプロットはWoittiezet al.(2009)(非特許文献1)によるものである。白抜きのプロットは大西ら(2007)(大西領,小森悟,“乱流中における同一径粒子間の衝突因子のモデル化”, 日本機械学会論文集B編,Vol. 73, No. 730 (2007), pp. 1307-1314.)のモデル予測結果を表している。そして、モデルから伸びる矢印は、モデルが予測しようとした値を指している。 Next, the collision frequency factor will be described. FIG. 8 shows the collision frequency factor of a particle having a Stokes number St (= τ p λ) of 1. The vertical axis represents the dimensionless collision frequency factor, and the horizontal axis represents the turbulent Reynolds number Re λ . The black plot represents the DNS results. Circle plots are according to this embodiment, triangle plots are according to Onishi et al. (2009), and square plots are according to Wottitez et al. (2009) (non-patent document 1). White plots are shown by Onishi et al. (2007) (Ryo Onishi, Satoru Komori, “Modeling of collision factors between particles of the same diameter in turbulent flow”, Journal of the Japan Society of Mechanical Engineers, B, Vol. 73, No. 2007), pp. 1307-1314.). The arrow extending from the model indicates the value that the model is trying to predict.

既往研究で得られてきたReλ<85という低レイノルズ数の場合には、モデルは数割の誤差はあるものの、レイノルズ数の増加と共に衝突頻度因子が小さくなる傾向はよく予測できる。しかし、本実施形態により初めて得られたReλ>85高レイノルズ数の場合は、モデルの予測誤差が大きい。モデルはレイノルズ数の増加と共に衝突頻度因子は急激に小さくなると予測するのに対して、DNSの結果はそのような明確な減少傾向を示さない。これは、大西ら(2007)のモデルが低レイノルズ数の場合のデータを基にして得られた経験パラメータを使用しているためである。 In the case of a low Reynolds number of Re λ <85, which has been obtained in previous studies, the model has a few percent error, but it can be well predicted that the collision frequency factor tends to decrease as the Reynolds number increases. However, in the case of Re λ > 85 high Reynolds number obtained for the first time by this embodiment, the model prediction error is large. While the model predicts that the collision frequency factor decreases rapidly with increasing Reynolds number, the DNS results do not show such a clear decreasing trend. This is because the model of Onishi et al. (2007) uses empirical parameters obtained based on data in the case of a low Reynolds number.

例えば、Falkovich et al. (2002)(Falkovich, G., Fouxon, A. and Stepanov, M. G., “Acceleration of RainInitiation by Cloud Turbulence”, Natrure, Vol.419 (2002), pp.151-154)は、乱流の間欠性が引き起こす“パチンコ効果(sling effect)”が高レイノルズ数の時の衝突頻度を増大すると予測している。そのような効果が考慮されていないため、大西ら(2007)のモデルは高レイノルズ数の場合に衝突頻度を過小評価すると考えられる。   For example, Falkovich et al. (2002) (Falkovich, G., Fouxon, A. and Stepanov, MG, “Acceleration of RainInitiation by Cloud Turbulence”, Natrure, Vol.419 (2002), pp.151-154) It is predicted that the “sling effect” caused by turbulence intermittency will increase the collision frequency when the Reynolds number is high. Since such effects are not taken into account, Onishi et al. (2007) model underestimates the collision frequency for high Reynolds numbers.

続いて、並列計算性能について述べる。大規模並列計算には、高い線形拡張性(scalability)が求められる。線形拡張性の評価には、強線形拡張性(strong scaling)と弱線形拡張性(weak scaling)の2種類が用いられる。前者を評価するためには、全体の計算規模を固定した上で、演算プロセス数(本実施形態におけるノード10の数)を増やした時に演算時間がどれだけ減少するかを調べる。例えば、演算プロセス数を2倍にしたときに演算時間が半分になれば理想的な強線形拡張性を持つといえる。一方、後者を評価するためには、演算プロセスに対する計算規模を固定した上で、演算プロセス数を増やした時に演算時間がどれだけ変化するかを調べる。例えば、全体の計算規模と演算プロセス数とを共に2倍にしても、演算時間が変化しなければ高い弱線形拡張性を持つといえる。   Next, parallel computing performance will be described. Large scale parallel computation requires high linear scalability. For the evaluation of linear expandability, two types of strong linear expandability (strong scaling) and weak linear expandability (weak scaling) are used. In order to evaluate the former, after fixing the entire calculation scale, it is examined how much the calculation time is reduced when the number of calculation processes (the number of nodes 10 in the present embodiment) is increased. For example, when the number of calculation processes is doubled, if the calculation time is halved, it can be said that it has ideal strong linear expandability. On the other hand, in order to evaluate the latter, the calculation scale for the calculation process is fixed, and how much the calculation time changes when the number of calculation processes is increased is examined. For example, even if the overall calculation scale and the number of calculation processes are both doubled, it can be said that the calculation has a weak weak linear extensibility if the calculation time does not change.

図9に、本実施形態におけるN256計算に対して演算プロセス数を変化させた場合の(a)1時間ステップに要した演算時間[s]の結果、及び(b)演算速度[MFLOPS]の結果を示す。両図の横軸は共に演算プロセス数である。全体の計算規模(256格子、262,144粒子)を固定した上で演算プロセス数を変化させたので、上述の強線形拡張性を調べた結果である。この性能測定にはSGI ALTIX4700システム(6.4GFLOPS/core)が用いられた。図9(a)から、演算時間が演算プロセス数に反比例して減少していくことがわかる。それに対応して、図9(b)では、演算速度がプロセス数にほぼ比例して増加していくことがわかる。 FIG. 9 shows (a) the result of the calculation time [s] required for one time step and (b) the result of the calculation speed [MFLOPS] when the number of calculation processes is changed with respect to the N256 calculation in this embodiment. Indicates. The horizontal axis in both figures is the number of arithmetic processes. This is a result of examining the above-described strong linear expandability because the number of operation processes was changed after fixing the entire calculation scale (256 3 lattices, 262, 144 particles). The SGI ALTIX 4700 system (6.4 GFLOPS / core) was used for this performance measurement. From FIG. 9A, it can be seen that the computation time decreases in inverse proportion to the number of computation processes. Correspondingly, in FIG. 9B, it can be seen that the calculation speed increases almost in proportion to the number of processes.

例えば、IBM BlueGeneシステムを使った等方性乱流場に対する大規模並列DNSでは、理論ピーク性能の約10%程度の性能であったとの報告がある。本実施形態においては、粒子運動の計算及び衝突判定までを入れた上でも、流体計算のみの場合と同程度の高い性能を達成できた。   For example, a large-scale parallel DNS for an isotropic turbulent flow field using the IBM BlueGene system has been reported to have a performance of about 10% of the theoretical peak performance. In the present embodiment, high performance equivalent to that of fluid calculation alone can be achieved even after calculation of particle motion and collision determination.

上述したように、本実施形態は、乱流場を有限差分法によって計算し、粒子運動をラグラジアン追跡法によって計算し、粒子間の衝突データを取得する高効率な大規模並列計算法である。本実施形態は、以下のような特徴を有している。
(i)定常等方性乱流場を得るための強制法として、有限差分法の高い並列化率を損なわないRCF法を用いた。
(ii)粒子間衝突を効率的に検出するためにセルインデックス法を用いた。
(iii)共有メモリ型並列(自動並列化ライブラリ)と分散メモリ型並列(MPIライブラリ)の両方に対応し、両方を同時に用いるハイブリッド計算に対応した。
(iv)MPI並列計算領域からはみ出した粒子情報の通信やセルインデックス情報の更新を所定の周期の時間ステップ毎にだけ行うようにコードを設計し、分散メモリ型並列計算でのプロセス間通信コストを削減した。
As described above, the present embodiment is a high-efficiency large-scale parallel calculation method that acquires a collision data between particles by calculating a turbulent flow field by a finite difference method, calculating a particle motion by a Lagrangian tracking method. This embodiment has the following features.
(I) As a compulsory method for obtaining a steady isotropic turbulent flow field, an RCF method that does not impair the high parallelization rate of the finite difference method was used.
(Ii) The cell index method was used to efficiently detect the collision between particles.
(Iii) Both shared memory type parallel (automatic parallelization library) and distributed memory type parallel (MPI library) are supported, and hybrid calculation using both simultaneously is supported.
(Iv) The code is designed so that the communication of the particle information and the update of the cell index information protruding from the MPI parallel calculation area is performed only at each time step of a predetermined cycle, and the inter-process communication cost in the distributed memory type parallel calculation is reduced. Reduced.

実際に、本実施形態に基づいた処理を実行することによって、Reλ=209という高レイノルズ数における慣性粒子の衝突頻度データを得ることができた。これは従来の粒子衝突計算における最大レイノルズ数Reλ=85を大幅に更新する貴重なデータである。また、本実施形態で得られた高レイノルズ数における衝突頻度データを用いて、既往の衝突頻度モデルの検証も行った。その結果、既往の衝突頻度モデルは高レイノルズ数の時に衝突頻度を過小評価することが明らかになった。 Actually, by executing the processing based on this embodiment, collision frequency data of inertial particles at a high Reynolds number of Re λ = 209 could be obtained. This is valuable data that greatly updates the maximum Reynolds number Re λ = 85 in the conventional particle collision calculation. In addition, the existing collision frequency model was also verified using the collision frequency data at the high Reynolds number obtained in this embodiment. As a result, it became clear that the existing collision frequency model underestimates the collision frequency when the Reynolds number is high.

1…粒子状態計算システム、10…ノード、11…粒子状態計算部、12…周期判断部、13…自仮想粒子情報出力部、14…他仮想粒子情報入力部、15…自仮想粒子状態出力部、16…他仮想粒子状態入力部、17…出力部。
DESCRIPTION OF SYMBOLS 1 ... Particle state calculation system, 10 ... Node, 11 ... Particle state calculation part, 12 ... Period determination part, 13 ... Self virtual particle information output part, 14 ... Other virtual particle information input part, 15 ... Self virtual particle state output part 16, other virtual particle state input unit, 17 ... output unit.

Claims (4)

複数の分割された計算領域の一つである自領域に配置される粒子の状態を時間ステップ毎に繰り返し計算する粒子状態計算装置であって、
各時間ステップにおける前記自領域の粒子の状態を計算する粒子状態計算手段と、
前記粒子状態計算手段における対象の時間ステップが、予め設定された周期の時間ステップか否かを判断する周期判断手段と、
前記周期判断手段によって予め設定された周期の時間ステップであると判断された時間ステップに、前記粒子状態計算手段によって計算された粒子の位置に基づいて、当該粒子から、前記自領域に隣接する前記分割された計算領域である隣接領域において計算に用いられる自領域仮想粒子を特定して、特定した自領域仮想粒子を示す情報を当該隣接領域の粒子の状態を計算する別の粒子状態計算装置に出力する自仮想粒子情報出力手段と、
前記別の粒子状態計算装置から、前記自領域において計算に用いられる他領域仮想粒子を特定する情報を入力する他仮想粒子情報入力手段と、
各時間ステップにおいて粒子状態計算手段によって算出された前記自領域仮想粒子の状態を示す情報を前記別の粒子状態計算装置に出力する自仮想粒子状態出力手段と、
各時間ステップにおいて前記別の粒子状態計算装置から前記他領域仮想粒子の状態を示す情報を入力する他仮想粒子状態入力手段と、
前記粒子状態計算手段による計算に応じた情報を出力する出力手段と、を備え、
前記粒子状態計算手段は、前記他仮想粒子情報入力手段によって入力される前記他領域仮想粒子を特定する情報、及び前記他仮想粒子状態入力手段によって入力された前記他領域仮想粒子の状態を示す情報を用いて粒子の状態を計算する粒子状態計算装置。
A particle state calculation device that repeatedly calculates a state of particles arranged in a self region that is one of a plurality of divided calculation regions for each time step,
Particle state calculating means for calculating the state of the particles in the local region at each time step;
A period determining means for determining whether the target time step in the particle state calculating means is a time step of a preset period;
Based on the position of the particle calculated by the particle state calculating means, the particle adjacent to the self-region based on the position of the particle calculated by the particle state calculating means at the time step determined to be a time step of a period preset by the period determining means. The self-region virtual particle used for the calculation in the adjacent region that is the divided calculation region is specified, and the information indicating the specified self-region virtual particle is supplied to another particle state calculation device that calculates the state of the particle in the adjacent region. Self-virtual particle information output means for outputting;
Other virtual particle information input means for inputting information specifying other region virtual particles used for calculation in the own region from the other particle state calculation device;
A self-virtual particle state output unit that outputs information indicating the state of the self-region virtual particle calculated by the particle state calculation unit in each time step to the other particle state calculation device;
Other virtual particle state input means for inputting information indicating the state of the other region virtual particles from the other particle state calculation device at each time step;
Output means for outputting information according to the calculation by the particle state calculation means,
The particle state calculation means includes information specifying the other region virtual particles input by the other virtual particle information input means, and information indicating the state of the other region virtual particles input by the other virtual particle state input means. A particle state calculation device that calculates the state of particles using a particle.
前記粒子は、流体中の粒子であり、
前記粒子状態計算手段は、有限差分法によって流体の状態を算出して、当該流体の影響を考慮して粒子の状態を計算する、
ことを特徴とする請求項1に記載の粒子状態計算装置。
The particles are particles in a fluid;
The particle state calculation means calculates the state of the fluid by a finite difference method, and calculates the state of the particles in consideration of the influence of the fluid.
The particle state calculation apparatus according to claim 1.
前記粒子状態計算手段は、前記他仮想粒子情報入力手段によって入力される前記他領域仮想粒子を特定する情報に基づいて、粒子間の近傍関係を特定して、当該近傍関係に基づいて粒子の状態を計算することを特徴とする請求項1又は2に記載の粒子状態計算装置。   The particle state calculation means specifies the proximity relationship between particles based on the information specifying the other region virtual particles input by the other virtual particle information input means, and the particle state based on the proximity relationship The particle state calculation apparatus according to claim 1 or 2, wherein 複数の分割された計算領域の一つである自領域に配置される粒子の状態を時間ステップ毎に繰り返し計算する粒子状態計算装置による粒子状態計算方法であって、
各時間ステップにおける前記自領域の粒子の状態を計算する粒子状態計算ステップと、
前記粒子状態計算ステップにおける対象の時間ステップが、予め設定された周期の時間ステップか否かを判断する周期判断ステップと、
前記周期判断ステップにおいて予め設定された周期の時間ステップであると判断された時間ステップに、前記粒子状態計算ステップにおいて計算された粒子の位置に基づいて、当該粒子から、前記自領域に隣接する前記分割された計算領域である隣接領域において計算に用いられる自領域仮想粒子を特定して、特定した自領域仮想粒子を示す情報を当該隣接領域の粒子の状態を計算する別の粒子状態計算装置に出力する自仮想粒子情報出力ステップと、
前記別の粒子状態計算装置から、前記自領域において計算に用いられる他領域仮想粒子を特定する情報を入力する他仮想粒子情報入力ステップと、
各時間ステップにおいて粒子状態計算ステップにおいて算出された前記自領域仮想粒子の状態を示す情報を前記別の粒子状態計算装置に出力する自仮想粒子状態出力ステップと、
各時間ステップにおいて前記別の粒子状態計算装置から前記他領域仮想粒子の状態を示す情報を入力する他仮想粒子状態入力ステップと、
前記粒子状態計算ステップにおける計算に応じた情報を出力する出力ステップと、を含み、
前記粒子状態計算ステップにおいて、前記他仮想粒子情報入力ステップにおいて入力される前記他領域仮想粒子を特定する情報、及び前記他仮想粒子状態入力ステップにおいて入力された前記他領域仮想粒子の状態を示す情報を用いて粒子の状態を計算する粒子状態計算方法。
A particle state calculation method by a particle state calculation device that repeatedly calculates a state of particles arranged in its own region which is one of a plurality of divided calculation regions for each time step,
A particle state calculating step for calculating the state of the particles in the local region at each time step;
A period determination step for determining whether or not the target time step in the particle state calculation step is a time step of a preset period;
Based on the position of the particle calculated in the particle state calculation step, the particle adjacent to the self-region based on the position of the particle calculated in the particle state calculation step is the time step determined to be a time step of a period set in advance in the cycle determination step. The self-region virtual particle used for the calculation in the adjacent region that is the divided calculation region is specified, and the information indicating the specified self-region virtual particle is supplied to another particle state calculation device that calculates the state of the particle in the adjacent region Self virtual particle information output step to output;
Other virtual particle information input step for inputting information specifying other region virtual particles used for calculation in the own region from the other particle state calculation device;
A self-virtual particle state output step of outputting information indicating the state of the self-region virtual particle calculated in the particle state calculation step in each time step to the other particle state calculation device;
Other virtual particle state input step of inputting information indicating the state of the other region virtual particles from the other particle state calculation device in each time step;
An output step for outputting information according to the calculation in the particle state calculation step,
In the particle state calculation step, information specifying the other region virtual particles input in the other virtual particle information input step, and information indicating the state of the other region virtual particles input in the other virtual particle state input step A particle state calculation method for calculating the state of particles using a particle.
JP2010281808A 2010-12-17 2010-12-17 Particle state calculation apparatus and particle state calculation method Expired - Fee Related JP5645120B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010281808A JP5645120B2 (en) 2010-12-17 2010-12-17 Particle state calculation apparatus and particle state calculation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010281808A JP5645120B2 (en) 2010-12-17 2010-12-17 Particle state calculation apparatus and particle state calculation method

Publications (2)

Publication Number Publication Date
JP2012128793A true JP2012128793A (en) 2012-07-05
JP5645120B2 JP5645120B2 (en) 2014-12-24

Family

ID=46645712

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010281808A Expired - Fee Related JP5645120B2 (en) 2010-12-17 2010-12-17 Particle state calculation apparatus and particle state calculation method

Country Status (1)

Country Link
JP (1) JP5645120B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110033503A (en) * 2019-04-18 2019-07-19 腾讯科技(深圳)有限公司 Cartoon display method, device, computer equipment and storage medium
US10503561B2 (en) 2015-11-11 2019-12-10 Fujitsu Limited Particle simulation apparatus and computer resource allocating method
JP2022513612A (en) * 2018-11-30 2022-02-09 サウジ アラビアン オイル カンパニー Parallel processor data processing system with reduced latency

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03204758A (en) * 1990-01-06 1991-09-06 Fujitsu Ltd Particle motion simulation processing system
JPH0477853A (en) * 1990-07-13 1992-03-11 Fujitsu Ltd Particle motion simulation system
JPH05274277A (en) * 1992-03-30 1993-10-22 Toshiba Corp Molecular dynamics calculating device
JP2000003352A (en) * 1998-06-15 2000-01-07 Hitachi Ltd Molecular dynamics method calculation device
JP2008538441A (en) * 2005-04-19 2008-10-23 ディ.イー.ショー リサーチ,エルエルシー A highly scalable method for evaluating pairwise particle interactions with distance limitations

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03204758A (en) * 1990-01-06 1991-09-06 Fujitsu Ltd Particle motion simulation processing system
JPH0477853A (en) * 1990-07-13 1992-03-11 Fujitsu Ltd Particle motion simulation system
JPH05274277A (en) * 1992-03-30 1993-10-22 Toshiba Corp Molecular dynamics calculating device
JP2000003352A (en) * 1998-06-15 2000-01-07 Hitachi Ltd Molecular dynamics method calculation device
JP2008538441A (en) * 2005-04-19 2008-10-23 ディ.イー.ショー リサーチ,エルエルシー A highly scalable method for evaluating pairwise particle interactions with distance limitations

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CSNG201000518006; 秋山 隼太: '負荷分散技法OhHelpによる粒子・流体ハイブリッドプラズマシミュレーションの並列化' 情報処理学会研究報告[DVD-ROM] Vol.2010-HPC-124 No.8, 20100415, pp.1-11 *
JPN6014030523; 秋山 隼太: '負荷分散技法OhHelpによる粒子・流体ハイブリッドプラズマシミュレーションの並列化' 情報処理学会研究報告[DVD-ROM] Vol.2010-HPC-124 No.8, 20100415, pp.1-11 *
JPN6014030524; 大西 領、その外2名: '乱流中での粒子の衝突成長に対するLarge-Eddy-Simulation' 日本機械学会論文集(B編) Vol.72 No.722, 20061025, pp.111-118 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10503561B2 (en) 2015-11-11 2019-12-10 Fujitsu Limited Particle simulation apparatus and computer resource allocating method
JP2022513612A (en) * 2018-11-30 2022-02-09 サウジ アラビアン オイル カンパニー Parallel processor data processing system with reduced latency
JP7122063B2 (en) 2018-11-30 2022-08-19 サウジ アラビアン オイル カンパニー Parallel processor data processing system with reduced latency
CN110033503A (en) * 2019-04-18 2019-07-19 腾讯科技(深圳)有限公司 Cartoon display method, device, computer equipment and storage medium
CN110033503B (en) * 2019-04-18 2022-12-13 腾讯科技(上海)有限公司 Animation display method and device, computer equipment and storage medium

Also Published As

Publication number Publication date
JP5645120B2 (en) 2014-12-24

Similar Documents

Publication Publication Date Title
JP6657359B2 (en) Temperature coupling algorithm for hybrid thermal lattice Boltzmann method
Zu et al. Phase-field-based lattice Boltzmann model for incompressible binary fluid systems with density and viscosity contrasts
Janßen et al. Free surface flow simulations on GPGPUs using the LBM
Breuer et al. Prediction of aerosol deposition in 90∘ bends using LES and an efficient Lagrangian tracking method
Sodja Turbulence models in CFD
JP6043198B2 (en) Element refinement method and system in Arbitrary Lagrange Euler method (ALE)
Janßen et al. On enhanced non-linear free surface flow simulations with a hybrid LBM–VOF model
Neumann et al. A dynamic mesh refinement technique for Lattice Boltzmann simulations on octree-like grids
JP2020027658A (en) Improvement in performance and accuracy of stable explicit diffusion
Alobaid et al. Investigation into improving the efficiency and accuracy of CFD/DEM simulations
JP5645120B2 (en) Particle state calculation apparatus and particle state calculation method
Elhadidi et al. Comparison of coarse grid lattice Boltzmann and Navier Stokes for real time flow simulations in rooms
Di Staso et al. Hybrid lattice Boltzmann-direct simulation Monte Carlo approach for flows in three-dimensional geometries
Alamsyah et al. Openmp analysis for lid driven cavity simulation using lattice boltzmann method
Majid et al. GPU-based Optimization of Pilgrim Simulation for Hajj and Umrah Rituals.
Fortmeier et al. A parallel strategy for a level set simulation of droplets moving in a liquid medium
Zuhal et al. Core Spreading Vortex Method for Simulating 3D Flow around Bluff Bodies.
Agarwal et al. A comparative study of three-dimensional discrete velocity set in LBM for turbulent flow over bluff body
JP5958323B2 (en) Temperature sensor installation position determination method and temperature sensor installation position determination apparatus
Zagidullin et al. Supercomputer Modelling of Spatially-heterogeneous Coagulation using MPI and CUDA
Georgoudas et al. A cellular automaton model for crowd evacuation and its auto-defined obstacle avoidance attribute
Bleile et al. Accelerating advection via approximate block exterior flow maps
Rosa et al. High-resolution simulation of turbulent collision of cloud droplets
Misaka et al. Sensitivity analysis of unsteady flow fields and impact of measurement strategy
CN112682340A (en) Automatic detection method for rotation direction of axial flow type cooling fan

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140722

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: 20141007

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141023

R150 Certificate of patent or registration of utility model

Ref document number: 5645120

Country of ref document: JP

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

LAPS Cancellation because of no payment of annual fees