搞流体模拟的隐式粘度求解器,直接求解线性系统是真算不动啊。网上没搜到很直观的关于matrix-free方法的介绍啊555(具体如 matrix-free conjugate gradient。有好一些的参考资料吗?)
Matrix-free 的求解器可以参考一下 Scipy 的文档:scipy.sparse.linalg.LinearOperator — SciPy v1.10.1 Manual
目前 Taichi 里也有了一个 matrix-free 的 CG 求解器:[lang] Implement experimental CG(Conjugate Gradient) solver in Taichi-lang by houkensjtu · Pull Request #7690 · taichi-dev/taichi · GitHub
使用方法暂时可以参考测试脚本:taichi/test_taichi_cg.py at master · taichi-dev/taichi · GitHub
简单说就是你可以定义一个 LinearOperator
来代替矩阵 A ,然后传入 CG 求解器来求解方程组。有问题的话欢迎继续讨论!
1 Like
非常感谢,我先学习学习~