@小泽同学 能否大致描述下你的执行过程,以及目前的情况?
Prometheus10
帖子
-
-
@lwjetmann 感谢老师,组里同学大家都不太会OpenFOAM,我马上也看一下。再次感谢。
-
@李东岳 好的,谢谢东岳老师。
我也自己看了下[forces.C、forces.H,forceCoeffs.C、forceCoeffs.H]四个文件,正如您得教材里所说的,在forceCoeffs.C中,总阻力的计算是:
$Cd=\frac{F_{drag}}{(\sum|\mathbf{S}_f|)\frac{1}{2}\rho|\mathbf{U}|^2}$
顺着这个我在forces.C中找了下各个力的计算公式:
其关系到的几个变量fN、fT、fP以及Md,在forces.H最先出现,
但是整个文档都看了下,好像都没有给出这几个量的定义,类似的还有pf、pm等:
东岳老师,各位大佬,能否指点一下这几个变量通常要去如何理解它的物理意义?
谢谢! -
各位老师好!
最近计算圆球绕流,通过在controlDict中添加functions,能在每步输出周围流体对界面施加的总阻力系数。
由于总阻力系数是“压差阻力系数”和“粘性阻力系数”两个分量的总和,进一步开启log选项后,能分别显示出这两项,如下:
也就是说:
总阻力系数$C_D=C_{D,p}+C_{D,\tau}$其中压差阻力系数$C_{D,p}=-4\int_0^\pi p\cos\theta\sin\theta d\theta $
粘性阻力系数$\begin{aligned}
C_{D,\tau}& =C_{D,\tau1}+C_{D_{\tau2}} \
&=4\int_0^\pi\tau_{r\theta}\sin\theta\sin\theta d\theta+4\int_0^\pi\tau_{rr}\cos\theta\sin\theta d\theta
\end{aligned}$我想运行的时候输出切向粘性阻力系数$C_{D,\tau1}$ 和法向粘性阻力系数$C_{D,\tau2}$
或是从运行完之后的流场结果中计算出来。forces.C和forces.H,forceCoeffs.C以及forceCoeffs.H文件还不太看得明白,希望能有老师指点,谢谢!
-
@Qing 感谢老师!您说的特别清楚,这对我特别有帮助。再次谢谢您!
-
@Qing 您好,能否请教一下您,请问在曲面上(比如一个半球面),滑移边界条件和对称边界条件有什么区别?
-
@tidedrinker 老师您好,还是不行。
相当于我的困境是:用Symmetry,T文件夹内,无法给目标边界指定固定的温度值fixedValue 373。
然后想到官方文档也提到过Slip和Symmetry基本上就是数值等效的
但因为我的目标边界是个曲面,不是平面,
验证对比发现Slip边界条件 和 Symmetry边界条件应用到曲面边界得到的速度结果(以及基于此得出的阻力系数)并不一致因此,另一个困境是:
用Slip边界,T文件夹内,虽然能给目标边界指定固定的温度值fixedValue 373,但是Slip边界条件 和 Symmetry边界条件算出来的流场信息不一样,现在拿不准哪个对。 -
@cresendo 老师您好,您说得确实是正确的,官方也提到过Slip和Symmetry基本上就是数值等效的
Notes on Computational Fluid Dynamics: General Principle
但是,能否请您帮忙看看这个帖子(您可以直接看第#54楼的评论回复):
Slip边界和Symmetry边界应用于弯曲界面的结果对比Slip边界条件 和Symmetry边界条件应用到曲面边界得到的速度结果(以及基于此得出的阻力系数)并不一致,这也是我目前较为疑惑的地方。
-
@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.】不知道这样理解是否正确?
-
各位老师:
我需要用到 “切向梯度为0,而法向值固定为0” 这个边界条件
想了想只有symmetry边界条件是这个我现在植入了一个温度方程,那么:
U文件夹内,边界是使用symmetry条件的。
p文件夹内,边界是也使用symmetry条件的。
T文件夹内,边界需要指定固定的温度值fixedValue 373。因此,T文件夹内,我直接设定为
type fixedValue;
value uniform 373;
但是通不过symmetry的边界条件检查,说是U,P,T的边界条件不一致,所以如何取消symmetry的这个检查呢?或者各位老师有没有其他的办法能用到 “切向梯度为0,而法向值固定为0” 这个边界条件?
谢谢
-
@lyc 道友厉害,往往这种问题其实很难发现,必须非常细心 。以前我从来没有遇到过,所以都没能帮上忙
-
@xuanze 您好,我在使用过程中目前也未遇到您描述的情况,请问您算完后的案例文件有多大?
我目前共享文件夹共计约有230G内容(总容量为500G的固态硬盘),其中最大的案例有80G+;
但是并未出现卡顿的情况。
我的电脑配置情况如下。 -
@lyc 您好,我在使用过程中目前未遇到您描述的情况,因此对上述留言提到的问题暂时没有概念。
您能提供更为详细的问题出现过程吗? 尽量尝试一起分析看看。 -
@李东岳 好的,东岳老师,我试试按照您说得这样算一下。
另外我应该补充一下,100μm直径气泡的实验测得的浮升终速度大约是0.005~0.008m/s.
参考文献 Pawliszak, P., Ulaganathan, V., Bradshaw-Hajek, B.H., Manica, R., Beattie, D.A., Krasowska, M., 2019. Mobile or Immobile? Rise Velocity of Air Bubbles in High-Purity Water. J. Phys. Chem. C 123, 15131–15138.
-
东岳老师,这是我最近新跑的interIsoFoam的结果;
气泡直径100μm,壁面距离气泡体心12R,也就是两个面之间相隔550μm,但是气泡基本上保持在原地不动,并不会向上浮升。
interFoam的结果我还在跑。
-
Vmware虚拟机总是提示储存空间不足?扩容的流程其实也挺复杂!
可以尝试使用“共享文件夹”,step by step! 具体请看!🟣一、基本概念
从dyfluid.com下载了虚拟机后,每个虚拟机都会有以下描述。
然后,我们假设两种大家极有可能会面临的情况:- ①随便跑两个大点的仿真之后,20G储存空间就提示不足,是不是非得需要扩容?
- ②哪天虚拟机要是打不开了?数据怎么办? (这是哪怕扩容个500G+也得考虑的问题)
如果你觉得以上问题是你的痛点,那么VM共享文件夹功能是一个解决方案。
1.VM共享文件夹功能,可以让虚拟机只负责充当求解器的作用。 2.仿真的结果、数据全都保存于虚拟机之外的Windows文件夹中,而不是储存在虚拟机中,因此只给虚拟机20G,它基本上都用不完。 3.甚至,某天如果虚拟机打不开了,虚拟机被误删除了,仿真结果、数据依然在你的Windows文件夹中。
🟣二、设置教程,step by step!
⚡1. 在你空间较大的Windows盘中(不用和虚拟机在同一个盘,位置随你选),新建个文件夹,改个喜欢的名字。 例如:在F盘建一个叫OpenFOAMWStation的文件夹: F:\OpenFOAMWStation (第1步结束。)
⚡2. 设置虚拟机的共享文件夹,过程如下图: (第2步结束。)
⚡3. 然后就是打开虚拟机,做一点预备工作。 (因为待会Windows和Ubuntu之间的剪贴板功能暂时不再互通) 首先在任意位置按下ctrl+alt+T打开终端,并输入 (注意别忘了最后的&符号也要输入) gedit 1.txt & 然后把以下代码复制进去放着备用: sudo sed -i '10 a .host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0' /etc/fstab sudo apt-get autoremove open-vm-tools sudo apt-get autoremove open-vm-tools-desktop sudo apt-get update sudo apt-get install open-vm-tools sudo apt-get install open-vm-tools-desktop sudo echo 'alias nasf="nautilus /mnt/hgfs &"' >> ~/.bashrc sudo echo 'alias cdsf="cd /mnt/hgfs/"' >> ~/.bashrc 就像下图这样,不用关闭他们:
⚡4. 开整! 挨个把1.txt里的刚才复制过去的代码在旁边的终端执行一下,有的代码提示你y?的时候,要按一下enter: 全部执行完之后,把虚拟机关机,并重新启动虚拟机。 (第4步结束。)
⚡5. 重新开启虚拟机后,在任意位置按下ctrl+alt+T打开终端,分别试试输入 cdsf nasf 如果看得到刚才自己在Windows下新建的文件夹名字,就OK了! (第5步结束。)
⚡6. 效果展示 在虚拟机中,我现在把一个OpenFOAM 的随便一个教程文件复制到刚才nasf命令蹦出来的文件夹内(注意是文件夹内,也就是下一层级,我选的是damBreak) 然后你在虚拟机内运行它,可以去Windows那边查看运行得怎么样,当然Ubuntu内肯定也能看,两头都能看。 (第6步结束。)
💡7. 此致(选读内容) 在这里,使用共享文件夹的效果我再次重复描述一下: 1.VM共享文件夹功能,可以让虚拟机只负责充当求解器的作用。 2.仿真的结果、数据全都保存于虚拟机之外的Windows文件夹中,而不是储存在虚拟机中,因此只给虚拟机20~30G,它基本上都用不完。 3.甚至,某天如果虚拟机打不开了,虚拟机被误删除了,仿真结果、数据依然在你的Windows文件夹中。
最后,你还可以打开这个网址 梅赛德斯CFD,然后站起来salute一下
所有流程就结束了以此贴回复 @lyc @liu_shiqi1111 @myheart @李东岳
编程我没啥经验,经常麻烦东岳老师指点迷津,在此分享一点小经验,希望对大家有用。
致谢东岳老师! -
@pengdi PengDi老师您好,请问您提到的颗粒流计算办法具体是?能否麻烦您略微展开说一下。
我看到了V版本的教程中Michael Alletto贡献了一个重叠网格仿真颗粒沉降的案例Settling Sphere by Michael Alletto,用的是overPimpleDyMFoam,我这段时间在看能不能根据这个将物性参数更改一下,从而把案例从圆球沉降改为气泡浮升。
另外,@李东岳 谢谢东岳老师特地帮忙新建帖子。
-
问题简要: 如何将interFoam, interIsoFoam中每次计算界面曲率的时候,人为将曲率给定为一个定值,这个想法如何在interFoam中如何实现。
(我想这样就能代表微细在气泡浮升过程中一直不发生变形,从而通过自由浮升仿真的方式获得气泡浮升终速度。)
我们这篇帖子所提到的都是用固定气泡的方式来分析微气泡的阻力系数。
我导师一直倾向于用自由浮升的方式研究微气泡终速度和阻力系数(因为想的是自由浮升更加接近实际情况),但是测试过程中发现,当气泡尺寸过小时,特别是对于水中自由浮升的微气泡,就下面这篇帖子曾说到的,interFoam算不出来。
或者说不管是interFoam,还是interIsoFoam,他们都算的并不准。
此前我做过相关的计算测试:目的是想用interFoam和interIsoFoam复现出在纯水中1.82mm左右的气泡会发生路径失稳的实验现象(路径摇摆、偏离直线),但不论是速度形状都对的不准,因此当时的结果也并没有保留,感兴趣的朋友如果想复现的话可以从Bubble rising in a spiralling path in a large tank by Lionel Gamet给出的案例更改工质为水中气泡浮升,但是需要注意的是,这个的网格量非常大。纯水中1.82mm左右的气泡会发生路径失稳的说法来源于这篇文献: Duineveld, P.C., 1995. The rise velocity and shape of bubbles in pure water at high Reynolds number. J. Fluid Mech. 292, 325–332.
我想咨询的问题是:
在interFoam模拟微管道中气泡上升,为何气泡不上升?的这篇帖子中,谈论到仿真微气泡仿真为什么不移动,大家主要是从壁面效应带来的阻力,解释了微气泡无法浮升。仿真微气泡自由浮升算不准,除了壁面影响以外,具体是什么原因? 我首先想到会不会是一些文献经常提到虚假流导致的。
我首先想到的是一些文献经常提到虚假流问题,大概就是说表面张力计算不准确,导致在界面重构步骤和界面推进步骤中,表面张力的数值误差反而成为了驱动气泡界面运动的原因,因此使得气泡界面发生非物理的变形。
通过阅读东岳老师的interFoam解析我现在在想,既然微气泡几乎不变形,能不能在每次界面重构步骤中,也就是计算曲率的时候,人为的将微气泡的曲率指定为定值,这样气泡既不变形,又不会引入虚假流,因此想咨询下,人为的将微气泡的曲率指定为定值,这个想法如何实现。
从代码中来看:
void Foam::threePhaseInterfaceProperties::calculateK() { const volScalarField& alpha1 = mixture_.alpha1(); const fvMesh& mesh = alpha1.mesh(); const surfaceVectorField& Sf = mesh.Sf(); // Cell gradient of alpha volVectorField gradAlpha(fvc::grad(alpha1)); // Interpolated face-gradient of alpha surfaceVectorField gradAlphaf(fvc::interpolate(gradAlpha)); // Face unit interface normal surfaceVectorField nHatfv(gradAlphaf/(mag(gradAlphaf) + deltaN_)); correctContactAngle(nHatfv.boundaryFieldRef()); // Face unit interface normal flux nHatf_ = nHatfv & Sf; // Simple expression for curvature K_ = -fvc::div(nHatf_); //我看到interFoam好像是在这里能进行人为更改,因为没有太多C++基础,也没有OpenFOAM编程经验,想向东岳老师再请教确认一下。 // Complex expression for curvature. // Correction is formally zero but numerically non-zero. // volVectorField nHat = gradAlpha/(mag(gradAlpha) + deltaN_); // nHat.boundaryFieldRef() = nHatfv.boundaryField(); // K_ = -fvc::div(nHatf_) + (nHat & fvc::grad(nHatfv) & nHat); }
另外interIsoFoam不知道从哪里改起,没有理解到和curvature相关的计算公式,如果方便,想再麻烦各位老师指点,十分感谢。
-
@李东岳 好的,谢谢东岳老师。
-
@李东岳 东岳老师好,我现在想根据运行时计算得到的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. -
@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.
-
@李东岳 感谢东岳老师,还有Pengdi老师,我有一些想明白的地方,同时也还有一些疑惑的地方,同时还有我最新的验证结果。我缕一缕,继续补充上来!
-
@xiezhuoyu 您好 @xiezhuoyu ,先尝试回答您的提问:
这个图带来了误解(这个图其实是partial-Slip的图,我放这个图主要是想请大家帮忙厘清下u·0和气泡“滑移界面”以及partial-Slip之间的关系)。那么,回到问题上来:
u·η=0(也就是symmetry边界的数学表达,COMSOL里可以看到对称边界的数学方程就是u·η=0)的作用是什么? 我想象对于一个气泡界面处的流体而言,施加这个u·η=0的条件,并不是约束沿气泡界面法向的速度变化,而是要求流体沿壁面“贴体”进行运动,也就是说靠近壁面处的流体,不能沿法向运动,只能沿着切向运动。
但是!切向有没有运动,需要来看切应力的大小,也就是看有没有对切应力做约束。展开来说:如果此时在u·η=0的条件上继续添加切应力为0的约束条件,那么就形成free-slip边界条件;反之,如果添加的是切应力无限大的约束条件,那么就形成noSlip边界条件(u=0)。 -
@pengdi @李东岳 感谢pengdi大佬,感谢东岳老师。您们的讨论很大程度给了我帮助,已经很大程度解答了我的疑惑。
但是!
@pengdi @李东岳 东岳老师和pengdi大佬,我觉得OpenFOAM的slip条件这里,还不能直接否定它,还不该锤它。
我想再请两位老师看看我的这个理解过程,我还拿不准一些地方理解得对不对:
先上图:
(这个图是我自己做的,图和公式都是按照自己的理解分别拼一起的,特别是第三个切应力为0的那个表达式,我甚至觉得他写好像错了,但是我先表达一下我的逻辑和想法,请您们帮忙看看:)
因为OpenFOAM应该内置的是:
- Slip的底层代码执行的内容是:被称为perfect-slip或free-slip的理想滑移条件(不仅要约束法向速度为0,还要约束切应力为0),这一点,OpenFOAM没有错。
- noSlip的底层代码执行的内容是:作为无滑移noSlip(界面处速度为0);这一点,OpenFOAM也没有错。
然而,我在这个帖子内提到的气泡界面“滑移”条件,虽然经常在各种文献中被大家称为“滑移slip”,但是它其实只需要一个约束条件(也就是中间这个,只约束法向速度为0,并不去约束切应力)。
不少文献将其误称为free-slip(比如常州的庞老师那篇文章....可能因为他们雷诺数比较大,然后在大雷诺数时这个边界条件带来的影响不是太明显,又或者是笔误...我很尊敬庞老师并想求签名...先在这里提前为我的comments抱歉。)但不管怎么说,这恐怕是一个错误的叫法。
因为,从下面的文献中的气泡界面法向速度分布的示意图可以看出,界面是有速度的,但是速度达不到主流速度那么大(我的同学和我讨论的结果,认为是Re=0.1时气泡界面速度大概约为主流速度的一半),因此气泡界面边界条件所指的“滑移”必然不是free-slip。
那么,符合这个帖子内提到的气泡界面“滑移”条件(也就是只约束法向速度为0,并不去约束切应力),反而是symmetry边界条件准确描述了这个问题。
(tomiyama这个图具体是需要看最下面的No Marangoni Stress这个地方的法向速度分布图)参考文献: 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. Hosokawa, S., Masukura, Y., Hayashi, K., Tomiyama, A., 2017. Experimental evaluation of Marangoni stress and surfactant concentration at interface of contaminated single spherical drop using spatiotemporal filter velocimetry. Int. J. Multiphase Flow 97, 157–167.
----------------------------------------分割线:回复Pengdi老师------------------------
因此@pengdi ,PengDi老师如果您需要用slip如果是free-slip,那您的仿真其实并没错。
----------------------------------------分割线:新的一些问题和想法------------------------
然后,我现在还存在的疑惑是:
u·n=0是Partial-Slip吗?我看相关文档表示,OpenFOAM内置的Partial-Slip是继承于Slip(free-slip),然后给一个系数,感觉它主要是将界面速度执行为主流速度*系数,对于切应力方面,依然继承了切应力为0的约束条件。
因此我认为u·n=0并不是OpenFOAM中的Partial-Slip,这个观点是否正确?
再次谢谢东岳老师@李东岳 和Pengdi老师@pengdi
-
@李东岳 东岳老师好,fluent我用Axissymmetric的2D算起来并不太顺利,收敛不了,我还在调试。
这段时间主要在看相关文献。后续有进展我会更新上来。
-
@李东岳 好的,东岳老师,再次感谢!
我正在画Fluent网格,有新进展时继续来补充。 -
@李东岳 我在办公室差点哭出声。
依然十分感谢东岳老师,我想再转到Fluent算一下看看情况,有新的进展我再来补充上。
-
@李东岳 东岳老师,稳态之前我用simpleFoam和icoFoam算过(但算的无量纲情况,得到的Cd值也是13.5左右)
刚才做了个带量纲的simpleFoam,结果显示如下,最终Cd值基本持平在13.496左右;
这里是带量纲的simpleFoam案例文件
Re.1.MB.WMesh.AllSlip.Dimension.simpleFoam.zip当时没有选择继续用simpleFoam的原因主要是:
-
①看到其他文献,比如庞明军老师团队的文献,用的瞬态求解器(他们的雷诺数稍大一些,Re最大到200,这个雷诺数范围内依然是符合轴对称流场结构)
-
②找了个wolfdynamics的培训视频中的圆柱绕流的simpleFoam案例来改,但算气泡的收敛判据我不知道怎么给才合适,只是看到simpleFoam一直跑,Cd值大概持平到13.5左右;主要责任是我自己也没往这里多想,因此之前主要都是用pimpleFoam在算。
再次感谢东岳老师
-
-
@李东岳 好的,东岳老师,这是调整好后的带量纲的气泡case文件(刚才我上传的是带量纲的颗粒case文件)
- 气泡直径d: 1.2424e-4m ⏩124.24μm
- 速度U: 8.2745338e-3m/s ⏩8.2745338 mm/s
- 粘度nu: 0.000001028028079312 /m2s ⏩接近真实情况下超纯水粘度
因此雷诺数等于1,用的是层流模型。Re=d*U/nu=1=(1.2424e-4)×(8.2745338e-3)/0.000001028028079312
- 网格已经用transformPoints将每单位长度缩放到气泡半径R:6.212e-5m⏩62.12μm,直径为124.24μm;
- deltaT用的0.0001,能保证计算过程中的最大Co一直小于0.8;
- 总时间换成了 0.75s;(d/U×50(50是之前无量纲case的总时间) = 0.750737s)
Re.1.MB.WMesh.Bubble.AllSlip.Dimension.zip
请东岳老师再帮忙看看,谢谢东岳老师。 -
@李东岳 东岳老师,我全部作无量纲处理了。
- 气泡直径d: 2m
- 速度U: 1m/s
- 粘度nu: 2 /m2s
因此Re=d*U/nu=1×2/2=1
同时我用量纲条件下计算过,真实气泡尺寸,超纯水粘度和微气泡浮升速度
- 气泡直径d: 1.2424e-4m ⏩124.24μm
- 速度U: 8.2745338e-3m/s ⏩8.2745338 mm/s
- 粘度nu: 0.000001028028079312 /m2s ⏩接近真实情况下超纯水粘度
因此Re=d*U/nu=1.2424e-4×8.2745338e-3/0.000001028028079312=1
上述微气泡直径124.24μm的速度取8.2745338 mm/s我想是合理的,因为更关注的是Re,同时大家粘度各不一样,所以速度稍微会有一点区别。
上图对比速度的数据引用于 Pawliszak, P., Ulaganathan, V., Bradshaw-Hajek, B.H., Manica, R., Beattie, D.A., Krasowska, M., 2019. Mobile or Immobile? Rise Velocity of Air Bubbles in High-Purity Water. J. Phys. Chem. C 123, 15131–15138.
以下是有量纲和无量纲的两种情况下的阻力系数结果对比
以及采用实际量纲的case文件 ,请东岳老师再帮忙看看,谢谢东岳老师。
Re.1.MB.WMesh.AllNoSlip.Dimension.zip -
@李东岳 谢谢东岳老师!
之前上传的代码里用于gnuplot作图的AlldragPlot里面的这句代码要改一下 plot "./postProcessing/forceCoeffs/1/coefficient.dat" every ::10 using 1:3 w lp pt 5 axis x1y1 title "Curve of Drag Coefficient" 要把文件路径的1改为0; plot "./postProcessing/forceCoeffs/0/coefficient.dat" every ::10 using 1:3 w lp pt 5 axis x1y1 title "Curve of Drag Coefficient"
-
@李东岳 东岳老师好,目前明确提到这种处理方式的文献,我整理了一下,后续还有相关文献我再继续补充:
-
Bel Fdhila, R., Duineveld, P.C., 1996. The effect of surfactant on the rise of a spherical bubble at high Reynolds and Peclet numbers. Phys. Fluids 8, 310–321.
//一些学者认为是这篇文献的作者团队Duineveld是最先这么做处理的(还有的认为是改变界面滑移性质(noSlip/slip)就能在球体颗粒/气泡之间切换。) -
Kishore, N., Nalajala, V.S., Chhabra, R.P., 2013. Effects of Contamination and Shear-Thinning Fluid Viscosity on Drag Behavior of Spherical Bubbles. Ind. Eng. Chem. Res. 52, 6049–6056.
//这篇文章虽然是做非牛顿流体的,但是也对牛顿流体中的球体做了这种处理方式,并做了对比验证(改变界面滑移性质(noSlip/slip)就能在球体颗粒/气泡之间切换。) -
庞明军, 费洋, 陈小洪, 郭雨晨, 徐梦沁, 2019. 雷诺数和界面污染程度对气泡水动力学特性的影响. 农业工程学报 35, 99–105.
*费洋, 庞明军, 2017. 球形气泡界面变化对尾涡性质和尺寸的影响. 化工学报 68, 3409–3419.
Fei, Y., Pang, M., 2018. The influence of interface contaminated degree on the wake characteristics of a spherical bubble at moderate Reynolds number under the condition of isothermal flow. International Journal of Heat and Mass Transfer 121, 79–83.
常州大学的庞明军老师团队经常在Fluent中采用这种处理方式,得到的结果也非常好(改变界面滑移性质(noSlip/slip)就能在球体颗粒/气泡之间切换。)
庞明军老师团队⬇(两篇文献英汉都发了一下,中间那个CD的图在中文文献中有)
Duineveld团队⬇
以及其他学者的验证⬇
东岳老师,我最近在OpenFOAM的楔形网格,以及用SHM挖一个空心球体并铺设边界层的全三维网格里都继续算了一下,依然是:
①颗粒(无滑移界面noSlip)的阻力系数和Schiller-Newman 公式(Cd=24/Re*(1+0.15*Re^0.687))符合得挺好
②气泡(界面滑移slip)的时候,阻力系数值就很低,只有13~14左右,按照相关的经验公式或者理论公式来看,是不能低于16的,最好是在17.6~18(Mei公式-1994年和Taylor公式-1964年)。然后fvScheme也按照文献里说得格式调了调,并没有多大的区别。
我这段时间在想是不是自己对滑移条件的理解不正确,也就是说文献中说的边界滑移和OpenFOAM的slip边界条件会不会不是一回事,但是看下来感觉是一样的,没能进一步看出个所以然来 。再次有劳请大家指点迷津,多谢!
-
-
@李东岳 谢谢东岳老师回复,这里怪我没表述清楚。
东岳老师,气泡的变形是忽略了的,因为Re=1的时候,对于超纯水中的气泡来说基本上都是尺寸非常微小气泡,从文献中来看,由于不同文献测量给出的粘度有细微差别,最终对应的气泡直径大概在一百微米+的级别(大约100~120μm),因此不考虑变形。(Stokes定律Cd=24/Re,H-R理论解Cd=16/Re都是基于球形假设,也是未考虑变形的。)
-
@李东岳 东岳老师好, 我现在用二维楔形网格算出来的圆球绕流结果挺好,基本上符合了Schiller-Newman 公式(Cd=24/Re*(1+0.15*Re^0.687)). 算出来的Cd值大概是27.6(SN公式也是27.6)
我主要想验证的事是一些文献谈到的:
①颗粒-界面无滑移noSlip-则Cd值符合Stokes解析解Cd=24/Re(Schiller-Newman 公式是Stokes定律考虑了惯性项的修正公式),
②纯净气泡-界面滑移slip-则Cd值符合H-R理论解Cd=16/Re。我计算域的边界设置就如同下图
我想的是只需要改变小孔处界面滑移性质(noSlip/slip)就能在球体颗粒/气泡之间切换。
基于此,颗粒算出来的Cd值大概是27.6,但是,在其他文件什么内容都不变的情况下,只将U,P文件的边界条件从noSlip改为了slip(也就是从颗粒转到气泡)
得到的阻力系数就有问题了,太低了,只有13+,理论来说应该16才对呀,我现在又不指导问题出在哪里了。
请东岳老师和各位大佬再度指点迷津,多谢!
我在这里上传了case文件,再次谢谢东岳老师。
Re.1.MB.WMesh.AllSlip.zip -
@李东岳 东岳老师好,我突然想到Stokes定律Cd=24/Re是忽略了惯性力项的,因为Re已经接近1了所以CD因该要比24大,我查了查文献,按照Schiller公式应该是在27~28左右。
Schiller, L., 1933. A drag coefficient correlation. Zeit. Ver. Deutsch. Ing. 77, 318–320.
-
@李东岳 我也不知道呀,东岳老师。这个是JózsefNagy.Case.zip 老师用的Case,他对此做了很大雷诺数范围的圆球绕流阻力系数验证,咋一看Re=1时结果挺好,但是切回到线性坐标看的话,Re=1时的阻力系数是37.4453(József Nagy老师在他的网页给的具体数据)
当然,József Nagy老师可能是以教学示例为主,没有过多讨论这个事。
看到其他论文用COMSOL算的结果,馋哭了,不得不说吻合得真好(目前使用openFoam是导师给的限定条件,怎么能向商软低头!)。
我也非常懵,Stokes流(Re≤1)的圆球绕流仿真还没有找到比较好的参考案例。
我最近在尝试看画个楔形网格来算。 -
东岳老师好,各位大佬、老师同学好:
最近需要做有关蠕动流(Re≤1)时的圆球绕流的阻力系数验证工作,但是曳力系数一直都算不准,算出来的阻力系数不满足Stokes定律Cd=24/Re;
因为我目前仅验证的是Re=1的情况,得到过的阻力系数基本上都是在30+,不管换ico, simple, pimpleFoam求解得到的结果都不对,下图是用pimpleFoam的求解结果,继续算下去仍然是降不下去的:
理论值(24/Re)应该接近24,我也去找了József Nagy演示圆球绕流的文件来看,发现他算的Re=1时阻力系数结果是37.4453,在这里附上我用的一个Case文件,希望各位指点迷津,感谢!
dyfluidAttachment.zip- 另外:ControlDict中functions内的forces_object和forceCoeffs_object我特地在圆柱绕流时验证过,我另外还拿Paraview自己测量过压差阻力,两个函数forces_object和forceCoeffs_object给出的数据应该是没错的,所以问题点应该不是在functions这里。*
-
@bestucan 感谢,follow path 和follow data 都很好用
-
东岳老师、各位大佬、CFDer:
大家新年好!
请问一下,如何在paraview中将对象一直固定在窗口中心?
因为在多个时间步播放后,气泡总是跑出paraview的窗口,我查了好久都没能找到怎么操作,目前每帧都是单独手点 ,能否有大佬指点一下,谢谢!具体情况如下:这是初始时刻保持在中心的样子:
一定时间步之后就跑出paraview的视图窗口了
-
@李东岳 啊 ,东岳老师,您这么一提醒我才发现自己没有去看paraview.org的Linux分页面,我之前心思一直都在paraview.org的win版本页面上 ,再次谢谢东岳老师,抱歉又给您添麻烦了 。
-
@李东岳 感谢东岳老师,麻烦您了。
-
各位老师大家好,课题组此前有一台服务器,完完全全是把经费全砸在了算力上,因此没有独立显卡,似乎集成显卡是只有16M
在win系统下,我从paraview.org下载了paraview5.10的exe版本和zip的免安装版本,打开之后都是直接无响应,然后约3s后直接闪退。
查询了各种办法,都尝试了,目前唯一可行的办法是,东岳老师dyfluid.com里的paraview5.6绿色版能在VMware中正常使用,还得是dyfluid!但是我因为处理ktv格式,似乎paraview5.10版本会更方便,但是没有找到相关的paraview5.10绿色版。
因此,有劳各位老师和大佬指点迷津,没有显卡,是否是我在win系统下Paraview无法打开和运行的根本原因?谢谢大佬!真心推荐大家,有机会有条件还是上dyfliud搞个塔式!架式!加特林!东岳老师的机器真的香。
-
@唐唐唐呜呜 把需要的部分提取出来后,再用Angular periodic filter,选好旋转轴和角度就可以。
比如:wedge.foam—>iso valume —> Angular periodic filter—>Z轴,间隔为X度 —>apply就可以 -
@韬智tz
我手里有个现成的一个topsetDict,具体的各行作用暂时回答不上,要不你先试一下:set c0; coordinateSystem global; globalCoeffs { tan1 ( 1 0 0 ); tan2 ( 0 1 0 ); } patchLocalCoeffs { patch outside; // Normal direction is facenormal of zero'th face of patch tan1 (1 0 0); tan1 (0 0 1); } directions ( tan1 normal ); useHexTopology yes; geometricCut no; writeMesh no;
-
@韬智tz
你好!韬智tz
在判断问题点之前,先咨询一下:你的命令顺序是怎么样的?
是不是每次直接就接着做了refineMesh?
还有加密的方向对不对?
如果方便的话 给看一下代码和命令行 -
@韬智tz 你好!韬智tz
我用boxToCell 能加密成功
不妨一试:actions ( { name c2; type cellSet; action new; source boxToCell; box (0 -0.01 0) (0.002 0.01 0.0075); } );
-
@李东岳 东岳老师好~
是的 我以前添加您微信的时候 ID也叫这个 -
@yu_tian 你也来了 老哥 咱俩又见面了 之前这玩意查了好久 一直不知道咋整
-
@xpqiu xpqiu老师您好! 感谢您的回复,我大致明白了您对前两个方式的解释!谢谢您!
至于在第三种方式中,提到的 "改了interIsoFoam.C旁边的UEqn.H"
是指的UEqn.H和interIsoFoam.C文件都在同一目录下,即:~/applications/solvers/multiphase/interIsoFoam目录。以后发帖我一定多多注意自己的措辞,耽误了您的时间,同时为上一次打错了您的昵称抱歉。
再次谢谢您xpqiu老师
Vmware虚拟机总是提示储存空间不足?扩容也麻烦!可以尝试使用“共享文件夹”,教程step by step!
OpenFOAM计算圆球绕流过程中,如何输出切向粘性阻力系数和法向粘性阻力系数?或是如何从输出的结果中计算得到?
OpenFOAM计算圆球绕流过程中,如何输出切向粘性阻力系数和法向粘性阻力系数?或是如何从输出的结果中计算得到?
OpenFOAM计算圆球绕流过程中,如何输出切向粘性阻力系数和法向粘性阻力系数?或是如何从输出的结果中计算得到?
滑移边界条件和对称边界条件有什么区别?
滑移边界条件和对称边界条件有什么区别?
如何自定义修改symmetry边界条件,使其不要求0文件夹下各个文件内一定保持是symmetry?
如何自定义修改symmetry边界条件,使其不要求0文件夹下各个文件内一定保持是symmetry?
Stokes流中的圆球绕流的阻力系数,怎么设置才能算准。
如何自定义修改symmetry边界条件,使其不要求0文件夹下各个文件内一定保持是symmetry?
Vmware虚拟机总是提示储存空间不足?扩容也麻烦!可以尝试使用“共享文件夹”,教程step by step!
Vmware虚拟机总是提示储存空间不足?扩容也麻烦!可以尝试使用“共享文件夹”,教程step by step!
Vmware虚拟机总是提示储存空间不足?扩容也麻烦!可以尝试使用“共享文件夹”,教程step by step!
如何人为将曲率给定为一个定值
如何人为将曲率给定为一个定值
Vmware虚拟机总是提示储存空间不足?扩容也麻烦!可以尝试使用“共享文件夹”,教程step by step!
虚拟机占用磁盘空间不断增大怎么破?
如何人为将曲率给定为一个定值
如何人为将曲率给定为一个定值
Stokes流中的圆球绕流的阻力系数,怎么设置才能算准。
Stokes流中的圆球绕流的阻力系数,怎么设置才能算准。
Stokes流中的圆球绕流的阻力系数,怎么设置才能算准。
Stokes流中的圆球绕流的阻力系数,怎么设置才能算准。
Stokes流中的圆球绕流的阻力系数,怎么设置才能算准。
Stokes流中的圆球绕流的阻力系数,怎么设置才能算准。
Stokes流中的圆球绕流的阻力系数,怎么设置才能算准。
Stokes流中的圆球绕流的阻力系数,怎么设置才能算准。
Stokes流中的圆球绕流的阻力系数,怎么设置才能算准。
Stokes流中的圆球绕流的阻力系数,怎么设置才能算准。
Stokes流中的圆球绕流的阻力系数,怎么设置才能算准。
Stokes流中的圆球绕流的阻力系数,怎么设置才能算准。
Stokes流中的圆球绕流的阻力系数,怎么设置才能算准。
Stokes流中的圆球绕流的阻力系数,怎么设置才能算准。
Stokes流中的圆球绕流的阻力系数,怎么设置才能算准。
Stokes流中的圆球绕流的阻力系数,怎么设置才能算准。
Stokes流中的圆球绕流的阻力系数,怎么设置才能算准。
Stokes流中的圆球绕流的阻力系数,怎么设置才能算准。
Stokes流中的圆球绕流的阻力系数,怎么设置才能算准。
如何在paraview中将对象一直保持在视图窗口的中心?
如何在paraview中将对象一直保持在视图窗口的中心?
没有显卡的win系统电脑,是否根本无法打开Paraview5.10/5.11?
没有显卡的win系统电脑,是否根本无法打开Paraview5.10/5.11?
没有显卡的win系统电脑,是否根本无法打开Paraview5.10/5.11?
【求助帖】2D轴对称楔形模型局部加密refinemesh时,在对称轴位置网格出现不均匀现象
关于wedge边界的使用
关于wedge边界的使用
关于wedge边界的使用
关于wedge边界的使用
关于wedge边界的使用
interFoam修改随时间变化的重力