如何用funkySetFields设正态分布随机场



  • U
       {
           field U;
           expression "vector (0.01*rand(N1)-0.005, 0.01*rand(N2)-0.005, 0.01*rand(N3)-0.005)";
       }
    

    这是设定随机分布场的用法;
    这个链接里面提到randNormal Random-number scalar field that is Gauss-distributed

    1. 有哪位知道如何用这个randNormal?
    2. 如果不用这个,然后如何设定一个满足某种分布的随机场,希望有一种通用的方法。

  • 管理员

    funkySetFields我在很老很老的版本用过,目前但凡OpenFOAM自己不能处理的,我都自己编程。建议

    1. 继续使用funkySetFields,研究randNormal使用,但是感觉randNormal也是调用OpenFOAM的random库,你溯源一下看看。另外,从你的代码看,你已经设置好了啊?直接用呗?如果缺少N值(看起来像是seed),随意给一个,比如
    U
       {
           field U;
           scalar N1 = 1; 
           expression "vector (0.01*rand(N1)-0.005, 0.01*rand(N2)-0.005, 0.01*rand(N3)-0.005)";
       }
    
    1. 自己植入边界条件,参考 http://www.cfd-china.com/topic/1393/生成random随机数-of中该怎样实现/9 这里可以实现高斯分布

    对于新手,第一种方法看起来更简单。



  • @李东岳 正在重新学C++,OF的程序看起来比普通的C++高级点


登录后回复
 

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