浅水方程设定干单元



  • 各位老师,我想在模型内部设定当水深h低于某个值时该单元为干单元,不往外流水,但在求解器简单加入下面判断语句之后发现这个单元还是会往周边单元排水,请问该怎么处理好呢,或者通过生成内部壁面来达到效果?

                    forAll(h, celli)
                    {
                    	if (h[celli] < 0.01)
                   		{
    					hU[celli].component(0)=0;
        					hU[celli].y()=0;
        					hU[celli].component(2)=0;
    		
    					h[celli]=0.01;
       
                    	}
                    }
    


  • 你应该设定边界场,而不是cell场,



  • @东岳 李老师,那边界场的设定是在初值文件里设定还是在求解器里设定,具体怎么弄不是很清楚,能给个小例子吗,没找到类似的帖子



  • https://www.cfd-china.com/topic/3499 边界场参考里面的codedFixedValue



  • @东岳
    李老师,我所要表达的是模型内部计算后得出得一块区域,他是随水位高低变化而变化的,当水深低于某值这个单元就当成壁面(死单元,这几天逛到这个名词,好像有点像)处理,不参与计算,类似codedFixedValue不是得先需要给出边界范围。



  • 这种手动去掉网格单元进行计算的,有一些方法可以处理。https://www.cfd-china.com/topic/3138 类似浸没边界条件,但边界需要处理。也可以直接操作矩阵,但是操作的是边界值,比如OpenFOAM中的壁面函数的epsilon场。你可以尝试一下。看下用在内部场效果如何。我之前见过一些人进行这么处理。


Log in to reply
 

CFD中文网 2016 - 2020 | 京ICP备15017992号-2