📄 hdfpbs.for
字号:
SUBROUTINE HDFPBS(H,N,DELG,DELX,IE)
DIMENSION H(20,20),DELX(20),DELG(20),HDG(20),DHG(20),DGH(20)
DGHDG=0.0
DXDG=0.0
DO 10 I=1,N
HDG(I)=0.0
DO 11 J=1,N
11 HDG(I)=HDG(I)+H(I,J)*DELG(J)
DGHDG=DGHDG+DELG(I)*HDG(I)
10 DXDG=DXDG+DELX(I)*DELG(I)
IE=-1
IF(ABS(DXDG).LT.0.1E-60) GO TO 40
IF(DGHDG.LT.0.1E-60) GO TO 40
IE=0
IF(DXDG.LT.DGHDG) GO TO 50
A=1.0+DGHDG/DXDG
DO 30 I=1,N
DO 30 J=1,N
30 H(I,J)=H(I,J)+((A*DELX(I)-HDG(I))*DELX(J)-DELX(I)*HDG(J))/DXDG
GO TO 40
50 DO 60 I=1,N
DHG(I)=0.0
DGH(I)=0.0
DO 70 J=1,N
DHG(I)=DHG(I)-H(I,J)*DELG(J)
70 DGH(I)=DGH(I)+DELG(J)*H(J,I)
60 CONTINUE
DO 80 I=1,N
DO 80 J=1,N
80 H(I,J)=H(I,J)+DELX(I)*DELX(J)/DXDG+DHG(I)*DGH(J)/DGHDG
40 RETURN
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -