24小时热门版块排行榜    

查看: 3699  |  回复: 21

wuluo1213

木虫 (小有名气)


jjdg(金币+1): 感谢参与 2011-11-03 01:29:46
这个不懂,呵呵,也在期待高手的讲解啊、
没什么好与不好。
11楼2011-11-02 20:29:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

贺仪

铁杆木虫 (著名写手)

引用回帖:
3楼: Originally posted by snoopyzhao at 2011-10-29 12:16:13:
隐式声明是 fortran 的特色,默认情况下,所有以 I、J、K、L、M、N 开头的变量都是整型,所有以这些字母以外字母开头的变量都是实型。如果你希望以 A 开头的也是实型,你可以用 implicit integer (A) 来声明所 ...

请问:  
       OPEN(UNIT=12,FILE=WAVECAR,ACCESS='DIRECT', &
              FORM='UNFORMATTED',STATUS='UNKNOWN',RECL=IO%ICMPLX)
这里面最后一个参量RECL是干什么的?去掉影不影响?
谢谢!
嘟啦啦嘟啦啦嘟
12楼2011-11-05 10:48:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖


jjdg(金币+1): 感谢参与 2011-11-05 15:41:19
ben_ladeng: 专家考核存档 2011-11-09 00:18:32
引用回帖:
12楼: Originally posted by 贺仪 at 2011-11-05 10:48:59:
请问:  
       OPEN(UNIT=12,FILE=WAVECAR,ACCESS='DIRECT', &
              FORM='UNFORMATTED',STATUS='UNKNOWN',RECL=IO%ICMPLX)
这里面最后一个参量RECL是干什么的?去掉影不影响?
谢谢!

自己看吧:


The recl specifier has a positive value that specifies the length of each
record if the access method is direct or the maximum length of a
record if the access method is sequential. If the file is connected for
formatted input/output, the length is the number of characters. If the
file is connected for unformatted input/output, the length is measured
in processor-dependent units. The length may, for example, be the
number of computer words. If the file exists, the length of the record
specified must be an allowed record length. If the file does not exist,
the file is created with the specified length as an allowed length.
13楼2011-11-05 14:28:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

贺仪

铁杆木虫 (著名写手)

引用回帖:
13楼: Originally posted by snoopyzhao at 2011-11-05 14:28:37:
自己看吧:


The recl specifier has a positive value that specifies the length of each
record if the access method is direct or the maximum length of a
record if the access method is sequenti ...

再问一下:写入文件是这样打开的
OPEN(UNIT=12,FILE=WAVECAR,ACCESS='DIRECT', &
              FORM='UNFORMATTED',STATUS='UNKNOWN',RECL=IO%ICMPLX)
我在程序中加入
write(*,*) IO%ICMPLX
得到这个参量的数值为17632,但是我在打开的时候用
OPEN(UNIT=12,FILE=WAVECAR,ACCESS='DIRECT', &
              FORM='UNFORMATTED',STATUS='UNKNOWN',RECL=17632)
可以吗?
我现在这么做的,但是取出来的和写入的数值不一样,这是怎么回事呢?
嘟啦啦嘟啦啦嘟
14楼2011-11-08 16:23:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖


余泽成(金币+1): 谢谢参与应助! 2011-11-08 18:11:44
ben_ladeng: 专家考核存档 2011-11-09 00:18:45
引用回帖:
14楼: Originally posted by 贺仪 at 2011-11-08 16:23:30:
再问一下:写入文件是这样打开的
OPEN(UNIT=12,FILE=WAVECAR,ACCESS='DIRECT', &
              FORM='UNFORMATTED',STATUS='UNKNOWN',RECL=IO%ICMPLX)
我在程序中加入
write(*,*) IO%ICMPLX
得到这 ...

这个你最好给一个可以重现你问题的例子,否则真不好说,呵呵……

另外,你的 RECL 有那么长吗?
15楼2011-11-08 16:28:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

贺仪

铁杆木虫 (著名写手)

引用回帖:
15楼: Originally posted by snoopyzhao at 2011-11-08 16:28:30:
这个你最好给一个可以重现你问题的例子,否则真不好说,呵呵……

另外,你的 RECL 有那么长吗?

IF (PRESENT(EXT)) THEN
         OPEN(UNIT=12,FILE=DIR_APP(1IR_LEN)//'WAVECAR.'//EXT,ACCESS='DIRECT', &
              FORM='UNFORMATTED',STATUS='UNKNOWN',RECL=IO%IRECLW)
      ELSE
         OPEN(UNIT=12,FILE=DIR_APP(1IR_LEN)//'WAVECAR',ACCESS='DIRECT', &
              FORM='UNFORMATTED',STATUS='UNKNOWN',RECL=IO%IRECLW)
      ENDIF

      ALLOCATE(CW(NPL_TOT),CRD(NPL_TOT),EIG(WDES%NB_TOT))
我在着后面加上了
      junk=.TRUE.
       DO I=1,9
         write(FL,'(a,i0)') 'WI', I
         INQUIRE(FILE=FL,EXIST=junk)
         IF (.NOT.junk) THEN
            OPEN(991, FILE=FL,STATUS = 'NEW')
            EXIT   
         ENDIF
       ENDDO
      WRITE(991,*)  'RECL :',IO%IRECLW
输出的,没有错吧?
嘟啦啦嘟啦啦嘟
16楼2011-11-08 16:35:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

贺仪(金币+5): 多谢指教! 2011-11-08 22:04:02
ben_ladeng: 专家考核存档 2011-11-09 00:19:00
引用回帖:
16楼: Originally posted by 贺仪 at 2011-11-08 16:35:49:
IF (PRESENT(EXT)) THEN
         OPEN(UNIT=12,FILE=DIR_APP(1IR_LEN)//'WAVECAR.'//EXT,ACCESS='DIRECT', &
              FORM='UNFORMATTED',STATUS='UNKNOWN',RECL=IO%IRECLW)
      ELSE
       ...

这不是一个可以重现的例子,也就是说,不是一个完整的程序……

你的 IO%IRECLW 到底是个啥?它的值是如何得到的?
17楼2011-11-08 16:55:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

贺仪

铁杆木虫 (著名写手)

引用回帖:
17楼: Originally posted by snoopyzhao at 2011-11-08 16:55:26:
这不是一个可以重现的例子,也就是说,不是一个完整的程序……

你的 IO%IRECLW 到底是个啥?它的值是如何得到的?

大哥 这个是vasp的WAVECAR输出的子程序,里面有很多调用的其他子程序,不可能全部看完的,只是感觉上面我加的部分没错的话就应该可以吧
嘟啦啦嘟啦啦嘟
18楼2011-11-08 17:02:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

★ ★
余泽成(金币+2): 谢谢参与应助! 2011-11-08 18:11:57
ben_ladeng: 专家考核存档 2011-11-09 00:19:08
引用回帖:
18楼: Originally posted by 贺仪 at 2011-11-08 17:02:55:
大哥 这个是vasp的WAVECAR输出的子程序,里面有很多调用的其他子程序,不可能全部看完的,只是感觉上面我加的部分没错的话就应该可以吧

好吧,你直接用就好了,呵呵……
至于错还是没有错,你只能自己测试了,在 Fortran 中读写文件是一件很麻烦的事情,尤其是在文件还是 unformatted 的情况下……
19楼2011-11-08 17:19:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

贺仪

铁杆木虫 (著名写手)

引用回帖:
19楼: Originally posted by snoopyzhao at 2011-11-08 17:19:02:
好吧,你直接用就好了,呵呵……
至于错还是没有错,你只能自己测试了,在 Fortran 中读写文件是一件很麻烦的事情,尤其是在文件还是 unformatted 的情况下……

对于这种不知道输出长度的输出,如果要格式化输出怎么写个格式呀?    如   
  WRITE(991,*) RNPL,WDES%VKPT(1,K),WDES%VKPT(2,K), &
                       WDES%VKPT(3,K),(EIG(J),W%FERTOT(J,K,ISP),J=1,WDES%NB_TOT)
嘟啦啦嘟啦啦嘟
20楼2011-11-08 22:03:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 贺仪 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 今天维护系统维护 祝所有人 高中 +6 gjjjzhong 2026-08-18 7/350 2026-08-18 12:48 by laoda193707
[硕博家园] 读博的好处 +5 lnee 2026-08-11 5/250 2026-08-18 12:32 by 学员tGYWa5
[基金申请] 哪位老哥知道今年的国自然具体哪一天放榜? +13 Ldrop2023 2026-08-13 16/800 2026-08-18 12:25 by 淀粉搬运工
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +44 医学老男孩 2026-08-13 98/4900 2026-08-18 12:14 by wenky
[基金申请] 2027广东省杰青 +3 奶牛小黑 2026-08-15 8/400 2026-08-18 11:47 by gltch
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +4 Tide man 2026-08-14 5/250 2026-08-18 11:35 by Tide man
[论文投稿] 投稿咨询 +4 wwm09 2026-08-17 5/250 2026-08-18 11:25 by 無關想念
[基金申请] 时间戳变了,能看出什么问题? +5 基诺咪客 2026-08-17 6/300 2026-08-18 11:06 by hunter无悔
[基金申请] 感觉是下周放榜了 +6 angus9576 2026-08-17 11/550 2026-08-17 23:57 by angus9576
[基金申请] filecode=后面第一个是大写字母 +8 wangze12014 2026-08-14 10/500 2026-08-17 17:05 by xter9665
[基金申请] 今天系统多次维护,明天很可能放榜! +8 zju2000 2026-08-16 9/450 2026-08-17 12:20 by lmz0216
[基金申请] 时间戳又变了8-15 +13 archvillain 2026-08-15 25/1250 2026-08-16 20:13 by zhaosm1982
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 26/1300 2026-08-16 12:35 by 启萌科技
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[基金申请] 是这周出结果还是下周出结果? +4 yuleib84 2026-08-11 4/200 2026-08-14 23:05 by lfy8008
[基金申请] 重要来源:本周末出结果 +10 瞬息宇宙 2026-08-12 10/500 2026-08-13 15:46 by likettle
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] Filecode 又变了,巨变 +3 WH3796 2026-08-12 4/200 2026-08-13 14:13 by 小木虫6752397
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
信息提示
请填处理意见