1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
| program stationnaire
implicit none I,J,Nmax,XL,XH,S,NI,NJ,XK,DX,DY
dimension X(Nmax),Y(Nmax),TETA(NXmax,NYmax),QX(NXF,NYF),QY(NXF,NYF)
parameter (NXmax=200,NYmax=200)
XL=40.0
XH=30.0
NI=12
NJ=12
S=0
XK=1.0E3
DX=XL/float(NI-1)
DY=XH/float(NJ-1)
write(*,*)'longueur:',XL
write(*,*)'largeur:',XH
pause
X(1)=0.0
Y(1)=0.0
do I=2,NI
X(I)=X(I-1)+DX
enddo
do J=2,NJ
Y(J)=Y(J-1)+DY
enddo
!conditions initiales
do I=1,NI
do J=1,NJ
TETA(I,J)=0.0
enddo
enddo
! conditions aux limites
J=1 !sud
do I=1,NI
TETA(I,J)=10.0
enddo
J=NJ !nord
do I=1,NI
TETA(I,J)=10.0
enddo
I=NI !EST
do J=1,NJ
TETA(I,J)=10.0+1.0E-1*sin(3.14159*Y(J)/XH)
enddo
I=1 !ouest
do J=1,NJ
TETA(I,J)=TETA(I+1,J)
enddo
!write(*,*)' les conditions initiales'
!do J=NJ,1,-1
!write(*,*) (TETA(I,J),I=1,NI)
!enddo
!pause
! CALCUL DU FLUX THERMIQUE
I=1
DO J=2,NJ-1
QX(I,J)=-XK*(TETA(I+1,J)-TETA(I,J))/(DX)
QY(I,J)=-XK*(TETA(I,J+1)-TETA(I,J-1))/(2.*DY)
ENDDO
I=NI
DO J=2,NJ-1
QX(I,J)=-XK*(TETA(I,J)-TETA(I-1,J))/(DX)
QY(I,J)=-XK*(TETA(I,J+1)-TETA(I,J-1))/(2.*DY)
ENDDO
J=1
DO I=2,NI-1
QX(I,J)=-XK*(TETA(I+1,J)-TETA(I-1,J))/(2.*DX)
QY(I,J)=-XK*(TETA(I,J+1)-TETA(I,J))/(DY)
ENDDO
J=NJ
DO I=2,NI-1
QX(I,J)=-XK*(TETA(I+1,J)-TETA(I-1,J))/(2.*DX)
QY(I,J)=-XK*(TETA(I,J)-TETA(I,J-1))/(DY)
ENDDO
QX(1,1)=-XK*(TETA(2,1)-TETA(1,1))/(DX)
QY(1,1)=-XK*(TETA(1,2)-TETA(1,1))/(DY)
QX(NI,1)=-XK*(TETA(NI,1)-TETA(NI-1,1))/(DX)
QY(NI,1)=-XK*(TETA(NI,1+1)-TETA(NI,1))/(DY)
QX(NI,NJ)=-XK*(TETA(NI,NJ)-TETA(NI-1,NJ))/(DX)
QY(NI,NJ)=-XK*(TETA(NI,NJ)-TETA(NI,NJ-1))/(DY)
QX(1,NJ)=-XK*(TETA(1+1,NJ)-TETA(1,NJ))/(DX)
QY(1,NJ)=-XK*(TETA(1,NJ)-TETA(1,NJ-1))/(DY)
DO I=2,NI-1
DO J=2,NJ-1
QX(I,J)=-XK*(TETA(I+1,J)-TETA(I-1,J))/(2.*DX)
QY(I,J)=-XK*(TETA(I,J+1)-TETA(I,J-1))/(2.*DY)
ENDDO
ENDDO
end |
Partager