epsilon边界场的问题



  •  // Update epsilon and G at the wall
        epsilon_.boundaryField().updateCoeffs();
        
        Info<<"epsilon_.boundaryField()[2][10]**"<<epsilon_.boundaryField()[2][10]<<endl;
        Info<<"epsilon_.boundaryField()[2]**"<<epsilon_.boundaryField()[2]<<endl;
    

    在对epsilon的边界值进行输出时,epsilon_.boundaryField()[2]为编号为2边界上所有面的epsilon值列表,该边界有223个face,打算将该边界第11个face上的epsilon值输出,但输出epsilon_.boundaryField()[2][10]并不是当前的epsilon值,与输出epsilon_.boundaryField()[2]其中第11个值不同,而是上次迭代时第11个face上的epsilon值,这是怎么回事?



  • 很奇怪,如果输出湍流粘性系数 nut_.boundaryField()[2],其中的第11个值与nut_.boundaryField()[2][10]是相等的,为当前面上的值。epsilon为什么不是?



  • 找到原因了,extend 4.0 epsilon的壁面函数计算壁面epsilon使用了refvalue()这个函数,epsilon_.boundaryField().updateCoeffs() 执行完后,第一层网格单元的值就得到了更新,但由于壁面epsilon使用了refvalue(),因此实际壁面边界上的value还是上一次迭代的值,在solve(epsEqn)后,才将第一层网格单元的值赋值给了壁面,壁面的值才得到了更新。



  • @我是河滩 输出边界上的值列表可看出
    1.JPG
    2.JPG


Log in to reply
 


CFD中文网 | 东岳流体学术 | 东岳流体商业 | 吉ICP备20003622号-1