【发布时间】:2017-12-17 22:53:58
【问题描述】:
我想在 Ansys Fluent 中读取 10 个案例文件,每个案例文件有 10 个要读取的数据文件。 Ansys Fluent 使用 Scheme 编程语言。 我必须设法在此处 (Evaluating a floating point variable in Scheme language) 和此处的代码中找到个别问题的答案 (How to increase counter in a do-loop within Scheme language?),但是在收集个人答案时,我意识到我需要一个新的计数器代码,用于通过 do-loop 读取数据文件。 这是包含其他问题的解决方案的代码:
(do ((i 10 (+ i 1))
(j 5 (+ j 1)))
((>= i 20) 'my-return-value)
(ti-menu-load-string
(format #f "/file/read-case \"C:/DataProcessing/Case~a-time~a-sec/test/Case~a-time~a-sec.cas\"" i j i j))
(do ((datafilenum 5.100 (+ datafilenum 0.100)))
((>= datafilenum 6.000))
(ti-menu-load-string (format #f "/file/read-data \"C:/DataProcessing/Case~a-time~a-sec/test/Case~a-time~a-sec-~.3f.dat\"" i j i j datafilenum))
(ti-menu-load-string (format #f "/plot plot n \"C:/DataProcessing/Case~a-time~a-sec/test/water-vof/column-water-vof-at-~.3fs.txt\" y n n water vof y 0 1 0 16 ()" i j datafilenum))))
我在这里想要实现的是: 阅读案例文件
Case10-time5-sec.cas
然后它读取 10 个数据文件并绘制答案
Case10-time5-sec-5.100.dat
Case10-time5-sec-5.200.dat
...
Case10-time5-sec-6.000.dat
下一个循环:
Case11-time6-sec.cas
读取 10 个数据文件并绘制答案
Case11-time6-sec-6.100.dat
Case11-time6-sec-6.200.dat
...
Case11-time6-sec-7.000.dat
下一个循环...
那么,当j 在上层循环中更改值时,如何将代码中以5.100 开头的datafilenum 更改为6.100、7.100、7.100 等,例如j.100 和将此值附加到导出的文本文件column-water-vof-at-~.3fs.txt。而且,当然可以将6.000 更改为7.000、8.000...,类似于j+1.000?这让我很困惑,因为我通过反复试验来实现它!
【问题讨论】:
标签: variables scheme counter do-loops