想实现在模型内部添加连续随机颗粒,想问问关于patchInjection和coneNozzleInjection的入射函数
-
大家好,关于两相流,我想在openfoam中实现一个功能。如图1,流体相从入口截面A进入圆管,然后在圆管中间某一个位置有截面B,将这个面作为一个虚拟入口面,添加随机分布的离散的颗粒(这个面只是用于添加颗粒,而不影响流场)。相当于流体在经过截面B的时候,遇到了这些凭空出现的颗粒并一起流入区域D。并且颗粒的添加需要是连续的和随机分布的。
图1.
我有试过将截面B创建为一个Patch,然后选用patchInjection添加颗粒,但是试过边界条件为zeroGradient, inletOutlet等,计算都无法收敛。
现在选用的方法是使用coneNozzleInjection,将其outerDiameter设置为直径大小,innerDiameter设置为0,目前可以实现连续的颗粒入射,但是有一个问题是颗粒都集中在中央,如图2所示的白色颗粒,并不是像patchInjection一样的随机分布。
图2.
所以现在想问问:
1.怎样将patchInjection里关于颗粒入射的函数加入到coneNozzleInjection里,从而在后者里实现随机分布地连续入射?
2.有没有其他的思路可以实现这一功能?
在此先谢谢各位了。 -
@东岳 谢谢东岳老师回复。我只知道ManualInjection需要一个position file来定义颗粒的初始位置,虽然这个初始位置可以定义一批随机的值,但是并不是连续的吧。请问连续注入不同位置的随机分布的颗粒,可以通过这个实现吗?
-
我看了下,确实不是连续的。在ManualInjection.C文件中:
template<class CloudType> Foam::scalar Foam::ManualInjection<CloudType>::timeEnd() const { // Injection is instantaneous - but allow for a finite interval to // avoid numerical issues when interval is zero return ROOTVSMALL; }
我看了一下,可以用cellZoneInject:
Description Injection positions specified by a particle number density within a cell set. User specifies: - Number density of particles in cell set (effective) - Total mass to inject - Initial parcel velocity Properties: - Parcel diameters obtained by PDF model - All parcels introduced at SOI
你试试这个?
PS. 你需要用topoSet做一个cellSet出来toturial里面有