怎样输出interFoam中的项分数?



  • 怎样输出interFoam中的项分数?例如dambreak中的alpha.water
    我需要获取某个网格处相分数的数据,我是这样写的:

    alpha.water[sphereCellsI[i]]
    

    但是编译的时候会报错:

    turbinesupdate.H:467:36: error: ‘class Foam::DynamicList<Foam::List<Foam::List<double> > >’ has no member named ‘water’
                          if( mag(alpha.water[sphereCellsI[i]]-0.5) < mindisalpha )
    

    也就是说alpha.water并不是一个变量啊,而且这也不符合C++里面变量名称的规则呀
    那么,我怎样才能得到这个数据呢?
    请各位大佬多多指教~~~


  • OpenFOAM讲师

    @范准 openfoam中的相名称是动态指定的,也就是说是从transportProperties中读取的。interFoam求解器中creatFields.H文件中,定义了alpha1为第一项的体积分数,alpha2为第二项的体积分数。所以你可以根据water是第几项,选择变量alpha1或alpha2。



  • @dzw05 明白了,也就是说,water并不是一个真正原始的量,这个量的值实际上是由alpha1来指定的,那么我想输出water,直接就输出alpha1就行了。我刚刚试了一下,确实是这样的。多谢啦~~~~


登录后回复
 

与 CFD中文网 的连接断开,我们正在尝试重连,请耐心等待