主题:程序运行不了,求指导
程序运行不了,不知道怎么回事,希望大家能指导一下。
C PROGRAM 层裂数据处理dimension A1(1500),A2(1500),A3(1500),B1(1500),B2(1500),
* B3(1500),B4(1500),C(1500)
OPEN(11,FILE='c2-2.DAT')
OPEN(12,FILE='RESULT.TXT')
OPEN(13,FILE='RESULT1.TXT')
OPEN(14,FILE='RESULT2.TXT')
C 数组归零
DO 1,N=1,1500
A1(N)=0.0
A2(N)=0.0
A3(N)=0.0
B1(N)=0.0
B2(N)=0.0
B3(N)=0.0
B4(N)=0.0
1 C(N)=0.0
C 试样波速(m/s),试样模量(MPa),1V对应微应变,入射波峰值位置(mm),采样频率(MHZ)
SC=3865
C E=42000
C STRAIN=250
F=1
C STRESS=STRAIN*E/1E6
C 入射波数据点
NODE=229
PR=(NODE-47)/F*1E-6*SC*1000
C 读入入射波数据(转换成0mm位置压缩入射波)
DO 2 N=1,NODE
2 READ(11,*)A1(N)
C2 A1(N)=A1(N)*STRESS
C (DN-1)/F*1E-6为时间点,B1(N)为数据点对应的距离,单位mm
C B1(1)=0, B1(229)=881.22mm,即完整波形通过某点时,波前进881.22mm
C 波在混凝土中的衰减y=y0+a*exp(-X/b), Y0,A,B都是拟合参数,y=y0+A*exp(-x/B)
Y0=19.41
A=13.4
B=231.9
X1=700
LENGTH=990
c X1应变片的距离,length试件长度
c DO 4 N=1,NODE
c DN=N
c 4 A0(N)=A1(N)*(Y0+A*exp(-B1(NODE)/B))/(Y0+A*exp(-x1/B))
DO 50 M=1,NODE-1
DO 5 N=1,NODE
B1(N)=(N-1)/F*1E-6*SC*1000
DM=LENGTH-(NODE-1)/F*1E-6*SC*1000+(M-1)/F*1E-6*SC*1000
C DM=LENGTH-NODE/F*1E-6*SC*1000+(M-1)/F*1E-6*SC*1000
B2(N)=DM+B1(N)
A2(N)=A1(NODE-N+1)/(Y0+A*exp(-x1/B))*(Y0+A*EXP((-DM-PR)/B))
c a2(n)=a1(n)/4.01*(4.01-4.453e-4*(dm-1+pr)) 以波头到达自由端时为计算起点
C 当波尾到达DM时,峰值点已经到达DM+PR了
C length/v=980*1e-6/1000/3865=258.73个点
C B3(N)=LENGTH-(M+N-NODE)/F*1E-6*SC*1000
B3(N)=LENGTH-(M+N-NODE-1)/F*1E-6*SC*1000
A3(N)=-A2(N)
IF(M.LT.(NODE-M))THEN
B4(N)=B2(N)
IF(B4(N).GE.B3(NODE).AND.B4(N).LE.LENGTH)THEN
C(N)=A2(N)+A3(2*NODE-N-2*M)
ELSE
C(N)=0
END IF
ELSE
B4(N)=B3(NODE-N+1)
IF(B4(N).GE.B2(NODE).AND.B4(N).LE.LENGTH)THEN
C(N)=A2(N)+A3(2*NODE-N-2*M)
ELSE
C(N)=0
END IF
END IF
5 CONTINUE
DO 20 N=1,NODE
C 入射波
WRITE(12,*)B2(N),A2(N)
C 反射拉伸波
WRITE(13,*)B3(N),A3(N)
C 入射波与反射波相互作用结果
20 WRITE(14,*)B4(N),C(N)
50 CONTINUE
END