粒子設置後のクーラン数増加に関する質問

142 views
Skip to first unread message

YI

unread,
Sep 19, 2024, 2:58:47 AM9/19/24
to OpenFOAM
普段から大変お世話になっております。
大学の研究でOpenFOAMを利用しております、YIです。
粒子設置に関して再度質問させていただきます。

今回は、MPPICFoamの粒子設置後の質問です。
粒子径1mmの粒子を容器底面から40000個設置したあと,粒子の安定性を確かめるシミュレーションをしたのですが、クーラン数が増加し,
Courant Number mean: 8.2841 max: 2589.3
Time = 0.0015

と1よりかなり大きな数値になってしまいます。
そして,0.0015s時のをparafoamで確認すると,
添付した画像のように,
静止してほしいのにもかかわらず,粒子が反発しあい,上側に飛んでしまっている粒子も確認できます。
ここで質問なのですが,粒子をただ静止した状態で設置したい場合の設定方法に関して教えていただけないでしょうか。

大変申し訳ございませんが,ご回答いただけると幸いです。ご回答いただけると幸いです。
U.air
controlDict
kinematicCloudProperties
blockMeshDict
kinematicCloudPositions
粒子設置後0.0015s時.png

k k

unread,
Sep 19, 2024, 4:30:06 AM9/19/24
to open...@googlegroups.com

こんにちは。

以下気になった点です。

            parcelBasisType fixed;
            nParticle       40000;

こちらのnParticleが1パーセルあたりの粒子数なので1にする必要があります。

粒子の数はkinematicCloudPositions内のリストの数で決まっています。

OpenFOAMのパーセルを使った粒子追跡計算 │ DISCOVER CAE (terrabyte.co.jp)

想定よりぎゅうぎゅう詰めになっていそうです。

類似のチュートリアルとしては、以下が該当すると思うので設定を眺めてみると良いと思います。 粒子配置の部分はMPPICFoamとicoUncoupledKinematicParcelFoamも共通しています。

/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperInitialState/

/tutorials/lagrangian/icoUncoupledKinematicParcelFoam/hopper/hopperEmptying/

高いですがこちらに粒子追跡の設定について詳しく書かれていますので、紹介しておきます。

よろしくお願いします。

2024年9月19日(木) 15:58 'YI' via OpenFOAM <open...@googlegroups.com>:
--
このメールは Google グループのグループ「OpenFOAM」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには openfoam+u...@googlegroups.com にメールを送信してください。
このディスカッションをウェブ上で閲覧するには https://groups.google.com/d/msgid/openfoam/7cf72d1f-d6f9-4851-b63b-917074be40a2n%40googlegroups.com にアクセスしてください。
Message has been deleted

YI

unread,
Sep 19, 2024, 9:49:59 PM9/19/24
to OpenFOAM
k k 様

迅速なるご返信誠にありがとうございます。
nParticle 1; に設定することで、クーラン数を3未満にすることができました。
ただ、クーラン数が1を超えているとき,粒子が設置されている部分が少し動いているようなので、
もう少し設定を練り直してみます。

他にお気づきの点がございましたら、アドバイスいただけると幸いです。

2024年9月19日木曜日 17:30:06 UTC+9 k k:

YI

unread,
Sep 23, 2024, 11:51:12 PM9/23/24
to OpenFOAM
先日はご回答いただき誠にありがとうございます。
この度は,kinematicCloudProperties のpackingmodelに関して質問させていただきます。

今回の数値解析では,packingmodelはexplicit を選択しました。
explicit を選択した後の設定が,explicitCoeffs で編集できると考えているのですが、
particleStressModel で設定できる
type
alphaPacked
pSolid
beta
eps
がどのような意味を持つのかを質問させていただきます。

添付いたしました資料によると、impicitでもexplicitでも、粒子間応力の計算の際にこちらの
パラメータを使用することは分かったのですが、詳細までは勉強不足で分かっていない状態です。

大変お手数ですが、助言いただけると誠に幸いです。
よろしくお願いします。




2024年9月20日金曜日 10:49:59 UTC+9 YI:
20140222KITAKAZE.pdf
kinematicCloudProperties

k k

unread,
Sep 26, 2024, 3:00:09 PM9/26/24
to OpenFOAM
こんにちは。
私もそこまで理解が深いわけではありませんが、理論的は解説はこちらがわかりやすいです。

■文献

wikipediaにも解説があります。

■例
たとえばtypeをHarrisCrightonにするとソースコードのこちら
の以下に対応しています。

84Foam::ParticleStressModels::HarrisCrighton::denominator
85(
86 const Field<scalar>& alpha
87) const
88{
89 return
90 max
91 (
92 alphaPacked_ - alpha,
93 max(eps_*(1.0 - alpha), SMALL)
94 );
95}
96
97
98// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
99
102(
103 const Field<scalar>& alpha,
104 const Field<scalar>& rho,
105 const Field<scalar>& uSqr
106) const
107{
108 return
109 (
110 pSolid_
111 * pow(alpha, beta_)
112 / denominator(alpha)
113 );
114}

typeは他にも選択できるようです。

こちらのHarrisCrighton(2.82)式以外にも、 p.48には Lunも書かれています。

MPPICFoamの説明はありませんが、粒子法の設定はこちらの書籍の後半にわかりやすく書かれています。
Foundation版ですがとても参考になります。

キーワード:HarrisCrighton、Harris-Crightonなどで英語で調べてみてください。

以上を読み解けば、
type
alphaPacked
pSolid
beta
eps
が何に使われているかは追えると思います。
2024年9月24日火曜日 12:51:12 UTC+9 YI:
Reply all
Reply to author
Forward
0 new messages