謝謝老哥,後來用的歪門邪道搞定的,你説的這個方法不錯 @bestucan
yfclark
帖子
-
-
在slice云图上作出一条黑线怎么做想做一条X=0这样的线
( -
模板类函数的继承在子类里面调用需要声明用的是父类的函数,所以你直接改最底层的的那个调用的时候是找不到的
-
速度平均还是不会做,不过发现湍流强度对计算结果影响很大,大家算两相流的注意一下
-
对的,这个不好说,但是SMD对得上,就想着速度也赶紧对上就好了
-
各位大佬好,最近在用自己开发的求解器LES算横向射流,最后统计粒子在某条线上的粒子的平均速度,发现和实验差别还蛮大的,需要像欧拉场一样做时间平均吗?有如何处理的idea吗?
-
@东岳 ok,明白了,谢谢东岳老师
-
@东岳 Ueqn没有处理,是通量的符号出了问题吗?
-
@东岳 对的,按照理论来讲只是方程的系数变了一个符号,相当于
solve(pEqn==0) 和solve(-pEqn==0) -
最近修改方程发现
-fvc::div(phiHbyA)+fvm::laplacian(rAUf, p_rgh)
fvc::div(phiHbyA)-fvm::laplacian(rAUf, p_rgh)
求解的稳定性完全不一样前者稳定,后者发散了,觉得很奇怪,大佬们有何高见@东岳 -
有没有办法把自己的一些设置保存下来,下一次直接加载使用啊,自己在使用过程中,label的字体样式和背景什么的每次会调整为与paraview默认不同的情况,下一次打开paraview的时候又变成了默认,感觉在重复劳动,有没有大佬有相关的使用经验
-
这年头还在做解析解的不多了
-
@bestucan 感谢分享,EvenlySpacedStreamlines2D效果不好,经常处问题,我采用surfaceVector filter来替代效果很好,另外random attribute确实很有用,可以实现tecplot类似带方向的流线
-
@bestucan 我在看看,软件这种问题在不同的机器上没法说
-
@bestucan 那个二维的我试过了,和评论里面一样,试了最新的light版,遇到了相同的报错
-
各位大佬好, 我最近使用OpenFoam欧拉拉格朗日方法进行横向射流雾化的模拟,但是在后处理上遇到一些问题:
1)paraview能否绘制像paraiew一样带箭头的流线?
2)paaview 如何在二维平面内绘制流线
3)我使用的是OpenFoam7,尝试安装foamtotecplot360失败,大家有相关经验吗? -
@bestucan 学到了,感谢
-
@xpqiu ok,感谢
-
超算系统降级后,原先编译的openfoam不行了,如何清除已经编译过得信息,重新编译
-
是否用了周期性或者对称边界条件?
-
我觉得应该,但是传统的欧拉朗日方法基本认为粒子不占体积,所以你 有没有alphac基本没有影响
-
@zwl 可以在主程序里面对mesh的每个cell遍历每个时间步都打印出来:
label count=0; forAll(mesh.cells(),celli) { if((surfacemin< alpha1[celli]) && (alpha1[celli] <surfacemax)) { count++; } }
也可以在matlab或者python中处理
-
能用钱解决的问题都不是问题
-
@r07522121
2.1.3.1 Statistical Convergence Study
In order to ensure a sufficient number of computational parcels are injected into
the simulation to statistically represent the spray, a statistical convergence study is
performed.
来自文章MODELING THE INFLUENCE OF
NOZZLE-GENERATED TURBULENCE ON DIESEL
SPRAYS
我的理解是必须要有足够多的粒子才能代表连续的的液滴,调节 parcelsPerSecond是最简单的方法 -
@r07522121 你可以增加初始液滴的入射速率parcelsPerSecond,拉格朗日方法本身就是靠离散的液滴入注来模拟连续的液体入注,只有入注的速率足够快才能模拟连续液体入注,很多文献都会研究不同的入注速率,然后说达到某个速率就行了,就像网格无关性一样
-
@r07522121 你的意思是液滴分布和你预期的不同吗?应该分布更加散而广?
-
paraview一般显示的是部分粒子,可能你每次显示的都是相同数量的粒子,所以看数量是不可取的,直接后处理看smd的分布就能看出有没有破碎,另外我对这块也挺感兴趣的,能咨询一下有使用一次雾化模型吗,还是只有二次雾化,你的算例的前端看起来像blobs
-
@ 东岳 论坛什么时候增加一个帖子收藏功能,有时候看到的好帖子,过了几天就找不到了
-
补充一个CodeStream实现充分发展的湍流入口,请东岳老师不要建议
$\begin{array}{l}
\delta_{T}>\delta_{w} \rightarrow u=u_{\infty}\left(\frac{d_{w}}{\delta_{T}}\right)^{1 / 7} \
\delta_{T}<\delta_{w} \rightarrow u=u_{\infty}
\end{array}
\delta_{T}=0.37\left(v / u_{\infty}\right)^{0.2} L_{T}^{0.8}
$
dw为到壁面的最短距离OpenFoam 7:
gasinlet { type fixedValue; value #codeStream { codeInclude #{ #include "fvCFD.H" #include "DynamicList.H" #}; codeOptions #{ -I$(LIB_SRC)/finiteVolume/lnInclude \ -I$(LIB_SRC)/meshTools/lnInclude #}; //libs needed to visualize BC in paraview codeLibs #{ -lmeshTools \ -lfiniteVolume #}; code #{ const IOdictionary& d = static_cast<const IOdictionary&> ( dict.parent().parent() ); const fvMesh& mesh = refCast<const fvMesh>(d.db()); const label id = mesh.boundary().findPatchID("gasinlet"); const fvPatch& patch = mesh.boundary()[id]; vectorField U(patch.size(), vector(0, 0, 0)); const scalar U_inf=93.5; const scalar LT=0.2; const scalar visco=2.3183558929634845e-06; const scalar deltaT=0.37*pow(visco/U_inf,0.2)*pow(LT,0.8); scalar dw=0.0; forAll(U, i) { const scalar x = patch.Cf()[i][0]; const scalar y = patch.Cf()[i][1]; const scalar z = patch.Cf()[i][2]; DynamicList<scalar> distance(4); distance.append(mag(y)); distance.append(mag(y-30e-6)); distance.append(mag(z-23e-6)); distance.append(mag(z+23e-6)); dw=min(distance); distance.clearStorage(); scalar Ux=0.0; if(deltaT>dw) { Ux=U_inf*pow(dw/deltaT,1.0/7.0); } else { Ux=U_inf; } U[i] = vector(Ux, 0, 0); } writeEntry(os, "", U); #}; }; }
-
最近看到这样的一篇文章,提到了三种解决粒子比网格更大的处理方法 https://www.sciencedirect.com/science/article/pii/S1385894719333790
-
@Yufeng-Wei 要么改用基金会版本,基金会版本专门做了优化,自动把质心坐标转化为三维坐标,要么试一试这个https://github.com/blueCFD/lagrangianExtraFunctionObjects
-
还有PPT,专业啊
-
不太清楚你在模拟什么问题,如果是两相流的液滴或者气泡,VOF方法把界面附近的边界条件处理为了压力跳跃(表面张力),内部就不需要边界条件了,如果内部是固体的话,固体不变形,画网格的时候直接处理就行,固体变形的话需要流固耦合
-
@小考拉 你好这个问题我和我师兄讨论过,你不可能输出瞬时的脉动速度场,因为湍流模型根本就没有求解脉动速度,只能输出二阶矩这种统计值,建模的话可以假设三个方向的速度大小相同,给出脉动速度的大小,但是不能给出速度的方向
-
应该是除法的问题,壁面附近的粒子数为0,分母和分子都很小,但是分子的量级更小,才会出现局部大值,建议特别处理这种情况
-
-
最近发现一个问题可能导致粒子追踪死循环,之前我的patchInteractionModel被设置为None,粒子在边界上追踪陷入死循环,现在设置为localInteraction后不再出现该问题
-
缩小模型只能保证一个无量纲数相同,一般的流动考虑雷诺数就行,缩放会带来一些非真实的物理效应,但是计算量不够就不要讲究了
-
入口边界条件?我有一个问题,最近看到一些模拟射流的把入口延长了一段,加了管内流动,用来避免喷管直接出口处的较大的梯度,东岳老师怎么看@东岳 ,不知道您的入口速度怎么给的
-
不太懂算法,不可压缩的时候压力的大小确实没有意义,但是涉及到空化现象时,压力是有意义的,算空化源项时,应该是实际的压力和空化压力在作比较,不能随便设吧
-
速度云图
-
各位大佬好,我最近正在用compressibleInterFoam计算射流问题,求解出来的相体积分数分布如下:
感觉分布不是很正常。
我的fvScheme设置如下:对流项和扩散项: div(phi,alpha) Gauss vanLeer; div(phirb,alpha) Gauss linear; div(rhoPhi,U) Gauss linearUpwindV grad(U); div(rhoPhi,T) Gauss linearUpwind grad(T); div(phi,p) bounded Gauss Gamma 0.2; div(rhoPhi,K) bounded Gauss Gamma 0.2; div(phi,k) bounded Gauss Gamma 0.2; div(phid1,p_rgh) bounded Gauss Gamma 0.2; div(phid2,p_rgh) bounded Gauss Gamma 0.2; div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear; //turbulence model div(rhoPhi,k) bounded Gauss Gamma 0.2; div(rhoPhi,epsilon) bounded Gauss Gamma 0.2; //other turbulence model div(rhoPhi,R) bounded Gauss Gamma 0.2; div(rhoPhi,omega) bounded Gauss Gamma 0.2; div((rho*R)) Gauss linear; div(R) Gauss linear; div(U) Gauss linear; div((muEff*dev(T(grad(U))))) Gauss linear; div((muEff*dev2(T(grad(U))))) Gauss linear;
边界条件:
入口速度入口压力零梯度
出口为压力无反射边界条件 -
@Tong 非常谢谢,DynamicList应该是连续空间分配,一开始还要给定空间大小,LinkedList动态链表可以不用先声明大小,非常好用
-
@Samuel-Tu DynamicField虽然叫Dynamic但声明的时候必须先给定大小,一般先选一个大一点的size初始化,用append添加元素,再用shrink删除多余的空元素。
-
@Tong OpenFoam有没有动态列表,那种不用一开始给定大小,有一个元素添加一个元素的,(不确定容器的大小),HashTable用起来不太顺手
-
科研做得好不如找个好老婆
-
没有指导意见,我现在用的sctoch划分,说的是划分后交界面最小,好像也没比simple快
-
有相同的经历,我的看法是粒子穿越不同的核时的数据交换影响了计算效率,单个粒子穿过的核越多,计算效率就越低
-
因为分散力模型无法找到,https://zhuanlan.zhihu.com/p/90057423
-
@白礼耕 感谢回复,网格和粒子直径比确实小,最小比例为5,我会排查的,另外我最近也在尝试渐变网格,您使用过这样的网格算拉格朗日粒子追踪吗,我之前只在欧拉方法中用过,没有问题,不知道用在粒子追踪上算法能否处理,有什么需要注意的请指教
paraview作图求助
paraview作图求助
cloud 编译错误,求提示
LES拉格朗日粒子速度时间平均
LES拉格朗日粒子速度时间平均
LES拉格朗日粒子速度时间平均
fvMatrix 的系数正负求解稳定性
fvMatrix 的系数正负求解稳定性
fvMatrix 的系数正负求解稳定性
fvMatrix 的系数正负求解稳定性
paraview设置使用用户设置
【分享】惊为天人!手算地震水动力荷载!
paraview如何绘制二维流线
paraview如何绘制二维流线
paraview如何绘制二维流线
paraview如何绘制二维流线
已经编译过的openfoam如何重新编译
已经编译过的openfoam如何重新编译
已经编译过的openfoam如何重新编译
求助,算例报错,好像是液滴跑到网格外?
MPPICInterFoam 的Ueqn中到底該不該再乘以alphac
paraview数据后处理
审稿人说我的论文poorly written
使用Breakup Model下無法顯示破碎的拉格朗日粒子(child droplets)
使用Breakup Model下無法顯示破碎的拉格朗日粒子(child droplets)
使用Breakup Model下無法顯示破碎的拉格朗日粒子(child droplets)
使用Breakup Model下無法顯示破碎的拉格朗日粒子(child droplets)
OpenFOAM里kOmega模型的问题
OpenFOAM小代码
拉格朗日粒子光滑到周围网格
拉格朗日一个bug
ThermoMPPICFoam
如何给定网格内部面上的流动参数?
湍流速度脉动
不知道为什么会生成特别蛋疼的field
不知道为什么会生成特别蛋疼的field
拉格朗日粒子追踪死循环
缩比模型仿真,降低硬件要求
fixedFluxPressure和zeroGradient
压力修正算法不可避免地导致负压?
多相流射流求解
多相流射流求解
《OpenFOAM用户指南》勘误
<type>Field的一些问题
《OpenFOAM用户指南》勘误
2015-2019年度总结
关于DecomposePar 的问题
关于DecomposePar 的问题
DPMFoam为何单独编译一下湍流模型
拉格朗日粒子追踪死循环