Navigation

    CFD中文网

    CFD中文网

    • Login
    • Search
    • 最新

    cfd软件中用到了哪些常用的矩阵库?

    Algorithm
    4
    4
    3146
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • 搬
      搬运工 last edited by

      最近想重新用c++写一个求解器,对于矩阵的求解这块之前用的是自己编的代码,用高斯迭代法求解,算法十分慢。在我与openfoam计算时间的比较中发现自己的算法比他们慢很多倍。我觉得矩阵的求解方法是重要原因。求教如openfoam、su2这类软件中或者其他朋友的in house code用的矩阵是用什么方法求解的?有没有哪位高手推荐一个适合cfd算法的矩阵库

      W 李东岳 2 Replies Last reply Reply Quote
      • W
        wwzhao 教授 @搬运工 last edited by

        @搬运工 CFD 中的矩阵都是大型稀疏矩阵,直接求解代价太大,因此一般都是给初值迭代求解。

        1 Reply Last reply Reply Quote
        • hangsz
          hangsz last edited by

          你写的可压还是不可压求解器?如果是不可压,方程分离式求解,按照OpenFOAM给的方法写就可以。
          如果是可压的话,高斯迭代法还是太慢,现在最火的是LU-SGS法。

          知乎专栏:https://zhuanlan.zhihu.com/solver?author=HANGZS
          Github:https://github.com/hangsz
          个人主页:http://cfder.club/

          1 Reply Last reply Reply Quote
          • 李东岳
            李东岳 管理员 @搬运工 last edited by

            @搬运工

            高斯迭代法处理20阶矩阵就已经非常慢了。通常和多重网格+高斯赛德尔求解器一起处理。并且OpenFOAM这种成熟的商软里面矩阵求解器算法非常精炼。通常由主求解器+预处理+光顺+重组构成。多重网格更是复杂。另外,在编程的时候使用动态、寻址的方法寄存系数。

            所以如果你要写一个快速的求解器:

            1. 使用外挂包;
            2. 潜心研究稀疏线性系统求解理论;我建议花大量时间研读:YousefSaad, 2003。看看大型稀疏矩阵怎么求解的。而不是3/4阶矩阵的高斯塞德尔求解器。:cheeky:

            线上CFD课程 7月1日报名截止 http://dyfluid.com/class.html
            CFD高性能服务器 http://dyfluid.com/servers.html

            1 Reply Last reply Reply Quote
            • First post
              Last post

            CFD中文网 | 东岳流体 | 京ICP备15017992号-2
            论坛登录问题反馈可联系 li.dy@dyfluid.com