2D欧拉拉格朗日计算
-
个人经验来看,我对2D欧拉拉格朗日模拟理解存在一些疑惑,考虑相间动量耦合,在欧拉框架下,可以写为:
\begin{equation}
A=\frac{\rho}{\tau}(\bfU_\rd-\bfU_\rc)
\end{equation}
方程中不存在网格体积,因此个人认为2D欧拉欧拉方法是适用的。但是对于2D欧拉拉格朗日,曳力导致的动量交换计算大体如:
\begin{equation}
A=\frac{1}{V_\mathrm{cell}}\sum F_i
\end{equation}
其中$F_i$为每个粒子的曳力,$V_\mathrm{cell}$为网格体积。对于2D网格,如果还是按照通常的计算标准,网格厚度应该不对结果有影响,但是很明显,网格越厚,力越小,导致2D欧拉拉格朗日的模拟结果依赖于网格厚度,看起来不是很合理。在Kadyrov et al.
Impacts of solid stress model on MP-PIC simulation of a CFB riser with EMMS drag
的这篇文章中,用的就是2D欧拉拉格朗日模拟,同时,文中还专门讨论了网格厚度对结果的影响,结论是没什么影响。Summing up we can say that, change of domain thickness value does not significantly impact the accuracy of 2D simulations
但是我个人很疑惑,不知道哪位老师可以讨论下
-
本来第一个想猜的是程序里的“体积”“面积”都是广义的,就是“网格尺寸”和“网格边界”,
当三维时“网格尺寸”和“网格边界”分别是体积和面积,
当二维时“网格尺寸”和“网格边界”分别是面积和长度。但是太没有依据了
对着 empty 类型边界条件翻了翻找依据,翻到这翻不下去了 153行读取边界条件类型 ,以后 C++ 知识补上来了再翻。如果全是薄3D假装2D,那 empty 这个类型有点多余了。估摸抠出来 empty 会影响什么就知道它2D是怎么被假装出来的了。
算法上不太懂,代码上挖大概可以这样挖。
公众号里说 axisymmetric 会丢失信息,我记得 fluent 里也有,同时也有 sxisymmetric swirl。后者好像能捕获前者丢失的信息。OpenFOAM 里也有,不知道一样不。