Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
141 views
in Technique[技术] by (71.8m points)

Explicit Forward-Difference Method in Fortran Programming(Gives Overflow)-(what inputs should be given)

Question Link-(https://drive.google.com/file/d/1A9Vf-e1qbdNZxa_UQ2cy8K4LiEfubU6X/view?usp=sharing) The problem is with inputs when I give the inputs it gives me overflow error Code That is written for solving the problem:-

    COMMON/VARI/U(0:101),V(0:101)
    REAL K,KP
    
    DATA T,X1,X2,KP/0,0,1,1/
    P(T)= 0
    Q(T)= 0
    F(X)= 100*SIN(PI*X)
    E(X,T)=100*EXP(-PI*PI*T)*SIN(PI*X)
    PRINT*,'ENTER TMAX,N,K'
    READ*,TMAX,N,K
    H=(X2-X1)/N
    R=(KP*K)/(H*H)
    PI = 4*ATAN(1.0)
 ! SET INITIAL CONDITION============================================
    DO I =0,N
      X=X1+I*H
      V(I)=F(X)
      END DO
 ! DEFINE TRADITIONAL LINEAR SYSTEM==
 15 DO I=1,N-1
     U(I)=V(I)+R*(V(I-1)-2*V(I)+V(I+1))
     END DO
     T=T+K
     U(0)=P(T)
     U(N)=Q(T)    
 ! WRITE U OVER V TO PREPARE FOR NEXT TIME STEP==
     DO I =0,N
       V(I)= U(I)
       END DO
 !IF T IS LESS THAN TMAX , TAKE A TIME STEP===
    IF(ABS(TMAX-T).GT.K/2) GOTO 15
 ! OTHERWISE PRINT RESULT
    WRITE (2,110) N,K,TMAX,T
    WRITE (3,120)
    DO I=0,N
      X=X1+I*H
      EXACT=E(X,T)
      ER=ABS(EXACT-U(I))
      WRITE(6,130)X,U(I),EXACT,ER
      END DO
110 FORMAT(2x,'N=',I4,2x,'K=',F8.6,2x,'TMAX=',F5.2,2x,'implT=',F5.2/)
120 FORMAT(2x,'x=',F5.2,5x,'NUMERICAL',F10.2,5X,'EXAT',5X,'ER',/)  
130 FORMAT(3x,F4.2,2x,3F13.6)
    STOP
    END      


  
question from:https://stackoverflow.com/questions/66059877/explicit-forward-difference-method-in-fortran-programminggives-overflow-what

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...