首页/文章/ 详情

基于CFD-post二次开发的批量动态流场计算结果后处理

7月前浏览20000

本文摘要(由AI生成):

本文介绍了一种针对动态流场计算的后处理二次开发程序,该程序通过集成CFD-POST和MATLAB两款商业软件,实现了后处理数据提取展示工作参数化和自动化化,从而为结果文件的开发利用提取便利。该程序具有处理海量数据、方便提取目标点相关物理参数、编程操作便捷等优势。文章详细描述了该程序的实现步骤,包括原始结果文件的预处理、相关点几何位置的编制、数据的提取、数据转化、数据处理和图表绘制等工作。


0.引言

CFD-POST作为一款优异的后处理软件,可作为所有ANSYS流体动力学产品的通用后处理软件,其具有友好的人机界面、强大的数据处理功能和优良的图表绘制处理功能,且其使用简单易用的可视化和数量化的工具,来进行CFD模拟得到结果的分析。该软件具有较广的应用范围,不仅可以处理CFX生成结果文件,而且对通过FLUENT,ANSYS等软件生成的结果也可进行处理,甚至其他通用格式的文件(如CGNS文件)也可进行处理。另外,该软件在二次开发方面也具有独特的功能。

在动态流场计算的后处理中,经常涉及到对几何位置目标点的相关物理参数进行提取、曲线图绘制等工作。针对涉及动网格的数据提取工作,具有不同于普通流场的特点。其数据不仅具有的海量性的特点,而且目标点的几何位置具有变动性,且在这种情况下采用相对坐标进行研究又具有诸多不便。传统目标点相关物理参数的提取采用手动方式完成,其不足之处在于耗时耗力,且准确性无法保证。另外,对于计算流体动力学计算软件的二次开发,目前多数工作主要集中于前处理和求解过程的研究,对后处理则研究的相对较少,对涉及动态流场计算的后处理研究的开发几乎没有。

通过对CFD-POST和MATLAB两款商业软件进行二次开发,本文开发了一套动态流场相关参数提取、转化及处理程序,并通过应用于某实际算例的计算结果,验证该程序的可行性和高效性。该程序可在提取点几何位置目标点变动和相关物理参数变动的情况下,实现数据的快读提取与图形绘制。该程序可避免其它软件在后处理中的不足,如其他软件在提取海量数据时需输入全部数据造成对计算机性能的要求较高,不可应用于原始结果文件模型不一致情况下数据提取等。

该程序在处理提取海量数据方法方面具有如下优势:(1)可以处理具有不同格式的模型文件、结果文件的相关参数数据;(2)目标点几何坐标发生变化时,以及需要提取的参量名称发生变化时,可以比较方便地提取并绘制曲线;(3)CFD-POST中命令流语言可以较为便捷地实施诸多操作命令,开发者只需要进行少许的程序修改即可,而且编程所采用的语言也有的很多优点,操作十分便捷.

1.后处理二次开发程序的实现

本程序的实现是通过利用CFD-POST命令流语言(session file)并结合MATLAB数据处理软件来实现的。CFD-POST命令流语言所要实现的功能是对某时间片段内的命令语言进行录制,且生成的命令流程序可方便地进行读写操作。另外,还可以对录制好的命令流程序采用PERL语言进行改写,实现循环、逻辑、判断及控制等功能。

PERL语言吸收了高级语言所具有的强大编程功能与灵活性,同时避免了脚本语言需要编译器和链接器来运行代码的缺点。其解释程序是开放源码的免费软件,且能够在绝大多数操作系统运行。

因此,本文集成CFD-POST和MATLAB两款商业软件,可在一定程度上实现后处理数据提取展示工作参数化和自动化化,从而为结果文件的开发利用提取便利。

2.实现的一般步骤


图1 程序流程图

一般按照图1所示步骤进行,即输入文件前处理,相关点几何位置的编制,数据的提取,数据转化,数据处理和图表绘制等工作。该程序涉及到的子程序主要包括批量文件命名程序,批量数据提取软件,批量文件格式修改程序,MATLAB文件读入、数据处理及曲线绘制文件。流程图如图1所示:

(1)原始结果文件的预处理。在本部分中,笔者采用批量文件命名程序对原始结果文件进行了命名的统一化操作。由于采用程序化语言对海量数据进行批量处理,文件名必须具有一定的规律性,以利于文件的读入及后续操作。在这里,可将把杂乱无章名称的原始结果文件转化为标识文件编号的程序输入文件。

(2)相关点几何位置的编制。在本部分,笔者建立了时间序列、输入文件编号序列及目标点几何坐标序列之间的对应关系。由于大家关心的是目标点相关物理参数随时间变化的规律,但其中某些点在动态计算中的几何坐标是随时间变化的,而时间序列并非总是有序变化的,因而采用输入文件编号序列作为自变量编写几何坐标更合适。因此,这里需要根据目标点几何坐标随时间序列变化的规律,找到目标点坐标随输入文件编号序列变化规律的函数关系式。如下图2所示:

图2:三变量对应图

(3)数据提取。本工作是通过CFD-POST中的命令流语言功能实现的,通过录制命令流程序,并采用PERL语言进行修改,可实现数据的快速准确提取,生成包含目标点信息和相关物理参数的输出信息文件(后缀名为.csv)。为提高目标点相关物理参数的提取速度,在打开一个后处理输入文件时,所有目标点的相关物理参数值一并提取并分别输出。其中通过PERL语言对命令流程序进行修改,实现对数据提取工作自动化和参数化,包括自动化数据提取过程,输出信息文件名称的参数化,目标点几何坐标参数化,输出变量参数化和输出路径参数化等。

(4)数据的转化。在这部分,笔者编制批量文件格式修改程序,将上一步生成的逗号分隔符文件(后缀名为.csv)转化为文本文件(后缀名为.txt),以便于MATLAB数据提取和处理。由于后者更容易被MATLAB读入并处理,同时也为多数编程者所熟知,因此这里进行了将文件格式的转化。文件格式批处理程序语句简单易行,具有较强的可操作性和广泛的适用性。

(5)数据后处理及图表的绘制。这部分主要通过MATLAB语言从批量文本文件的特定位置提取数据,并绘制曲线图。其主要工作包括以下几个方面。I.通过MATLAB文本文件的读入程序读取各个原始结果文件对应的时间序列数据,赋值于某数组A;II. 通过MATLAB文本文件的循环读入程序从各文本文件中提取目标点对应时刻物理参量,赋值于某数组B;III.根据a和b中得到的数组,通过MATLAB曲线图绘制程序,绘制物理参量随时间变化的曲线图。


 


FluentCFXCFD-PostWorkbench二次开发MATLAB
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2018-12-06
最近编辑:7月前
CAE惠老师
硕士 | 仿真工程师 愿在CAE的道路上与你同行,加油!
获赞 32粉丝 324文章 10课程 1
点赞
收藏
未登录
1条评论
5年前
老哥,稳
回复
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈