3

您好,我是新手,所以请原谅我对大多数事情的普遍缺乏了解:]

我正在尝试将网格文件读入我工作的实验室中一位早已离开的学生编写的 CFD 代码。这些文件是大端 Fortran 格式,未格式化为 64 位浮点。我需要某种可以在屏幕上读取的文本或数据文件,以便我可以适当地修改文件中读取的代码部分。经过几次谷歌搜索后,我不知所措(我绝不是计算机科学人士),尽管我认为我大致了解什么是大端序以及什么是未格式化的文件。如何将这些文件转换为可读的文件?感谢您提供的任何帮助!此外,如果它有助于链接到我需要转换的网格文件是

ftp://cmb24.larc.nasa.gov/outgoing/DPW5/unstructured_grids.REV01/

再次感谢!!

--M

4

2 回答 2

1

你可以玩 python 和 numpy:

from __future__ import print_function, division
import numpy as np

file = "L1.T.rev01.p3d.hex.r8.ugrid"
n=8
dt = np.dtype([('field0','>f8'), ('field1', '>f8'), ('field2', '>f8')])
ndt = len(dt)
data = np.fromfile(file, dt, count=n) #omit count= to read all records

for row in data:
    print(row)
    #print(row['field0'])

将以下内容打印到屏幕上:

(5.9416208318e-313, 2.0743e-319, 0.0)
(3.15696e-318, 5.94342273776e-313, 260.16056)
(0.0, 118.46084, 272.1421)
(0.0, 115.94573, 284.80264)
(0.0, 113.49254, 298.1431)
(0.0, 111.13511, 312.15776)
(0.0, 108.90879, 326.83354)
(0.0, 106.84945, 342.14944)

我不确定如何处理标头,但有效的方法来创建-numpy-arrays-from-binary-files可能会有所帮助。对于 numpy 中的大端、小端和其他数据类型,请参阅数据类型对象

于 2013-07-10T23:17:10.557 回答
0

看起来它可能是这种格式:

http://www.simcenter.msstate.edu/docs/ug_io/file_formats.html

...并且您可以从这里用一些软件打开它?:

http://www.laerdal.com/us/SimCenter

这是正确的路线吗?您的文件是关于模拟的吗?这些文件是否包含 3D 场景数据(这只是我基于初步浏览的猜测)?

...如果是这样,如果可能的话,我会尝试通过技术支持渠道 - 也许那里的人会对此了解更多:

http://www.laerdal.com/us/doc/417/Technical-Support

于 2013-07-10T21:59:21.857 回答