Fortran Coder

标题: 代码中的T1,T2,T3各代表什么? [打印本页]

作者: oyljw    时间: 2018-10-21 02:23
标题: 代码中的T1,T2,T3各代表什么?
程序代码如下:
[Fortran] 纯文本查看 复制代码
       Program GetBeta
       DIMENSION  MIU(3), ALPHA(6), BETA(10)
       REAL MIU, ALPHA, BETA, MIU0, ALPHA0, BETAX, BETAY, BETAZ,BETA0
       CHARACTER T1*20, T2*20, T3*20
       OPEN (UNIT=1, FILE='data.tmp', STATUS='OLD' )
       READ(1,50) T1
       READ(1,100) ( MIU(I),I=1,3)
       READ(1,50) T2
       READ(1,100) ( ALPHA(I),I=1,6)
       READ(1,50) T3
       READ(1,100) ( BETA(I),I=1,10)
       CLOSE(1)
50     FORMAT(A20)
100    FORMAT(5(1X,E15.8E2))
       MIU0=SQRT(MIU(1)*MIU(1)+MIU(2)*MIU(2)+MIU(3)*MIU(3))
       ALPHA0=(ALPHA(1)+ALPHA(3)+ALPHA(6))/3.0
       BETAX=(BETA(1)+BETA(3)+BETA(8))*0.6
       BETAY=(BETA(2)+BETA(4)+BETA(9))*0.6
       BETAZ=(BETA(5)+BETA(7)+BETA(10))*0.6
       BETA0=SQRT(BETAX*BETAX+BETAY*BETAY+BETAZ*BETAZ)
C       WRITE(*,200) ( MIU(I),I=1,3)
       WRITE(*,50) T1
       WRITE(*,200) MIU0
       WRITE(*,*) '================='
C       WRITE(*,200) ( ALPHA(I),I=1,6)
       WRITE(*,50) T2
       WRITE(*,200) ALPHA0
       WRITE(*,*) '================='
C       WRITE(*,200) ( BETA(I),I=1,10)
       WRITE(*,50) T3
       WRITE(*,200) BETA0
200    FORMAT(1X,E15.8E2)
       END

输入文件data.tmp
data.tmp的内容为:
Dipole Moment                              R   N=           3
-1.54209976E-12 -2.11588399E-02  6.85226980E+00
Polarizability                             R   N=           6
  1.15348532E+04  4.32559157E-10  1.15409689E+04 -4.75893804E-10  1.45277634E+01
  5.07035907E+03
HyperPolarizability                        R   N=          10
  3.10845204E-03  4.48541353E+04  8.15993688E-04 -9.73392674E+04 -1.35915088E+06
  1.77548795E-03 -1.27554399E+06  4.51227527E-03 -7.39290137E+04 -2.89194695E+06
Quadrupole Moment                          R   N=           6
  1.05011230E+01  9.67969814E+00 -2.01808211E+01 -6.18949335E-12  5.97309973E-13
  1.66138310E-01


由于基础差,读代码没有读懂,请问getbeta.f中的T1T2T3各代表什么呢? 望精通编程的老手指点指点我,谢谢!



作者: oyljw    时间: 2018-10-21 02:39
请问分别是 Dipole Moment ,Polarizability,和HyperPolarizability  三个字符串吗?
作者: fcode    时间: 2018-10-21 10:40
是的
作者: oyljw    时间: 2018-10-21 15:37
请问T1*20,T2*20,T3*20是什么意思呢
作者: oyljw    时间: 2018-10-21 15:38
谢谢了!
作者: li913    时间: 2018-10-21 15:46
oyljw 发表于 2018-10-21 15:37
请问T1*20,T2*20,T3*20是什么意思呢

星号后面表示字符串变量的长度,也就是最多存储20个字符。
作者: oyljw    时间: 2018-10-21 16:08
非常感谢!




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