CFD使用Python

时间:2014-06-19 23:37:58

标签: python

我是一名气象学家,最近我正试图调查建立我的一个探空仪的可能性。

为了做到这一点,我有以下工作计划:

  1. 我想生成3D模型pyformex。另一种选择是openSCAD。但我从pyformex开始 - 生成具有相关额外特征的简单圆柱形探测器形状,例如:进气管等。
  2. 接下来,我想使用PyDistMesh将其拆分为Meshes。以及使用Xrt准备光线追踪点云模型。
  3. 在第三步中,我想执行差价合约工作。
  4. 现在,我的问题:

    1. 是否有其他简单的Python库来生成3D模型?我想要一个非常简单的系统,我可以发出p = Parallelogram (length, height, width)p.position(x,y,z)等命令。内置鼠标交互会很好 - 也就是说,内置绘图组件,我可以用来显示模型,用鼠标旋转/缩放/平移。
    2. 任何其他网格生成工具?
    3. 对于这一步,我需要一个多物理场系统。我试图使用OpenFOAM,它太大了(要破解)。我已经看了SU2,但它似乎更关注航空航天工程,而不是流体动力学(我想模拟探空仪的飞行 - 这更接近航空航天工程,以及气氛)。 Fluidity似乎更适合我的需求,但我找不到它的蟒蛇叉。对于地球物理和一般水动力模拟,是否有一些通用的,不是太臃肿的多物理学python库?我看了一个MOOSE,也没有找到它的python绑定。
    4. 科学可视化:是否有一些3或4(或可能是更高维度)的可视化库?我希望发出简单的命令Plot,而不是先生成一个窗口/窗体,然后在可能的情况下将图形放在上面。
    5. 最后,最重要的是,如果C ++或Fortan或者除了java之外的其他语言可以做同样的事情,我也会考虑使用它们。

1 个答案:

答案 0 :(得分:0)

看看http://freecadweb.org/。这似乎正在积极发展。它是一个用python编写的相当完整的开源CAD包。我相信它也有网格化工具。

对于cfd,您可能需要考虑openfoam - http://www.openfoam.com/。这是一个开源的cfd软件包,具有强制性的陡峭学习曲线。似乎有一些python库可以链接到它,但是我不确定它们有多活跃: