oyljw 发表于 2018-10-21 02:23:49

代码中的T1,T2,T3各代表什么?

程序代码如下:
       Program GetBeta
       DIMENSIONMIU(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-026.85226980E+00
Polarizability                           R   N=         6
1.15348532E+044.32559157E-101.15409689E+04 -4.75893804E-101.45277634E+01
5.07035907E+03
HyperPolarizability                        R   N=          10
3.10845204E-034.48541353E+048.15993688E-04 -9.73392674E+04 -1.35915088E+06
1.77548795E-03 -1.27554399E+064.51227527E-03 -7.39290137E+04 -2.89194695E+06
Quadrupole Moment                        R   N=         6
1.05011230E+019.67969814E+00 -2.01808211E+01 -6.18949335E-125.97309973E-13
1.66138310E-01


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


oyljw 发表于 2018-10-21 02:39:27

请问分别是 Dipole Moment ,Polarizability,和HyperPolarizability三个字符串吗?

fcode 发表于 2018-10-21 10:40:31

是的

oyljw 发表于 2018-10-21 15:37:58

请问T1*20,T2*20,T3*20是什么意思呢

oyljw 发表于 2018-10-21 15:38:44

谢谢了!

li913 发表于 2018-10-21 15:46:50

oyljw 发表于 2018-10-21 15:37
请问T1*20,T2*20,T3*20是什么意思呢

星号后面表示字符串变量的长度,也就是最多存储20个字符。

oyljw 发表于 2018-10-21 16:08:13

非常感谢!
页: [1]
查看完整版本: 代码中的T1,T2,T3各代表什么?