这本书是比较难找到,下面是我处理周期边界的一段程序,作为参考吧
!周期边界:phi(上)=phi(下)-dbc
!GK*PHI=GP
DO IC=1,NBC
!DO IC=1,NBCU
ICN1=IBC(IC,1)
ICN2=IBC(IC,2)
CC=-(GK(ICN1,ICN2)+GK(ICN2,ICN2))
DO IN=1,NN
GK(ICN1,IN)=GK(ICN1,IN)+GK(ICN2,IN)
ENDDO
GP(ICN1)=GP(ICN1)+GP(ICN2)
DO 1230 IN=1,NN
IF(IN.EQ.ICN1.OR.IN.EQ.ICN2) GOTO 1230
GK(IN,ICN1)=GK(IN,ICN1)+GK(IN,ICN2)
GP(IN)=GP(IN)+GK(IN,ICN2)*DBC(IC)
GK(IN,ICN2)=0.0
1230CONTINUE
DO IN=1,NN
GK(ICN2,IN)=0.0
ENDDO
IF(ABS(CC).LT.1.0E-8) WRITE(*,*) "ERROR: CC=0.0"
GK(ICN2,ICN2)= CC
GK(ICN2,ICN1)=-CC
GP(ICN2) =-CC*DBC(IC)
ENDDO
|