Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. Algorithm
  3. cfd软件中用到了哪些常用的矩阵库?

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

已定时 已固定 已锁定 已移动 Algorithm
4 帖子 4 发布者 6.0k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 搬 离线
    搬 离线
    搬运工
    写于 最后由 编辑
    #1

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

    W 李东岳李 2 条回复 最后回复
  • W 离线
    W 离线
    wwzhao 超神
    在 中回复了 搬运工 最后由 编辑
    #2

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

    1 条回复 最后回复
  • hangszH 离线
    hangszH 离线
    hangsz
    写于 最后由 编辑
    #3

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

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

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    在 中回复了 搬运工 最后由 编辑
    #4

    @搬运工

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

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

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

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]