Python for Mechanical Engineers

2025年3月17日 | 阅读 8 分钟
Python For Mechanical Engineers

机械工程师如何利用 Python 等编程语言?

Python 旨在成为一种直接、简洁、自然的编程语言。因此,许多架构师和分析师将 Python 用于一致和数学应用。也许他们需要快速直接地切入重点,例如,理解变量对输出的影响或关系,而不是花费大量时间研究“不确定”编程语言的复杂性。Python 可以实现更快、更流畅的工作流程,重新模拟大量数据,最重要的是,自动化重复且耗时的活动,以便在短时间内完成。

作为一名机械工程师,你究竟可以用 Python 做些什么?

运行数学分析是我们借助 Python 可以做的最有益的事情之一。借助 Python 的各种库,例如 SciPy 和 NumPy,我们可能会使用已实现的方法来比以往更快、更有效地进行数学检查。SciPy 允许我们集成、显示甚至不完整,而无需手动执行计算。这节省了大量时间。这里显示了一些最常见的 Python 库

Python For Mechanical Engineers

机械工程应用的三大领域

  1. 数值分析 - 机械工程的重要方面
  2. 计算流体动力学 - 机械工程的重要方面
  3. 热力学 - 机械工程的重要方面

数值分析 - 机械工程的重要方面

Python 最著名的用途是执行数学检查。当涉及直线条件和 PDE/ODE 的问题时,系统地解决问题将需要很长时间。就机械设计而言,条件通常是有限的,这使得解决数学分析问题变得更加困难。

让我们假设你正在尝试找出流体流过管道时管道两端的压力差。不仅解决问题需要很长时间,而且要获得精确的值或在图表中绘制差异也将非常困难。使用编程语言,你可以立即解决此类问题,并同时获得图形重现。

学习数学分析和编码为制造、汽车、能源甚至软件公司(如热力专家)的机械职位等领域带来了大量机会。Facebook 和 Google 等编程公司招聘热力/机械专家,以确保其各自公司的数据集和集群计算机的有效和安全的热管理。这些专家使用 Python/MATLAB 等编程语言编写脚本,并将其导入 CFD 软件以测试各种设计。在实践中,Google 有以下工程格言:“能用 Python 就用 Python,需要用 C++ 就用 C++”,因为 Python 比 C++ 更不复杂。

计算流体动力学 - 机械工程的重要方面

Python 编程也非常适合计算流体动力学。PyCFD 用于创建和处理偏微分方程,使用 Navier-Stokes 公式计算流体体积,并使用边界元方法处理边界值偏微分方程。通常,机械专家在工作场所享受三个主要优势。首先,请记住,你的内容(就像你同事的代码一样)在你创建后可以被组织的其他人使用。这可以节省每个人的时间,并帮助你更有效地协作。

此外,我们可以通过使用 Onshape 等平台预先编写特定功能来进一步提高自动化程度。这有效地让我们能够快速轻松地为我们的应用程序创建独特的功能。自定义杆、翼型、突齿轮、射线追踪器和布线都在其中。

CFD 的应用

  • CFD 模拟在航空航天和国防中的应用将帮助工程师解决设计流体相互作用分析、层流和湍流、空气动力学(流体分析)、传热分析等问题。
  • 航空航天中的热传递不仅关注发动机的功能性,还为除冰装置、起落架轮中的热量、电气和电子系统中的热量、冷却装置、飞行系统中的热量、机身和驾驶舱压缩装置等各种部件提供了清晰的细节和开发机会。
  • 最后,Python 允许机械设计师自动化复杂的计算,这些计算如果手动执行会过于繁琐或耗时。
  • 该语言在浮点数学方面表现出色,最多可以有 17 位有效数字。
  • Python 是 PyTorch 等数值复杂的机器学习 (ML) 系统的基础,因此这不足为奇。

热力学 - 机械工程的重要方面

热力学: 热力学是物理学的一个分支,它处理热量、功和温度及其与能量、熵以及物质和辐射的物理性质的关系。这些量的行为受热力学四大定律的支配,这些定律使用可测量的可见物理量提供定量描述,但可以通过统计力学在微观组分的背景下进行解释。热力学适用于科学和工程中的各种主题,特别是物理化学、生物化学、化学工程、机械工程以及气象学等其他复杂领域。

热力学是出于提高早期蒸汽机效率的愿望而发展起来的,这是法国物理学家萨迪·卡诺 (Sadi Carnot) (1824) 的工作,他认为发动机效率是帮助法国赢得拿破仑战争的关键。苏格兰-爱尔兰物理学家开尔文勋爵于 1854 年迅速形成了热力学的简要定义,指出:“热力学是研究热与作用于物体相邻部分的力之间的关系,以及热与电组织之间的关系的学科。” 鲁道夫·克劳修斯重复了卡诺原理,即卡诺循环,从而为热理论奠定了更真实和更坚实的基础。他于 1850 年发表的最重要的论文《论热的动力》首次阐述了热力学第二定律。1865 年,他引入了熵的概念。1870 年,他引入了应用于热的维里定理。

Python 在热力学中的应用

  • Python 可用于解决经典热力学问题。
  • 无论你的问题涉及流体动力学还是化学能,你都可以编写代码来解决问题并节省时间。
  • 实际上,企业并不关注你如何解决问题或完成任务。
  • 你可以将 70% 的精力投入到解决数值/热力学问题上,然后快速完成任务的另外 20%,或者你可以通过在 Python 中解决这些问题,将 30% 的时间投入到这些问题上,并专注于手头的真正挑战。
  • 你的结果最重要的部分是你的效率。
  • Python 拥有庞大的库和简单的语法,可以帮助你轻松处理复杂问题。

Python 在机械工程中的优势

许多机械工程师不知道这一点。如果你好好尝试一下 Python 和 Jupyter Lab,你会发现你可以快速完成工作,并且很容易深入研究算法。它将帮助你找到解决不可预测的制造计划等问题的方法。对已完成的测试结果进行了一些分析。通过在一条轴上设置每个参数的值,借助 Python,在不到 10 行代码中创建了一系列比较不同评估进展的图表。这需要额外的 Excel 数据处理。

数值分析是最常见的 Python 应用程序。当涉及直线条件和 ODE/PDE 时,科学地解决问题将需要很长时间。这使得在机械设计中解决数值分析问题变得更加复杂,因为边界条件很常见。以流体流过通道为例。对于初学者来说,很难解决问题并获得精确的数字和图表来显示异常。因此,使用编程语言,你可以立即解决此类问题并同时获得图形模拟。

优点

  1. 它拥有大量功能和各种库来协助数学和分析(Pandas、NumPy、matplotlib、SciPy)。
  2. 为了确定零件公差,我们使用了一个复杂的表格。对于某些公差,你必须根据不同的零件设计因素减小一定深度的列表。
  3. 如果没有 Visual Basic for Application (VBA),就无法在 Excel 中根据估计获得变化的公差值。Python 也比 VBA 编写起来更快。
  4. 通过更改一行代码,可以使用相同的程序计算更多实验结果。如果使用 Excel,将需要执行大量的体力劳动。
  5. 它使用的代码更少,因此易于学习。
  6. MATLAB 作为行业原型制作标准,价格昂贵,这使得 Python 占据了上风。
  7. 其支持网络数学和数组的模块很丰富,并且开发人员社区非常优秀且发展迅速。因此,Python 对未来非常有利,因为它是发展最快的语言之一。
  8. Python 还随 Linux 内核一起提供,并且可以轻松地在运行 Little Linux 的板上使用,没有麻烦。
  9. 因此,如果你是一名机械设计师,并且正在考虑是否选择学习 Python,这里有我的建议:“放手去做!”
  10. 机械工程经常使用 Abaqus 等模拟软件,因此需要了解 Python;了解 Python 可以简化你的模拟,并且你可以编写子程序或程序,这些程序可以轻松地与 Abaqus 结合使用。
  11. 同样,FEM 和高级晶体塑性及位错元素、分子动力学等基本工具都需要了解任何编程语言,Python 或 Fortran。
  12. 对一项客户调查结果进行评估,该调查涉及几种产品设计。结果表明,使用 Python 可以在两行代码中为每个设计生成图表,而不是在 Excel 中花费一小时。
  13. 许多机械工程师确实开发了自己的脚本以用于标准 CAM 软件。
  14. 因此,机械工程师拥有 Python 等语言的工作知识是很好的,并且可能是必需的。

Python 与 MATLAB for Mechanical Engineers

我们还可以看到 MATLAB 和 Python 之间的区别。尽管两种语言都被解释,但它们在技术和实际方面有所不同。Python 在功能方面比 MATLAB 更通用,并且它的本地支持社区比 MATLAB 活跃得多。Simulink,MATLAB 的模拟和基于模型的计划工具是例外。这主要是由于它们不同的开发方法,如下所示:MATLAB 是一个授权的闭源程序,而 Python 是一个开源项目,有许多贡献者为其成功做出贡献。这归结为 Python 的几个重要优势。由于 Python 的适应性,我们可以用更少的代码实现更多功能。因此,方法得到简化,所需的人工输入更少。每个人都知道当一家公司有太多计算表时会发生什么,不是吗?由于 Python 编程,我们可以将大部分工作整合到一个统一的平台中。

Python For Mechanical Engineers

所有机械工程师都应该考虑学习 Python 编程语言。

计算机编程可能不是我们作为机械专家的重点,但这些技能在当今的数字世界中至关重要。学习 Python 这样易于使用的语言可以带来巨大的回报。由于这种语言预装了我们所需的所有科学和数学工具,因此随着你对其掌握的增长,将 Python 脚本扩展到许多用例中是很容易的。Python 的流行度如此迅速上升是有充分理由的。它是 Google 的三种官方语言之一。它是 Netflix 和 Dropbox 等重要服务的基础。就像这些网络服务一样,我们的机械设计也受益于 Python 专长。


下一个主题Python 模块 xxHash