计算流体力学的应用

大家好!本人CFD小白一名。在Github上看到Taichi的项目感觉很有意思就想尝试学习。
有个很笼统的问题,Taichi可以用于计算流体力学的程序开发吗?有没有Taichi只能适合于计算机视觉而不能用于CFD的问题?

另外,做过计算流体力学的同学可能知道OpenFOAM这个库,OpenFOAM也是封装了自己的Tensor场类,然后有非常庞大的函数库,从这个意义上说Taichi的优势是什么呢?

问题比较菜比较笼统请轻拍。。谢谢!

你把 Taichi 当作一门新语言,你的问题就很好解答了。

当然可以。“开发”占比可能就会高一些,毕竟你得自己搭框架。

Taichi (太极) is a programming language designed for high-performance computer graphics .

毕竟是针对图形学设计的,有这样的场景也很正常。

目前的优势应该是 kernel 能在 GPU 上跑,但是 CFD 的软件一般能在集群上跑,这么看起来目前并没有明显的优势。

非常感谢!

我正在看GAMES201课程的内容,里面也提到了Taichi是为计算机视觉而设计的。

但是从前几节课的内容来看,我的理解是,既然Taichi包含了对Tensor矩阵的支持和优化,那就完全可以胜任所有的计算流体力学甚至是所有的数值计算问题求解(当然目前还没有现成的辅助函数等工具)。为什么要特别指出说Taichi是 designed for high-performance computer graphics呢?

对啊,你把它当编程语言就不会有能不能做什么的疑问了。

这个原因也很简单,因为最初的开发者胡渊鸣是做图形学的,他的目标就是给图形学领域提供一个好用的工具,让大家免受折腾环境的烦恼。Taichi 周边的生态也是以图形学相关的居多,比如刚出的 Taichi GLSL

但这其实并不太影响 taichi 的通用性,我自己还想推荐给平时用 python 的朋友试一试 taichi,免费的的 GPU 加速真的很香。

我尝试看过一些 CUDA 编程,新概念有点多,taichi 把他们压缩到 kernelfunc 两个概念,CPU / GPU 切换又十分的顺滑,这是我感触很深的地方,也是我想把它推荐给别人的原因。

4 Likes