粒子モデル

粒子モデルの概要

粒子モデルは土の移動を表すモデルである。 agxTerrainは粒子の運動計算にNDEM(Nonsmooth discrete element method)を使う。 接触拘束には 非線形Hertz-Mindlin接触モデル を使い、

  • 粒子同士の接触

  • 粒子と接触するショベルとテレイン: 粒子から受ける接触力に左右されないキネマティックな壁(境界条件)

を拘束条件とし、微分代数方程式を離散化した SPOOK に帰着させる。 拘束はドメイン分割による並列計算とウォームスタート [Wang2016] を実装した反復法ソルバ PPGS(Parallel projected Gauss-Seidel solver) を使って解く。

../../../../../_images/agxterrain_particle_model.png

非線形Hertz-Mindlin接触モデル

接触の計算に非線形Hertz-Mindlin接触モデルを使う。 接触は

\(\delta\) : 粒子の侵入量

\(\dot{\delta}\) : 粒子の相対侵入速度

\(\bm{n}\) : 抗力方向ベクトル

\(\eta\) : 材料粘性定数

\(d_\mathrm{a}\) 粒子aの直径

\(d_\mathrm{b}\) 粒子bの直径

\(d^* = (d_\mathrm{a}^{-1} + d_\mathrm{b}^{-1})^{-1}\) : 有効直径

\(d\) 粒子の直径

\(E_\mathrm{p}\) : 粒子間のヤング率 [1]

\(\nu_\mathrm{p}\) : 粒子のポアソン比

\(\mu_\mathrm{p}\) : 粒子間の摩擦係数 [1]

\(\mu_\mathrm{pr}\) : 粒子間の転がり抵抗係数 [1]

\(e_\mathrm{p}\) : 粒子間の反発係数 [1]

とおいて、次式で計算する。

バネ係数
(42)\[k_\mathrm{n} = \frac{E_\mathrm{p} \sqrt{2d^*}}{3(1 - \nu_\mathrm{p}^2)}\]
粘性係数
(43)\[c_\mathrm{d} = \frac{4(1 - \nu_\mathrm{p}^2)(1 - 2\nu_\mathrm{p})\eta}{15E_\mathrm{p} \nu_\mathrm{p}^2}\]
粒子間の接触抗力
(44)\[\bm{f}_\mathrm{n} = k_\mathrm{n} \delta^\frac{3}{2} \bm{n} + k_\mathrm{n} c_\mathrm{d} \delta^\frac{1}{2} \dot{\delta} \bm{n}\]

※ 衝突時は反発係数 \(e_\mathrm{p}\) を使い、速度変化させる。

粒子間の接線力(摩擦力)
(45)\[f_t \leq \mu_p |\bm{f}_\mathrm{n}|\]
粒子間の転がり抵抗力
(46)\[\tau_\mathrm{r} \leq \mu_\mathrm{pr} \left(\frac{d}{2}\right) |\bm{f}_\mathrm{n}|\]

粒子-テレイン、粒子-オブジェクト(ショベルなど)との接触についても同じ計算式を使う。 それぞれのパラメータを次に示す。

粒子-テレイン

粒子-オブジェクト

ヤング率

\(E_\mathrm{pt}\) [1]

\(E_\mathrm{po}\) [1]

摩擦係数

\(\mu_\mathrm{pt}\) [1]

\(\mu_\mathrm{po}\) [1]

転がり抵抗係数

\(\mu_\mathrm{ptr}\) [1]

\(\mu_\mathrm{por}\) [1]

反発係数

\(e_\mathrm{pt}\) [1]

\(e_\mathrm{po}\) [1]