Fortran Coder

标题: 老代码翻译 [打印本页]

作者: little_kar    时间: 2017-3-8 18:21
标题: 老代码翻译
各位前辈,在其他地方找来一段代码,是有限元解二维热传导方程的,代码比较老,看着很费劲,想劳烦谁能适当翻译一下,不用全部,比如比如这一段
[Fortran] 纯文本查看 复制代码
PRINT *,'Input Data File Name <DOS file name>'
READ '(A)',FILE1
LINP=10
OPEN(UNIT=10,FILE=FILE1,STATUS='UNKNOWN')

中,A是个啥,linp是干嘛的
还有后面怎么老是出现这一行“READ(LINP,'(A)')DUMMY”

heat_2D.txt

8.8 KB, 下载次数: 1

源代码


作者: vvt    时间: 2017-3-8 18:23
本帖最后由 vvt 于 2017-3-8 18:24 编辑

也许本站的鹅毛笔能帮助你:
http://quill.fcode.cn
'(a)' 是格式符,用于读取一个字符串
LINP 是一个整型变量,大概是用来代替通道号10的。这样易于阅读或修改。

这俩都是很常规的用法。

作者: little_kar    时间: 2017-3-8 19:20
vvt 发表于 2017-3-8 18:23
也许本站的鹅毛笔能帮助你:
http://quill.fcode.cn
'(a)' 是格式符,用于读取一个字符串

多谢,已解决,这个网站真好
作者: little_kar    时间: 2017-3-8 19:34
vvt 发表于 2017-3-8 18:23
也许本站的鹅毛笔能帮助你:
http://quill.fcode.cn
'(a)' 是格式符,用于读取一个字符串

linp是个文件的代号吧,也是输入的内容:
Print *, 'Input Data File Name <DOS file name>'
  Read '(A)', file1
  linp = 10
  Open (Unit=10, File=file1, Status='UNKNOWN')
那这个
If (nd>0) Then
    Do i = 1, nd
      Read (linp, *) nu(i), u(i)
    End Do
  End If
就是给nu(i),u(i)赋值的linp里面的内容吗?
作者: vvt    时间: 2017-3-8 22:02
看看教科书吧,关于文件读写的章节。
视频教程也可以 http://v.fcode.cn




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2