CFD中文网

    CFD中文网

    • 登录
    • 搜索
    • 最新

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

    OpenFOAM
    2
    3
    2010
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • D
      Dongdong 最后由 李东岳 编辑

      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. 如果不用这个,然后如何设定一个满足某种分布的随机场,希望有一种通用的方法。
      1 条回复 最后回复 回复 引用
      • 李东岳
        李东岳 管理员 最后由 李东岳 编辑

        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 这里可以实现高斯分布

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

        CFD高性能服务器 http://dyfluid.com/servers.html

        D 1 条回复 最后回复 回复 引用
        • D
          Dongdong @李东岳 最后由 编辑

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

          1 条回复 最后回复 回复 引用
          • First post
            Last post