代码中的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各代表什么呢? 望精通编程的老手指点指点我,谢谢!
请问分别是 Dipole Moment ,Polarizability,和HyperPolarizability三个字符串吗? 是的 请问T1*20,T2*20,T3*20是什么意思呢 谢谢了! oyljw 发表于 2018-10-21 15:37
请问T1*20,T2*20,T3*20是什么意思呢
星号后面表示字符串变量的长度,也就是最多存储20个字符。 非常感谢!
页:
[1]