24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1449  |  回复: 10
本帖产生 1 个 程序强帖 ,点击这里进行查看

阿黛拉

银虫 (小有名气)

[求助] 哪位帮忙写份Fortran程序?

实现的目标如下
有一份文件包含(注省略号代表省去的内容)
。。。。
。。。。。
1f=。。。。
2f=。。。。。
。。。。。
117 f  =    0.554979 THz     3.487036 2PiTHz   18.512109 cm-1     2.295210 meV
             X         Y         Z                             dx          dy          dz
     10.946913 16.075862  8.898705    -0.004611   -0.000783    0.001817  
     14.007941 14.566718  9.506160     0.000936   -0.001987   -0.016250  
    。。。。

118 f/i=    0.135429 THz     0.850926 2PiTHz    4.517429 cm-1     0.560090 meV
             X         Y         Z           dx          dy          dz
     10.946913 16.075862  8.898705     0.005213   -0.000239   -0.017779  
     14.007941 14.566718  9.506160     0.002094   -0.001910   -0.017946  
     。。。。。。

119 f/i=    0.159039 THz     0.999273 2PiTHz    5.304980 cm-1     0.657734 meV
             X         Y         Z                                  dx          dy          dz
     10.946913 16.075862  8.898705     0.022673    0.022642   -0.016684  
     14.007941 14.566718  9.506160     0.007804    0.011458    0.000320  
    8.454822 15.389561  9.528711    -0.152499    0.049474   -0.037482  
     13.830276 10.899067 11.066884    -0.153476    0.086312    0.031470  
     12.338448 15.061294  9.339663    -0.169789    0.066115    0.026027  
      9.593558  9.592271  5.477447    -0.074791    0.052529   -0.022671  
     13.693851 11.017968  7.269960    -0.101499    0.083451    0.019408  
      9.904298  9.337579 13.105627    -0.167523    0.071767   -0.030243  
      6.232093 11.731397 11.419762    -0.195444    0.039903   -0.103436  
     10.015420 13.425170  5.570057    -0.090249    0.056042   -0.030760  
      6.064181 11.852228  7.590656    -0.105687    0.040804   -0.073813  
     10.337222 13.175130 13.204681    -0.238876    0.033485   -0.011847  
      7.633679  7.764385  9.311316    -0.111119    0.040341   -0.055429  
      9.462183  7.612316  7.318255    -0.077203    0.052896   -0.022021  
      6.351238 13.692965  9.553844    -0.167824    0.053177   -0.090210  
      9.607166  7.489229 11.137700    -0.128770    0.065609   -0.030289  
     11.433621  7.344679  9.147421    -0.099001    0.063935   -0.000888  
     12.007007 11.053752 13.065257    -0.170872    0.075687    0.008814  
      5.930483  9.881390  9.455522    -0.137995    0.032910   -0.103045  
     11.702241 11.302622  5.446557    -0.083672    0.057803   -0.002193  
      7.916422 11.708652  5.607436    -0.081477    0.048928   -0.041310  
     14.026017 12.894285  9.217672    -0.147413    0.078933    0.039205  
      8.229457 11.458811 13.243556    -0.231964    0.030838   -0.050940  
     10.306047 15.272435  7.514793    -0.123688    0.051121   -0.020875  
     10.448729 15.124387 11.347733    -0.213204    0.057002    0.013285  
     13.551900  9.050957  9.123624    -0.118530    0.089605    0.021981  
      7.836243  9.541040 11.362086    -0.166481    0.046336   -0.064171  
     11.792534  9.107562 11.181748    -0.137181    0.069631    0.006275  
     12.243843 13.090462 11.283023    -0.186831    0.071512    0.018850  
     12.093316 13.222266  7.317261    -0.116961    0.064358    0.005111  
      7.667685  9.667356  7.378393    -0.091330    0.042996   -0.047419  
      8.268422 13.511407 11.475978    -0.205406    0.043669   -0.043708  
     11.643939  9.237999  7.210266    -0.090099    0.067539    0.000851  
      8.101048 13.650800  7.486080    -0.112671    0.051988   -0.042587  
     11.858891 11.176573  9.250229    -0.132036    0.071164    0.004425  
      9.739673  9.454709  9.279567    -0.118119    0.058373   -0.021995  
      9.877664 11.444483  7.432702    -0.107815    0.061457   -0.019708  
      8.037331 11.580078  9.417518    -0.140308    0.050828   -0.046809  
     10.170866 13.296060  9.386659    -0.146412    0.057393   -0.005684  
     10.027708 11.313744 11.241268    -0.169636    0.056018   -0.015943  

120 f/i=    0.255221 THz     1.603598 2PiTHz    8.513242 cm-1     1.055508 meV
             X         Y         Z                                     dx          dy          dz
     10.946913 16.075862  8.898705    -0.017367    0.005145    0.000110  
     14.007941 14.566718  9.506160    -0.016450    0.007712    0.003796  
      8.454822 15.389561  9.528711    -0.152499    0.049474   -0.037482  
     13.830276 10.899067 11.066884    -0.153476    0.086312    0.031470  
     12.338448 15.061294  9.339663    -0.169789    0.066115    0.026027  
      9.593558  9.592271  5.477447    -0.074791    0.052529   -0.022671  
     13.693851 11.017968  7.269960    -0.101499    0.083451    0.019408  
      9.904298  9.337579 13.105627    -0.167523    0.071767   -0.030243  
      6.232093 11.731397 11.419762    -0.195444    0.039903   -0.103436  
     10.015420 13.425170  5.570057    -0.090249    0.056042   -0.030760  
      6.064181 11.852228  7.590656    -0.105687    0.040804   -0.073813  
     10.337222 13.175130 13.204681    -0.238876    0.033485   -0.011847  
      7.633679  7.764385  9.311316    -0.111119    0.040341   -0.055429  
      9.462183  7.612316  7.318255    -0.077203    0.052896   -0.022021  
      6.351238 13.692965  9.553844    -0.167824    0.053177   -0.090210  
      9.607166  7.489229 11.137700    -0.128770    0.065609   -0.030289  
     11.433621  7.344679  9.147421    -0.099001    0.063935   -0.000888  
     12.007007 11.053752 13.065257    -0.170872    0.075687    0.008814  
      5.930483  9.881390  9.455522    -0.137995    0.032910   -0.103045  
     11.702241 11.302622  5.446557    -0.083672    0.057803   -0.002193  
      7.916422 11.708652  5.607436    -0.081477    0.048928   -0.041310  
     14.026017 12.894285  9.217672    -0.147413    0.078933    0.039205  
      8.229457 11.458811 13.243556    -0.231964    0.030838   -0.050940  
     10.306047 15.272435  7.514793    -0.123688    0.051121   -0.020875  
     10.448729 15.124387 11.347733    -0.213204    0.057002    0.013285  
     13.551900  9.050957  9.123624    -0.118530    0.089605    0.021981  
      7.836243  9.541040 11.362086    -0.166481    0.046336   -0.064171  
     11.792534  9.107562 11.181748    -0.137181    0.069631    0.006275  
     12.243843 13.090462 11.283023    -0.186831    0.071512    0.018850  
     12.093316 13.222266  7.317261    -0.116961    0.064358    0.005111  
      7.667685  9.667356  7.378393    -0.091330    0.042996   -0.047419  
      8.268422 13.511407 11.475978    -0.205406    0.043669   -0.043708  
     11.643939  9.237999  7.210266    -0.090099    0.067539    0.000851  
      8.101048 13.650800  7.486080    -0.112671    0.051988   -0.042587  
     11.858891 11.176573  9.250229    -0.132036    0.071164    0.004425  
      9.739673  9.454709  9.279567    -0.118119    0.058373   -0.021995  
      9.877664 11.444483  7.432702    -0.107815    0.061457   -0.019708  
      8.037331 11.580078  9.417518    -0.140308    0.050828   -0.046809  
     10.170866 13.296060  9.386659    -0.146412    0.057393   -0.005684  
     10.027708 11.313744 11.241268    -0.169636    0.056018   -0.015943  
实现的想法是将带有f/i  的这些行下的 dx的坐标乘以一个小数N加到X坐标上,以此类推dy*N+Y,dz*N+Z, 然后输出加和后的 X   Y    Z 坐标即可。
特点:1  此处的X  Y  Z坐标行数是40行,不同的文件行数可能不同。2  XYZ坐标,同一文件都是相同的。只是对应的f/i不同dx  dy dz 不同。

[ Last edited by 阿黛拉 on 2011-6-9 at 09:13 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

进退有度,才不至进退维谷;宠辱皆忘,方可以宠辱不惊。
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

阿黛拉

银虫 (小有名气)

2楼2011-06-10 08:44:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖


阿黛拉(金币+2): 2011-06-10 18:07:56
余泽成(金币+1): 谢谢参与应助! 2011-06-15 21:03:38
引用回帖:
Originally posted by 阿黛拉 at 2011-06-09 08:35:59:
实现的目标如下
有一份文件包含(注省略号代表省去的内容)
。。。。
。。。。。
1f=。。。。
2f=。。。。。
。。。。。
117 f  =    0.554979 THz     3.487036 2PiTHz   18.512109 cm-1     2.295210 me ...

给个完整的输入数据文件
3楼2011-06-10 10:46:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

阿黛拉

银虫 (小有名气)

引用回帖:
Originally posted by snoopyzhao at 2011-06-10 10:46:07:
给个完整的输入数据文件

这是完整的文件。谢谢你。
进退有度,才不至进退维谷;宠辱皆忘,方可以宠辱不惊。
4楼2011-06-10 18:12:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

阿黛拉

银虫 (小有名气)

刚才没传上去
进退有度,才不至进退维谷;宠辱皆忘,方可以宠辱不惊。
5楼2011-06-10 18:16:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yongma2008

木虫 (著名写手)

论文?苦!主。

【答案】应助回帖


jjdg(金币+1): 感谢参与 2011-06-11 00:30:41
阿黛拉(金币+5): 2011-06-11 10:30:50
你传的文件我打不开,所以没调试,程序主体在这里,你根据情况再改改参数,调试一下吧。不保证没问题啊,调试了之后才能知道。


program test
implicit none
integer         ::i,j
integer         ::NF,Nx,M
real(kind=8)    ::N,x(1000,100),y(1000,100),z(1000,100),dx(1000,100),dy(1000,100),dz(1000,100)
character       ::inputfile*80,outputfile*80

NF=120  !number of the f values
Nx=40   !number of x values
M=5      !number of the useless lines on the top of the input file  
N=0.1    !the parameter in formula x=x+N*dx

write(*,*) "Name of input file:"
read(*,*) inputfile
open(unit=7,file=inputfile)
do i=1,M  
read(7,*)
enddo

do i=1,NF,1
read(7,*)  
read(7,*)
do j=1,Nx,1
read(7,*) x(i,j),y(i,j),z(i,j),dx(i,j),dy(i,j),dz(i,j)
x(i,j)=x(i,j)+N*dx(i,j)
y(i,j)=y(i,j)+N*dy(i,j)
z(i,j)=z(i,j)+N*dz(i,j)
enddo
read(7,*)
enddo

write(*,*) "Name of the output file:"
read(*,*) outputfile
open(unit=17,file=outputfile)
do i=1,NF,1
write(17,*) 'f=',i
do j=1,Nx,1
write(17,999) x(i,j),y(i,j),z(i,j)
enddo
enddo
999 format(3(f10.6,1x))
end program
6楼2011-06-10 20:49:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

阿黛拉

银虫 (小有名气)

引用回帖:
Originally posted by yongma2008 at 2011-06-10 20:49:02:
你传的文件我打不开,所以没调试,程序主体在这里,你根据情况再改改参数,调试一下吧。不保证没问题啊,调试了之后才能知道。


program test
implicit none
integer         ::i,j
integer         ::NF, ...

非常感谢,我运行了一下出现 [ghi@localhost f]$ a.out
Name of input file:
OUTCARf
At line 24 of file test.f90
Fortran runtime error: Bad real number in item 1 of list input
可是不会改。
这是我上传的文件,http://g.zhubajie.com/urllink.php?id=11235933rnxtzbnmwjrp14vg 你看一下能否打开,上一个是我压缩后上传的,不知道有问题,非常抱歉。再次感谢您的帮助。
进退有度,才不至进退维谷;宠辱皆忘,方可以宠辱不惊。
7楼2011-06-11 10:30:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yongma2008

木虫 (著名写手)

论文?苦!主。


jjdg(金币+1): 感谢参与 2011-06-11 22:49:27
给你说了要调一下参数,你连看都不看,直接用,能用才怪啊
8楼2011-06-11 17:12:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖


余泽成(金币+1): 谢谢参与应助! 2011-06-15 21:04:00
阿黛拉(金币+3): 2011-06-16 08:11:51
还没有搞清楚你想要什么。在你的数据中,总共有 3 处 f/i,你需要输出三组 X、Y、Z,还是只输出一组 X、Y、Z。如果只是输出一组,那么如何计算?
9楼2011-06-13 21:48:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

阿黛拉

银虫 (小有名气)

引用回帖:
Originally posted by snoopyzhao at 2011-06-13 21:48:55:
还没有搞清楚你想要什么。在你的数据中,总共有 3 处 f/i,你需要输出三组 X、Y、Z,还是只输出一组 X、Y、Z。如果只是输出一组,那么如何计算?

你好
输出三组
这三组是dx*N+X=X#         dy*N+Y=Y#     dz*N+Z=Z#    X# Y# Z# 是所想要的新数据。
比如           X         Y         Z                        dx          dy          dz
     10.946913 16.075862  8.898705     0.005213   -0.000239   -0.017779
     。。。。。。

若N为0.5   计算之后是
    X                   Y               Z                        
10.9495195    16.0757425   8.8898155   
。。。。
进退有度,才不至进退维谷;宠辱皆忘,方可以宠辱不惊。
10楼2011-06-14 09:04:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 阿黛拉 的主题更新
信息提示
请填处理意见