如何设置有face在wall上的网格单元的一些值



  • 如题,各位大佬我最近想解决一个问题,就是在我使用的模型中有个实度系数是这样的,二维外流时为2/3,二维边界时为1/8,所以在壁面处网格单元的这个值为1/8,我想请教一下:有什么方法能提取具有固定特征的网格单元(比如有face在壁面上的网格单元)
    我想是不是不可以在0文件夹中通过设置壁面处的值给定,因为这样赋的值是在面上而不在网格中心呢



  • 我想到一个方法设置近壁面一层网格的实度系数Cs
    我的网格比较简单,矩形框架,只有左侧网格边缘的一部分设置为了wall
    这样的话,可不可以用position.[facei].x()和position.[facei].y()来对网格单元进行筛选,当position.[facei].x()=0和position.[facei].y()在一定范围内时,让Cs[own]=1/8?


  • 教授

    @evensun
    这个问题你可以参考 epsilonWallFunction 的代码。epsilonWallFunction 的代码里面,会设定近壁网格(也就是你说的有face在壁面的网格单元)里面的 epsilon 和 G 的值。具体实现分两步,第一步是先遍历壁面单元,然后用 faceCells 函数找到壁面单元所属的网格,然后对这个网格进行赋值。另外,因为像 epsilon 这样的场,本身是有控制方程的,除了近壁网格以外的网格是通过求解 epsilon 的控制方程来得到的。所以,为了避免在求解控制方程时又把在第一步设置的值给覆盖了,所以需要对 epsilon 方程离散之后的 fvMatrix 里面的特定系数进行归零,以达到求解 epsilon 控制方程时近壁单元的值不会被修改的目的,这是第二步,是通过 boundaryManipulate 函数来实现的。



  • 哇太详细了,谢谢老师!
    如果我没有理解错的话,第二步需要的原因,是求解epsilon控制方程时会覆盖之前给壁面网格的赋值是吗,因为控制方程对全部计算域求解


  • 教授

    @evensun 对的


Log in to reply
 


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