问题的场景是这样的,过热的液体从小孔中喷出,在此过程中,会发生剧烈的相变并形成和欠膨胀气体类似的激波结构。实验中也观察到了这个现象。试验过程中发现,随着温度升高,马赫盘距离出口的位置会基本不变或略微增加,但是模拟过程中却发现,激波宽度和实验值对应的比较好时,随温度升高马赫盘距离出口处位置在减小,尤其是在低温时,激波的拉长非常明显。使用fluent、OpenFOAM计算时都是这个结果。以及如果只看液相的分布时,从喷孔出来的液相沿水平方向的扩散很弱,实验中能够观察到比较明显的浓区的膨胀。想请教下这里可能的原因是什么?(从左向右温度逐渐升高)
可能是表面张力的影响么,在对这一现象建模时,通常会忽略表面张力。
Lubing
帖子
-
请教一个关于两相流激波的问题 -
AMR计算完成后reconstructParMesh也正常,但是reconstructPar报错OpenFOAM中使用multiDimAMR编译和运行正常,使用reconstructParMesh也正常,但是之后再使用reconstructParMesh会报错。
第一个时刻还是正常的,第二个时刻发生报错,还有一个算例是第5个时刻开始报错,报错内容一样。使用paraview中的decomposePar也能查看结果,为什么会出现这个问题呢~
Reconstructing fields for mesh region0
Time = 0.01
Reconstructing FV fields
Reconstructing volScalarFields
alpha.water
alpha.water_0
p
p_rgh
rAU
Reconstructing volVectorFields
U
Reconstructing surfaceScalarFields
alphaPhi0.water
phi
Reconstructing surfaceVectorFields
Uf
Reconstructing point fields
No point fields
No lagrangian fields
No FA fieldsTime = 0.02
--> FOAM Warning :
From virtual Foam::polyMesh::readUpdateState Foam::polyMesh::readUpdate()
in file meshes/polyMesh/polyMeshIO.C at line 210
Number of patches has changed. This may have unexpected consequences. Proceed with care.
--> FOAM Warning :
From virtual Foam::polyMesh::readUpdateState Foam::polyMesh::readUpdate()
in file meshes/polyMesh/polyMeshIO.C at line 210
Number of patches has changed. This may have unexpected consequences. Proceed with care.**--> FOAM FATAL ERROR: (openfoam-2012)
Processor 2 has a different polyMesh at time 0.02 compared to any previous processors.
Please check time 0.02 directories on all processors for consistent mesh files.From Foam::polyMesh::readUpdateState Foam::processorMeshes::readUpdate() in file processorMeshes.C at line 192.**
FOAM exiting
-
ELSA+滑移速度模型的植入中曳力项中存在除以0的项怎么处理这里如果使用SMALL,当接近零的时候,Y_s的值会接近零,滑移速度为0,也是符合原理的。但是我不确定OpenFOAM在计算时是否Y_s会真的趋向于0,请大佬们看看是否有更好的处理方法
-
ELSA+滑移速度模型的植入中曳力项中存在除以0的项怎么处理在单流体mixture模型中,植入曳力模型中除以0的问题,想问下该怎么处理:
整个框架中使用omega-Y方程计算液滴粒径
再使用计算得到的粒径计算曳力,求解滑移速度
但是在纯液体以及纯气体中会出现液滴粒径为0的情况,这就导致其中nd(网格中的粒子数目)会出现为零的情况,想请教下这种情况下直接使用SMALL有用么,还是需要别的特殊的处理方法,非常感谢~
-
drift-flux model中相对速度计算问题就是在存在Y=1的区域的时候,如果Ur不合理,会导致发散
-
drift-flux model中相对速度计算问题方程19处理成固定值是指Ur的大小方程都恒定么?这个时候不会出现震荡,但是遇到了一个问题,就是Y在计算时会超过1,应该算是过度堆积?这种问题应该怎么处理呢~ 这里我也使用了MULES进行限制。
MULES的调用是这样的void Foam::mulesWithDiffusionImplicitLimiter ( const volScalarField& rho, volScalarField& Y, const surfaceScalarField& phi, scalarField& lambdaFace, surfaceScalarField& rhoPhif, surfaceScalarField& diffFlux, const surfaceScalarField& Dmi, const fvScalarMatrix& SuSp ) { const fvMesh& mesh = rho.mesh(); const word Yname (Y.name()); Y.rename("Yi"); upwind<scalar> UDs(mesh, phi); fvScalarMatrix YConvection ( fv::gaussConvectionScheme<scalar>(mesh, phi, UDs).fvmDiv(phi, Y) ); surfaceScalarField rhoPhifBD (YConvection.flux()); surfaceScalarField& rhoPhifCorr = rhoPhif; rhoPhifCorr -= rhoPhifBD; volScalarField Su ( "Su", SuSp & Y ); MULES::limiter ( lambdaFace, 1.0/mesh.time().deltaTValue(), rho, Y, rhoPhifBD, rhoPhifCorr, zeroField(), Su, oneField(), //psiMax, zeroField() //psiMin, ); Y.rename(Yname); }
-
drift-flux model中相对速度计算问题我参考的是这篇文章~
1-s2.0-S0301932221001397-main.pdf -
drift-flux model中相对速度计算问题现在植入的Udm的方程是这样的:
Udm =rhoc * alphac / rho * UdcMag * A /mag(A+epsilon)*
( exp(-a1_*max(alphad_ - residualAlpha_, scalar(0)))- exp(-a_*max(alphad_ - residualAlpha_, scalar(0))) );
其中A是加速度
出现这种类似于棋盘一样的状态,可能是因为这里使用的参数的问题么~
- exp(-a_*max(alphad_ - residualAlpha_, scalar(0))) );
-
drift-flux model中相对速度计算问题请教个问题,就是再滑移速度模型植入时,出现了类似于棋盘一样的相对速度Udm,想问下这种问题该怎么处理呢~
求解器更换成了twoPhaseMixingCentralFoam(Kraposhin Matvey的求解器https://github.com/unicfdlab/hybridCentralSolvers),在其中的YEqn中添加了滑移速度Udm的通量,但是出现了Udm的棋盘一样的变化,不清楚问题出在了哪里,请大佬指条明路~
Udm植入时使用了固定大小的Udc,Udc的方向由加速度方向决定(认为气液两相惯性的差异导致速度的差异)。
这个算例在孔内是50%质量含气率的气液两相,入口压力10MPa,温度383K,(这是个测试,并非真实场景) -
drift-flux model中相对速度计算问题我在计算的课题是欠膨胀气液两相流内的激波,想看看滑移速度的影响,有没有可能计算的场景的瞬态特征导致了计算的不稳定啊~
-
drift-flux model中相对速度计算问题这个模型是不是存在一个问题,就是滑移速度在计算时除了和加速度相关,与雷诺数相关,似乎与别的参数没有什么关系。这就会导致随着加速度的增加,滑移速度急剧增加,这里是否还缺少能量上的约束以避免出现不合理的结果呢
-
drift-flux model中相对速度计算问题把源代码放上来,我用的是v2312版本的OpenFOAM,tutorials里面有参考算例
compressibleDriftFoam.zip -
drift-flux model中相对速度计算问题在将这个方程植入到OpenFOAM中之后,出现了明显的相对速度的震荡,惯性加速度最大能到10^5m/s2。植入时直接使用- fvc::ddt(U) - (U & fvc::grad(U))进行计算,使用的时1D的气液激波管问题做的验证,此时无滑移时的速度为20m/s左右,
给定滑移速度时计算的速度场没有震荡,使用的是OpenFOAM中的general方法。
想了解下出现这种问题的可能原因是什么呢~ -
drift-flux model中相对速度计算问题谢谢李老师,我先试试~
-
drift-flux model中相对速度计算问题fluent中提供了不同的滑移速度的计算方法,我想尝试将其移植到OpenFOAM中去,在处理滑移速度的时候遇到了问题:相对速度计算时需要用到相对雷诺数,相对雷诺数计算时需要用相对速度,有点套娃的感觉。这里在计算时需要使用迭代计算的方法么,有没有资料可以参考呢~ 先行谢过各位大佬~
-
OpenFOAM膨胀喷管边界条件设置关联的问题,线没有关联好,放到了wedge类中了
-
compressibleInterFoam中植入drift flux的过程是否正确我先用一维气液激波管试试看看会不会有显著的震荡,谢谢李老师详细的解答~
-
compressibleInterFoam中植入drift flux的过程是否正确了解了,密度梯度那里是个点乘,v1m·grad(rho1),在这种情况下是不是也有可能出现有激波时的震荡啊,因为直接使用了密度的梯度~
-
compressibleInterFoam中植入drift flux的过程是否正确了解了,谢谢李老师~为什么右边的密度梯度是错的呢~
-
compressibleInterFoam中植入drift flux的过程是否正确我大概理解李老师的意思了,我对OpenFOAM中的MULES的原理理解的不透彻,李老师的意思应该是直接基于第一个方程:
直接求解此方程,漂移对流项放到前面去。
我这里处理的时候是想同时使用这两个方程:
最终构造成
,把漂移的影响分开到了源项和对流项中,需要同时修改alphaEqn和alphaSuSp。您觉得这样处理有必要么~
73348540-9b27-449d-9432-26ec0c6fe88b-alphaEqn.H d6ed1b9c-4078-46e3-b212-f7ed1662c6c0-alphaSuSp.H