Stokes流中的圆球绕流的阻力系数,怎么设置才能算准。
-
@Prometheus10 在 Stokes流中的圆球绕流的阻力系数,怎么设置才能算准。 中说:
,虽然经常在各种文献中被大家称为“滑移slip”,但是它其实只需要一个约束条件(也就是中间这个,只约束法向速度为0,并不去约束切应力)。
我认为主要是因为symmetry边界限制了法向速度,slip边界只能保证切向速度相同,但是不能限制法向速度,可能和你的观点差不多。今天我会做个算例来验证一下。是否应该限制法向速度我觉得也不太好说,可能需要结合具体的问题开展分析。
-
请教,symmetry边界,直观上理解是没有界面法向的速度变化吧,没有速度变化,为什么有切应力?
-
@xiezhuoyu 您好 @xiezhuoyu ,先尝试回答您的提问:
这个图带来了误解(这个图其实是partial-Slip的图,我放这个图主要是想请大家帮忙厘清下u·0和气泡“滑移界面”以及partial-Slip之间的关系)。那么,回到问题上来:
u·η=0(也就是symmetry边界的数学表达,COMSOL里可以看到对称边界的数学方程就是u·η=0)的作用是什么? 我想象对于一个气泡界面处的流体而言,施加这个u·η=0的条件,并不是约束沿气泡界面法向的速度变化,而是要求流体沿壁面“贴体”进行运动,也就是说靠近壁面处的流体,不能沿法向运动,只能沿着切向运动。
但是!切向有没有运动,需要来看切应力的大小,也就是看有没有对切应力做约束。展开来说:如果此时在u·η=0的条件上继续添加切应力为0的约束条件,那么就形成free-slip边界条件;反之,如果添加的是切应力无限大的约束条件,那么就形成noSlip边界条件(u=0)。 -
妥了,实锤了,就是slip与symmetry的问题,估计slip没有做到完全的无剪切。我这几天详细看一下
针对我上面说的,这个不对,slip可以做到无剪切。
在测试算例,我尝试把球表面的值输出出来,第一个是slip,后面是symmetry:
U & n = -4.2351647e-22 max(U & n) = 4.3368087e-19 average(U & n) = -2.494512e-20 average(mag(U)) = 0.0045558926 p face value = 0.0002584113 p cell value = 0.0002584113 average(p face) = average(p) [0 2 -2 0 0 0 0] -1.1678857e-07
U & n = 4.2351647e-22 max(U & n) = 4.3368087e-19 average(U & n) = -8.4957405e-21 average(mag(U)) = 0.0030605553 p face value = 0.00026689782 p cell value = 0.00026689782 average(p face) = average(p) [0 2 -2 0 0 0 0] -5.620298e-09
简单嫩看出:
- 边界处slip跟symmetry的$\bfU_f\cdot\bfn_f\approx 0$,所以二者都可以把边界处法向速度限制为0。
- 压力严格的$\nabla p\cdot\bfn_f=0$,但是可以看出压力的值差距还是不小。看average(p face)这个值
- 因为slip是衍生来自symmetry,因此切向方向二者处理是一样的,都是零梯度。
所以我觉得slip与symmetry,二者都可以满足数学上的法向速度为0以及切向零梯度(在这里我不太清楚sci里面说的free slip是不是这个意思)。但是在求解的时候边界条件导致算法求解流程导致结果不一致,这体现在
average(p face)
以及average(mag(U))
都有差异。在求解的时候,边界条件导致算法求解流程导致结果不一致
这方面需要更详细看一下。
-
@pengdi Pengdi老师,@李东岳 东岳老师
我来补充一下低雷诺数条件下(Re=0.1时)对圆球型壁面设置为symmetry或者slip边界的切向速度的结果:
依然是Wedge楔形网格的圆球绕流文件,然后将仿真结果在Paraview中用 plotOverLine提取:首先是symmetry边界条件,第一个网格体心的速度大概是主流速度的1/2;
然后是slip边界条件,其第一个网格体心的速度就是主流速度;
沿用一下这个示意图,symmetry边界也就是u·n=0确实很好描述了气泡界面处的速度分布,和Multiphase flow handbook第25页给出的公式也很吻合。(我这里给出的结果,准确来说,应该要说成是紧挨界面处,而不是界面上的切向速度,因为我只会用Paraview显示网格体心速度,还没能掌握如何用Info速度界面上的切向速度)
Michaelides, E., Crowe, C.T., Schwarzkopf, J.D., 2016. Multiphase flow handbook. CRC Press.参考文献: Liu, B., Manica, R., Xu, Z., Liu, Q., 2020. The boundary condition at the air–liquid interface and its effect on film drainage between colliding bubbles. Curr. Opin. Colloid Interface Sci. 50, 101374.
-
@Prometheus10 您好,关于圆柱绕流的slip和symmetry边界计算我也计算对比过,我计算的雷诺数等于200,差别确实很大。我怀疑可能正方形绕流差别就没那么大了,今天比较忙,还没验证,我看明天能不能验证一下,稍后补充上来。
-
@李东岳 东岳老师好,我现在想根据运行时计算得到的Cd值的大小反过来适配速度进口的速度大小,直至阻力和浮力平衡,通过看您其他帖子,好像需要在0/U文件夹下使用codedFixedValue边界来完成,想进一步咨询您:
在codedFixedValue如何调用当前时刻的Cd?
inlet { type codedFixedValue; value $internalField; name dragForceBalanceInlet; //name of new BC type code #{ const fvPatch& inletPatch = this->patch(); vectorField& vf = *this; forAll(vf, i) { scalar z = inletPatch.Cf()[i].y(); scalar rhoL = 998.13; scalar rhoG = 1.225; scalar myG = 9.81; scalar myD = 0.0000505; vf[i].x() = sqrt(4*(rhoL-rhoG)*myG*myD/(3*Cd*rhoL));//想在这里调用Cd vf[i].y() = 0.0; vf[i].z() = 0.0; } #}; codeOptions #{ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude #}; codeInclude #{ #include "fvCFD.H" #include <cmath> #include <iostream> #}; }
上述代码是通过浮力和阻力的力平衡,得到阻力系数和速度的等式。
Tomiyama, A., Kataoka, I., Zun, I., Sakaguchi, T., 1998. Drag Coefficients of Single Bubbles under Normal and Micro Gravity Conditions. JSME International Journal Series B 41, 472–479. -
Cd这个在
forceCoeff.C
里面计算出来的,这个我看没有公开的接口,也不知道哪个是先声明的。另外一个方法是是你自己计算一下Cd。$$
Cd=\frac{\left( \sum p_f\bfS_f + \sum \bfS_f\cdot \tau_f \right)\cdot\mathbf{direction}_{drag}}{(\sum|\bfS_f|) \frac{1}{2}\rho|\bfU|^2}
$$里面的$\tau$定义在eddyViscosity里面的
sigma()
,被称之为R
。不过我不确定能否在codedFixedValue里面去引用(不确定这个前后关系是哪个先声明的) -
-
@pengdi @李东岳
东岳老师, PengDi老师,您们好我目前仍然有一点没有想明白,想再请两位老师指点:
首先是Slip边界条件的定义:
【在界面处,法向速度为0,同时切向速度的梯度为0.】沿用知乎博主的解析神秘色彩OpenFOAM 边界条件系列解析—Slip边界
COMSOL的帮助文档也是一致的内容
Theory for the Wall Boundary Condition再有是东岳老师在#44楼所提到的:
因为slip是衍生来自symmetry,因此切向方向二者处理是一样的,都是零梯度。
那么,slip和symmetry按道理都应该同时符合这几个公式
$\mathbf{U}_{b\perp}=(\mathbf{U}_b\cdot\mathbf{n})\mathbf{n}=0$
$\mathbf{U}_b{|}=\mathbf{U}_c{|}$
$\mathbf{U}_c{|}=\mathbf{U}_c-\left(\mathbf{U}_c\cdot\mathbf{n}\right)\mathbf{n}$但是,当Slip和Symmetry应用到弯曲边界的时候:为什么速度有这么大的差异,并由此得出的阻力系数也大不相同。
雷诺数Re=1时,阻力系数:
CD(slip)=13.49,
CD(symmetry)=17.6
从以上两个图结果上来看:
Symmetry的速度明显是和主流速度之间渐变过渡的(左图蓝线,大概从U/2逐渐发展到U),也就意味着流体在界面处是受到切应力的;
而Slip的速度是和主流速度一致(左图蓝线,Slip界面处就是和主流速度一样的U),因此我认为:symmetry条件应用到弯曲边界的时候,并不会对弯曲边界的切应力做限制,因此弯曲边界的symmetry条件只是以下表达式:
$\mathbf{U}_{b\perp}=(\mathbf{U}_b\cdot\mathbf{n})\mathbf{n}=0$此时Symmetry已经不再等同于Slip条件,其真实意义已经为:
Symmetry:【在界面处,法向速度为0,同时切向速度的梯度可以不为0.】
而Slip依然是:【在界面处,法向速度为0,同时切向速度的梯度为0.】不知道这样理解是否正确?
-
-
@Prometheus10 对 如果这样理解的话 为什么symmetry计算结果和理论解更相近呢