一直想做一个时期, 比较瞬态流场结果跟时均化后流场之间的差别。 具体讲,是因为看过Bogar的一篇文章。 里面对比了瞬态流场对时均化流场的相对速度。 大体思路是这样的。 1. Fluent导出多个结果; 2. 对多个结果做时间平均处理; 3. 比较单个瞬态结果跟时均化结果的差别。 这里涉及2个问题: A. 如何比较两个流场结果呢? B. 如何比较瞬态流场和时均化后的结果呢? 时均化结果实际是后处理的, 怎么后处理?让它跟软件直接生成的结果相容, 然后能够放在一起比较呢? 回答问题A好办。 用CFD Post就可以。 回答问题B的话, 需要能够在后处理中做时均化的方法。 最简单的方式就是手动编个程序, 把多个结果读进来,然后平均就OK了。 但问题是,一般的CFD结果都是二进制的。 用文本编辑器没法读取的。 有没有文本编辑器能够读取的呢? 有! fluent能够导出CFD-Post Compatible形式的文件。 其中,有个选项,可以让结果文件是ASCII格式, 这样就可以在文本编辑器中读取了。 不过缺点是,生成的文件相当地大。 所以,回到开头。 具体怎么做呢? 1. Fluent生成一堆cas/dat文件 2. 批处理生成一堆CFD-Post Compatible形式的文件 3. 用c++读取第2步中生成的文件,平均化之后,输出一个CFD-Post Compatible形式的文件 4. 用CFD Post读取任意一个瞬态结果+时均化的结果 5. 正式后处理,生成各种contour 下面列出关键图 1. Fluent生成一堆cas/dat文件 这个好办,计算的时候,隔几个时间步,保存一下。 就能生成一堆文件。 2. 批处理生成一堆CFD-Post Compatible形式的文件 批处理需要写个fluent的journal文件。 可以在fluent中录制一段,File-Write-Start Journal 然后运行。File-Read-Journal 关键是怎么输出。列图如下: 这样会生成三类文件: .cas .cst .cdat 3. 用c++读取第2步中生成的文件,平均化之后,输出一个CFD-Post Compatible形式的文件 上一步中,.cdat文件可以通过文本编辑器读取,也可以被c++读取。 具体实施方法不列。 4. 用CFD Post读取任意一个瞬态结果+时均化的结果 这个需要注意,一次读取两个.cdat文件,按住ctrl键 读取完了, 在右侧会出现两个view,即视图,对应了两个文件的结果。 同时,会出现 case comparison 编辑它, 然后, 在右侧区域会出现第3个view,对应的二者差别的视图。 5. 正式后处理,生成各种contour 建立一个contour后, 在三个视图都会出现。 |
|
来自: duangognzi > 《Fluent》