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. OpenFOAM
  3. icoFoam中 在哪个地方体现了使用线性系统求解器?

icoFoam中 在哪个地方体现了使用线性系统求解器?

已定时 已固定 已锁定 已移动 OpenFOAM
13 帖子 2 发布者 13.3k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    在 中回复了 hongfu2233 最后由 编辑
    #4

    @hongfu2233 首先我建议你看网页版,公式书写更规范并且随时更新一些小问题。预测速度$u^r$和当前时间步速度$u^n$是互相匹配的,实际上都是n时间步的速度。可以使用你的公式。但通常,教材里面用n表示已知时间步的量,如果用$u^n_p$表示要求的p点速度,有点混乱。

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

    1 条回复 最后回复
  • H 离线
    H 离线
    hongfu2233
    写于 最后由 编辑
    #5

    多谢东岳大神啊,回到公式(14),如你所说,我若是10万网格,那么就有十万个公式,组成10万阶矩阵,Ax=b。但是仔细观察公式(14),这10万阶系数矩阵A是个对角阵啊,直接除过去就好,x=b/A,感觉没有必要用各种复杂的矩阵求解器啊。请您指点一下。

    李东岳李 1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    在 中回复了 hongfu2233 最后由 编辑
    #6

    @hongfu2233 简单来说(我在手机)

    1. 考虑Ax=b,如果说$x=A^{-1}b$,那么你需要求A的逆,这对于大型矩阵是不现实的。你可以试试简单的5*5矩阵,求逆很费事。比如高斯消去法,缺点是占用内存大,循环步骤多。
    2. 另一种是采用lu分解直接求解,但是cfd中一般是稀疏矩阵,lu分解后会破坏矩阵的稀疏性,占用大量内存。
    3. 因此一般采用迭代法,进了迭代法,通常我们对矩阵进行预条件,然后各种求解技术得以应用。比如共轭剃度法,

    可以看看这个: 链接文本

    这部分内容在应用数学里面说的很详细,cfd书里面比较范范,你可以看看saas的有一本书,书名记不得了,只记得作者。😳

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

    H 1 条回复 最后回复
  • H 离线
    H 离线
    hongfu2233
    在 中回复了 李东岳 最后由 编辑
    #7

    @李东岳 多谢啊,这个我有所了解。可能我没有说清楚。仔细观察公式(14),系数矩阵A是个对角阵啊,直接除过去就好,x=b/A,感觉没有必要用各种复杂的矩阵求解器啊。

    李东岳李 1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    在 中回复了 hongfu2233 最后由 编辑
    #8

    @hongfu2233 a是对角阵,但是还有临点的呢。

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

    H 1 条回复 最后回复
  • H 离线
    H 离线
    hongfu2233
    在 中回复了 李东岳 最后由 编辑
    #9

    @李东岳 临点不都是已知的量吗(用了已知时间步的量)?正如我第二个问题所问。在“icoFoam解析”中,公式14下面一行字也写了:“仔细观察公式(14),除了$u^r_p$均为已知。”

    李东岳李 1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    在 中回复了 hongfu2233 最后由 编辑
    #10

    @hongfu2233 所有和速度有关的量都进入方程左边,ap, an都在方程左边。比如:

    2u1+u2=0
    u1+2u2+u3=0
    u2+2u3=0

    提取矩阵就是:

    2 1 0
    1 2 1
    0 1 2

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

    H 1 条回复 最后回复
  • H 离线
    H 离线
    hongfu2233
    在 中回复了 李东岳 最后由 hongfu2233 编辑
    #11

    @李东岳 多谢啦,从公式14,总感觉系数矩阵是对角阵,如下式
    2u1 =-u2 (此时的u2及其系数都是当前已知时间步的值)
    2u2 =-u1-u3(此时的u1、u3及其系数都是当前已知时间步的值)
    2u3=-u2 (同上)
    提取矩阵
    A=
    2 0 0
    0 2 0
    0 0 2
    b={-u2 -u1-u3 -u2}'
    因为“仔细观察公式(14),除了$u^r_p$均为已知。”可能我看的不够仔细,我再仔细揣摩一下,多谢大神解答。

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #12

    你的u1 u2 u3是需要求的,就是x列向量,不可以放到b,b是已知量。→_→

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

    H 1 条回复 最后回复
  • H 离线
    H 离线
    hongfu2233
    在 中回复了 李东岳 最后由 编辑
    #13

    @李东岳 想明白了,多谢东岳大神!

    1 条回复 最后回复

  • 登录

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