twoPhaseEulerFoam中的IATE模型系数
-
东岳老师我通过添加输出得到了,无论对于Crc还是Cti这两项都是进行了计算,在Crc、Cti那个函数里面输出一个给定单元格R[1927]值,这时候的输出都是有值的,但是在下面函数里面输出时发现,Crc和Cti计算得到的R值均是0,是不是我上面提到的Crc和Cti的函数返回是有问题的,还是有什么其他东西,另外即使临界韦伯数判断,那对于Crc这个临界体积分数判断,应该大部分的单元格还是满足它的判定条件的,希望各位前辈指点一二,不胜感激!
forAll(sources_, j) { Info << "\nStarting R\n" << endl; Info << R[1927] << endl; R -= sources_[j].R(); Info << R[1927] << endl; }
-
各位前辈,经过验证发现,对于IATE模型中表示气泡聚合和破碎的Crc和Cti并未参与计算,因为这两个函数的返回值是tR,而进行赋值计算的是R,经过连续输出发现,赋值计算的R无论是否为0,返回值tR始终为0,因此对于Crc、Cti无论改变为多大的值对于气泡的聚合破碎毫无作用。
在将返回值改为R以后,由于给定算例的连续相速度始终为0,而Crc和Cti计算R表达式中用到了连续相速度,所以还会出现返回值一直为0的情况,若改变算例,连续相速度给一定值后,就会发现此时返回值是tR时,返回值还一直为0,但返回值是R时,发现此时返回值就发生了变化,粒径分布也就发生了变化。因此在想是不是这个程序返回值tR是写错了还是我有哪个地方搞错了,请各位老师指点一下。另外还遇到一个问题就是在linux系统下,将返回值改正为R以后会报错如下:(以上所说的测试是基于Windows版本的绿化版本),希望各位前辈给点建议,这个错误应该怎么处理,不胜感激!--> FOAM FATAL ERROR: different patches for fvPatchField<Type>s From function void Foam::fvPatchField<Type>::check(const Foam::fvPatchField<Type>&) const [with Type = double] in file /opt/openfoam4/src/finiteVolume/lnInclude/fvPatchField.C at line 209. FOAM aborting #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::error::abort() at ??:? #2 Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh>::operator-=(Foam::GeometricField<double, Foam::fvPatchField, Foam::volMesh> const&) at ??:? #3 Foam::diameterModels::IATE::correct() at ??:? #4 Foam::twoPhaseSystem::correct() at ??:? #5 ? at ??:? #6 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #7 ? at ??:? 已放弃 (核心已转储)