通过了解控制动力学并可能利用特定现象,可以在设计的最初阶段增强空气动力学系统(例如航空航天飞行器、船舶、潜艇、离岸结构和风力涡轮机)的性能。控制这些系统空气动力学性能的方程可能包括非线性偏微分方程(例如 Navier-Stokes 方程)。计算机硬件和软件的最新进展使得能够使用数值模拟,从而将上述方程离散化并与稳健的数值算法集成。虽然这些高保真方法在捕捉主要物理特征方面非常有效,但它们涉及以复杂方式相互关联的多种现象,必须用大量自由度来解决。此外,使用这些工具所需的大量计算资源和时间可能会限制模拟大量配置以用于设计目的的能力。这些缺点导致需要开发简化的模拟工具,以降低计算成本,同时体现相关的物理方面和响应特性。在本文中,我们提出了一种基于非稳定涡格法 (UVLM) 的势流求解器的快速高效实现,即 PyFly 。该计算工具可用于模拟运动和变形物体(如拍打的机翼、旋转的叶片、悬索桥面和游动的鱼)的非稳定气动行为。UVLM 计算由加速度和循环现象导致的整个身体表面的压力差异产生的力。这考虑了非稳定效应,例如增加的质量力、束缚环流的增长和尾流。UVLM 仅适用于理想流体、不可压缩、无粘性和无旋流,其中分离线是先验已知的。因此,UVLM 的公式要求流体在后缘平稳离开机翼(通过施加库塔条件),并且不涵盖前缘流动分离的情况和发生强烈机翼尾流相互作用的极端情况。尽管存在所有这些限制,研究工作仍考虑使用 UVLM 设计向前和悬停飞行中的类似鸟类的扑翼 [2、3、4、5]、建模风力涡轮机 [6] 以及控制和抑制土木工程结构的振动 [7、8]。然而,易于使用的语言在性能上通常会慢几个数量级。虽然快速运行时通常是科学软件项目的目标,但我们认识到简单的用户界面也是框架使用的一个重要方面。一个理解和使用起来很复杂的高效框架不会减少工程师的解决问题的时间,尽管生成的代码执行速度很快。这两种情况都不理想。PyFly 的目标是提供一个基于 UVLM 的友好空气动力学模拟框架,该框架在计算上也是高效的。我们通过使用混合语言编程来实现这一目标。我们使用 python [9] 进行网格对象的高级管理,并使用 Fortran 来管理必须高效运行的计算内核。虽然数值方法不会因不同的应用而改变,但不同应用所提出的要求可能会变得复杂难以管理。例如,在拍打机翼的情况下,需要管理机翼及其尾流。对于对称飞行,我们还必须跟踪机翼镜像的影响。然而,在
主要关键词