Fortran77中的高效文件I / O.

时间:2017-11-12 21:59:50

标签: file-io fortran fortran77

由于实施限制,我必须使用Fortran77

某些背景 - 我正在编写有限元素代码,并且对于每个元素,我都有使用F77编写的材料法。对于我的物质法则,我需要来自外部文本文件的信息 - 因此对于每个元素,我打开一个文本文件,从中读取(2D数组)并关闭它。可以想象,随着元素数量的增加,I / O量变得非常高。 正在读取的文本文件是静态的 - 不会因每个元素或一段时间而改变。

当前读取块如下所示:

                open (xx, file='C:\Users\myfile.txt',status='old')
                C loop over the data points
                do k = 1, k_tot
                    do j = 1, j_tot
                          read(xx,*) alpha(j,1), alpha(j,k+1)
                    end do
                C close the file
                close (xx)

我的问题是 - 执行此I / O的最有效方法是什么? 一次读取整个数组并没有真正起作用 - 没有编译器错误,但数组元素未分配,即

                open (xx, file='C:\Users\myfile.txt',status='old')
                read(xx,*) alpha
                close (xx)

,也不

                open (xx, file='C:\Users\myfile.txt',status='old', format = 'unformatted')
                read(xx) alpha
                close (xx)

非常感谢任何帮助,谢谢!

0 个答案:

没有答案