icoFoam中 在哪个地方体现了使用线性系统求解器?
-
大家好,在“icoFoam解析”(http://www.dyfluid.com/icoFoam.html) 中,在求解速度时,在哪个地方体现了使用线性系统求解器(如 fvSolution里面的PBICG)?怎么没有看到啊,公式(14)中,系数Ap为对角矩阵,根本用不到线性求解器,直接除过去就好。有理解错的地方希望大家指出。
-
(icoFoam解析,公式7) 中心差分不应该是这样吗(都使用同一时刻的速度,黄色标记部分),为何icoFoam使用 要预测的时间步的速度 和 当前已知的时间步上的速度 进行平均?
-
@hongfu2233 首先我建议你看网页版,公式书写更规范并且随时更新一些小问题。预测速度$u^r$和当前时间步速度$u^n$是互相匹配的,实际上都是n时间步的速度。可以使用你的公式。但通常,教材里面用n表示已知时间步的量,如果用$u^n_p$表示要求的p点速度,有点混乱。
-
多谢东岳大神啊,回到公式(14),如你所说,我若是10万网格,那么就有十万个公式,组成10万阶矩阵,Ax=b。但是仔细观察公式(14),这10万阶系数矩阵A是个对角阵啊,直接除过去就好,x=b/A,感觉没有必要用各种复杂的矩阵求解器啊。请您指点一下。
-
@hongfu2233 简单来说(我在手机)
- 考虑Ax=b,如果说$x=A^{-1}b$,那么你需要求A的逆,这对于大型矩阵是不现实的。你可以试试简单的5*5矩阵,求逆很费事。比如高斯消去法,缺点是占用内存大,循环步骤多。
- 另一种是采用lu分解直接求解,但是cfd中一般是稀疏矩阵,lu分解后会破坏矩阵的稀疏性,占用大量内存。
- 因此一般采用迭代法,进了迭代法,通常我们对矩阵进行预条件,然后各种求解技术得以应用。比如共轭剃度法,
可以看看这个: 链接文本
这部分内容在应用数学里面说的很详细,cfd书里面比较范范,你可以看看saas的有一本书,书名记不得了,只记得作者。😳
-
@hongfu2233 a是对角阵,但是还有临点的呢。
-
@hongfu2233 所有和速度有关的量都进入方程左边,ap, an都在方程左边。比如:
2u1+u2=0
u1+2u2+u3=0
u2+2u3=0提取矩阵就是:
2 1 0
1 2 1
0 1 2