请问如何在计算域内添加间断场?



  • 比如我想定义一个volscalarfield,在x属于0-x0的时候,这个变量为0,在x0以后的区域,这个变量为100请问该如何实现呢?

    我看了参考文献,以前有人这么做过:

     volScalarField thetaField
        (
        "thetaField",
        max(theta1*(mesh.C().component(vector::X) - x0 /(x1-x0), theta0)
        );
    

    这里theta0为0,前面的值

    {theta1*(mesh.C().component(vector::X) - x0 /(x1-x0)}
    

    在x0前面是负值,在x0后面是正值,因此这样可以实现分段的定义,可是如果两个值都是大于等于零的该如何实现呢?
    或者of里面哪个场是分段定义的,可否告知,多谢。



  • 比如我想定义一个volscalarfield,在x属于0-x0的时候,这个变量为0,在x0以后的区域,这个变量为100请问该如何实现呢?

    试试这个:

    volScalarField thetaField("thetaField", pos(x-x0)*100);
    


  • @李东岳 多谢东岳老师,我去尝试一下


登录后回复
 

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