解决分析

查看原版

第2部分:开源CFD软件包

开源CFD软件包 - 足够好和免费

使用开源软件有许多优点。除了自由使用和分发外,开源软件还为用户提供了根据需要修改源代码的许可证。在某些情况下,存在支持用户学习和代码开发的在线用户社区。

开源CFD求解器没有什么不同。一些最常见的包括 OpenFoam., SU2, Palabos., 消防动力学模拟器MFIX.。 OpenFoam是迄今为止最广泛使用的,并且将成为大部分讨论的重点。

OpenFoam(of)近年来通过不断增长的用户群进行的验证和验证研究获得了相当大的可信度。越来越多的大学和公司也是独立和与其他商业代码一起使用的。撇去前面的议程 用户会议 人们认为,梅赛德斯奔驰,巴斯夫,宝马,大众和英特尔等公司都是存在存在的。这并不令人惊讶,因为它是一个如此大公司,具有本质上的大型模拟工作负载,这些工作负载是从免费软件许可中获益的。

自由?查看。准确的?查看。可定制的?查看。适用于多种类型的液体问题?查看。那么,抓住了什么?

OpenFoam是学术界繁重的计算流体动力学的一个很好的工具。 但有一些缺点,继续保持其在行业中的普遍存在。

OpenFoam背景

OpenFoam最初只是“泡沫”,是一套由亨利·富国CFD集团于1989年在伦敦帝国学院开发的有限卷数值算法。 泡沫代表现场运营和操纵。 一个有趣的票据是,韦尔默和同事先生在当时使用C ++而不是更普遍的工程编程语言,而是利用其面向对象的能力。好想法。当胜利和同事成立时,随后将开放源开放源 OpenCFD Ltd.。然后由硅图形国际(SGI)和后来ESI获得。 同时,OpenFoam版权被转移到 OpenFoam基金会有限公司

这两个组织都提供OpenFoam相关的软件包和教程下载。 代码库对于两者都是相同的。 软件释放周期有点不同,因此软件版本的“编号”也是如此。 因此,您可能会发现一个版本或另一个版本(或没有)您正在寻找的一个功能。 该基础通常释放一年或两次的版本,释放号码如4.0,5.0,6.0(当前版本)。 OpenCFD具有类似的版本计划,但版本编号不同,基于释放年份和月份以防止混淆(目前在V1806或2018年6月)。 

Linux和Windows版本

本身是基于Linux的程序,这意味着您需要使用基于Linux的操作系统,例如Ubuntu,Fedora或Redhat Linux Enterprise,或者您需要通过Windows内的虚拟机运行。 不言而喻,在使用时,Linux中的一些知识或背景将派上派上用场。 

最近在Microsoft实现了在Windows 10中运行Linux Bash Shell作为应用程序的能力时,最近迈出了拓展用户群的关键步骤。 安装此应用后,Windows用户可以直接从Windows桌面下载,安装和运行通过应用程序的本地。 可以找到更多关于此方法的 这里.

在此之前,希望运行的Windows用户需要“双启动”其PC,并在启动时运行Ubuntu。 这需要对您的硬盘驱动器进行分区,以便Windows和Ubuntu文件存储系统是分开的。 谢天谢地使用Windows Linux Bash shell,您可以直接从Windows内访问文件,并通过您喜欢的Windows文本编辑器编辑它们。

OpenCFD还发布了一个 Windows“集装箱”版本的OpenFoam. 此版本通过Docker技术在Linux环境之外工作,该Docker技术将源代码容纳在Windows 7,8或10可以运行的应用程序中。 

安装后,第一次用户可能会惊讶地发现他们实际获取的是包含一卷文本文件的目录结构(调用 词典 或者 dicts.). 那些偏好标准GUI的标准GUI指向模型设置的工作流程并网格运行到后处理的模拟应该看其他地方。 也许看看一个包装纸,例如那些讨论的包装 这里. 相反,用户通过从Linux命令行的可执行文件启动他们选择和进程的文本编辑器的用户互动。 

工作流程和物理功能

虽然有点令人恐惧,建立一个 简单的问题 如果您找到设置类似于您的问题的教程,则并不困难。 在图书馆内有相当多的教程,希望一个人适合账单。 典型的工作流程是下一步将教程目录复制到项目的本地工作文件夹中。 这允许您在本地项目文件夹中修改网格,边界条件,流体属性等,而不会冒对原始下载包的任何影响。

OpenFoam能够在框中有很多。 它可以解决瞬态或稳态流动,湍流或层流,牛顿或非牛顿流体,多相流量(拉格朗日粒子和欧拉/ vof),反应流动和被动标量,以命名几个。 虽然C ++编程技能不需要使用这些功能,但它们确实使其变得不那么具有挑战性。 通常,每个内置求解器针对特定类型的问题量身定制。 这意味着你需要知道 先验 您的应用中存在哪种类型的物理物理学以及基于有限卷的数值算法的应用类型最适合解决所述物理学。  下面显示了一些更常见的求解器及其相关物理学的简短列表。

在此环境中分配适当的求解器设置是成功模拟的关键方面,即使对于最有经验的CFD工程师,也可能是一个挑战。 

这一切都可以有点令人生畏,但是每个目录都可以被视为组织桶,桶内的每个“字典”文件没有太复杂。 通常,一旦您将配置为您喜欢的典型求解器设置,您只需修改每种情况的流体属性和入口/插座边界条件。 这对于重复解决整个案例/项目目录结构的用户可以再次重新使用的用户,这将是派上的,但在不改变目录之外的任何内容,除了网格之外,可以再次重新使用。 

啮合

缺乏易于使用和高度运行的内置啮合实用程序是目前所有开源CFD程序的绊脚石,包括。  内置网格实用程序, blockmesh, 对于矩形管道(例如矩形导管),但对于更复杂的任何东西,实际上是无用的。 额外的实用程序, snappyhexmesh.,提供能够以STL格式读取曲面几何文件作为在虚拟风隧道中进行测试的机构。  更新和清理需要到达一个体面的网格。该过程是费力且耗时的,特别是对于具有小功能的复杂案例。 没有包含实用程序,可以在典型的3D实体建模环境中创建几何形状的内部流问题上的网格。

但是,IF包括几个转换器实用程序,它将将网格从其他软件包转换为所需的网格文件结构。 这对我们来说,这是获得高质量网格的最简单和最快的方式。 但是,它需要访问第三方网格生成软件。 值得注意的内置转换器包括 ccmtofoam.fluentmeshtofoam.,显然转换 西门子的明星-CCM +ansys流利 格式的网格。 其他常见的啮合工具,如 GMSH. 有能力直接导出到OpenFoam网格文件格式。还建议检查在运行此类实用程序后,将检查生成的网格以确保转换成功。 OpenCFD中讨论了更多选项 文件。但是,我们应该注意,我们在使用内置转换器从商业软件网格转换后经历了无法解释的求解稳定性问题。

解决和后处理

Foammonitor交互式OpenFoam仿真残留的例子

一旦啮合的几何形状和物理模型和求解器设置准备就绪,就会导航到案例目录并键入Solver关键字,例如 SimpleFoam. 进入命令行终端。  That’s it.  您的案子应该运行。 当解算器运行时,您可能会看到在命令行/终端窗口中弹出的每次迭代都会看到残留。 或者您可以将它们写入日志文件。 

一种特殊的强度是它允许“分解”您的问题并在多个处理器上并行运行,甚至跨网络上的多个CPU节点运行。  With OF, a 分解 必须在文件中设置文件 系统 directory.  此文件允许用户指定将使用多少处理器以及如何将域分配给每个处理核心。 一旦被说字典准备就绪,将调用“二分解升性”例程并将模型分解为指定的划分。 一旦模拟完成后,用户必须在后处理前调用“重新回顾”例程。 虽然这些例程需要时间,但通过并行化可以大大降低大问题的模拟时间。 

新版本的增加了一个名为的例程 Foammonitor. 这允许在启动作业后,通过将第二命令键入终端,以交互地绘制保护方程残差。 可以正确地工作有一些其他设置步骤,但一旦工作,它就表现良好。 不幸的是,由于Ubuntu Bash无法显示绘图,这将无法在Windows 10内部工作。 

OpenFoam艾哈迈德身体问题仿真结果 - 速率等高平面和精简在Paraview中可视化

一般来说,我们发现求解器的强大。 对于顽固的问题,能够调整众多求解器设置,如松弛因素和离散化和时间行动计划的顺序可以始终有所帮助。   

OpenFoam通过调用开源后处理软件包装 par. Paraview功能包括大多数标准的科学可视化,如轮廓图,矢量图,流线和线图。可以实现沿线和点的数据提取。在时间步骤结果之间轻松切换允许创建动画。 基于Ahmed Body参考问题的帕划线产生的流线的示例如下所示。 应该指出的是,Paraview可以在免费的独立Windows版本中提供,实际上是我们使用的。 或者,用户可以将结果导出到第三方商业软件,例如 救济 或者 FieldView. (许可证需要)以便在流程后模型导致您选择的包裹。

结论

OpenFoam是计算流体动力学的一个很好的工具。 以下是其明显的优势:

  • 吨的能力和多个求解器,可以应用于许多类型的流动问题

  • 通过专门求解计算流体动力学问题的人(至少)开发和精制的产品

  • 许多优点典型的开源软件,如广泛的用户群,教程和在线示例问题,以及将代码库定制到您的喜好

  • 增加学术界和工业的接受

  • 它没有成本!

但是有一些缺点,这可能是从变得更广泛/主流的回归,包括:

  • 陡峭的学习曲线结合了在确定要解决的重要物理学以及如何使用数值算法中最佳地匹配这些物理

  • 需要基于Linux的操作系统或某些版本的Windows,或者可能与所有本地功能/实用程序(例如绘制交互式残差)。 对文件操作的一些基本Linux命令的了解非常有用。

  • 缺乏高性能内置的啮合效用

  • 需要学习额外的后处理软件包 

  • 与工作流优化的商业软件解决方案相比,安装和分析模型结果,额外的时间需要额外的时间来设置和分析模型结果,该工作流优化的商业软件解决方案具有一体化的预处理,解决,后处理。这也许是最大的交易破坏者 CFD顾问 如我们自己。

如果您有兴趣了解更多,我们强烈推荐了德克萨斯大学教授的opperfoam入门的两部分教程&m嵌入下面。如果您正在寻找顾问,请帮助您使用OpenFoam故障排除,培训或模拟, 联系我们,我们将提供您需要的任何支持程度。如果您在英国或附近需要某人本地,您可以联系到罗宾知识 CFD发动机 for help.

OpenFoam - 入门第1部分

打开泡沫入门 - 第2部分


在原始帖子中看到此表格