Page 324 - Introduction to Computational Fluid Dynamics
P. 324

P1: ICD
            0521853265appb
                                                                                                    303
                        APPENDIX B. 1D CONDUCTION CODE
                                FOR I=N BOUNDARY
                        C*** CB908/Date  0 521 85326 5                             May 11, 2005  15:43
                                IF(TNSPEC) THEN
                                SU(N-1)=SU(N-1)+AE(N-1)*(PSI*T(N)+(1-PSI)*(TO(N)-TO(N-1)))
                                SP(N-1)=SP(N-1)+AE(N-1)*PSI
                                AE(N-1)=0.0
                                ELSE IF(QNSPEC)THEN
                                SU(N-1)=SU(N-1)+ACF(N)*(PSI*QBN+(1-PSI)*QBNO)
                                T(N)=QBN*ACF(N)/(AE(N-1)+SMALL)+T(N-1)
                                AE(N-1)=0.0
                                ELSE IF(HNSPEC) THEN
                                TERM1=HBN*ACF(N)+SMALL
                                TERM2=AE(N-1)+SMALL
                                TERM=1/(1/TERM1+ 1/TERM2)
                                SU(N-1)=SU(N-1)+PSI*TERM*TINFN+TERM1*(1-PSI)*(TINFNO-TO(N))
                                SP(N-1)=SP(N-1)+PSI*TERM
                                T(N)=(T(N-1)+TERM1/TERM2*TINFN)/(1+TERM1/TERM2)
                                AE(N-1)=0.0
                                ENDIF
                                RETURN
                                END
                        C *************************************************
                                SUBROUTINE SOLVE
                                INCLUDE ’COM1D.FOR’
                        C *************************************************
                                DIMENSION AA(IT),BB(IT)
                        C***    ASSEMBLE SU AND SP TERMS
                                DO 1 I=2,N-1
                                IF(UNSTEADY)THEN
                                BP=RHO(I)*SPH(I)/DELT*VOL(I)
                                SP(I)=SP(I)+BP
                                SU(I)=SU(I)+(1-PSI)*(AE(I)*TO(I+1)+AW(I)*TO(I-1))
                                SU(I)=SU(I)+(BP-(1-PSI)*(AE(I)+AW(I)))*TO(I)
                        C CHECK FOR STABILITY CONDITION
                                TERM=BP-(1-PSI)*(AE(I)+AW(I)+STAB(I))
                                IF(TERM.LT.0.0)WRITE(*,*)’ COEF OF TPOLD IS NEGATIVE ATI=’,I
                                ENDIF
                                AP(I)=PSI*(AE(I)+AW(I))+SP(I)
                        C UNDER-RELAX
                                E=(1.-RP)/RP*AP(I)
                                AP(I)=AP(I)+E
                                SU(I)=SU(I)+E*T(I)
                        1       CONTINUE
   319   320   321   322   323   324   325   326   327   328   329