bonjour tous le monde; je voudrais m'excuser pour mon message d'hiere qui était trop long , alors comme j'avais un problème de divergence au niveau de la composante de vitesse (v(y)) je me suis dite que peut être que j'ai un problème dans mon algorithme en ce qui concerne les coefficient qui régissent ce calcul donc je vais afficher ici la partie qui traite de ça sachant que j'utilise l'algorithme simpler sur langage fortran et que je considère mon modèle mathématique sous forme de rectangle séparé au milieu par une membrane poreuse qui la vitesse en cet endroit est régie par l'équation de darcy
COEFFICIENTS FOR THE V EQUATION----------------------------------
NF=2
IF(.NOT.LSOLVE(NF)) GO TO 200
IST=2
JST=3
CALL GAMSOR
REL=1.D0-RELAX(NF)
DO 202 I=2,L2
AREA=R(1)*XCV(I)
FLOW=AREA*V(I,2)*RHO(I,1)
DIFF=AREA*GAM(I,1)/YCV(2)
CALL DIFLOW
202 AJM(I,3)=ACOF+MAX(ZERO,FLOW)
DO 203 J=3,M2
FL=ARXJ(J)*U(2,J)*RHO(1,J)
FLM=ARXJP(J-1)*U(2,J-1)*RHO(1,J-1)
FLOW=FL+FLM
DIFF=(ARXJ(J)*GAM(1,J)+ARXJP(J-1)*GAM(1,J-1))/(XDIF(2)*SXMN(J))
CALL DIFLOW
AIM(2,J)=ACOF+MAX(ZERO,FLOW)
DO 203 I=2,L2
IF(I.EQ.L2) GO TO 204
FL=ARXJ(J)*U(I+1,J)*(FX(I+1)*RHO(I+1,J)+FXM(I+1)*RHO(I,J))
FLM=ARXJP(J-1)*U(I+1,J-1)*(FX(I+1)*RHO(I+1,J-1)+FXM(I+1)*
1 RHO(I,J-1))
GM=GAM(I,J)*GAM(I+1,J)/(XCV(I)*GAM(I+1,J)+XCV(I+1)*GAM(I,J)+
1 1.0D-30)*ARXJ(J)
GMM=GAM(I,J-1)*GAM(I+1,J-1)/(XCV(I)*GAM(I+1,J-1)+XCV(I+1)*
1 GAM(I,J-1)+1.0D-30)*ARXJP(J-1)
DIFF=2.D0*(GM+GMM)/SXMN(J)
GO TO 205
204 FL=ARXJ(J)*U(L1,J)*RHO(L1,J)
FLM=ARXJP(J-1)*U(L1,J-1)*RHO(L1,J-1)
DIFF=(ARXJ(J)*GAM(L1,J)+ARXJP(J-1)*GAM(L1,J-1))/(XDIF(L1)*SXMN(J))
205 FLOW=FL+FLM
CALL DIFLOW
AIM(I+1,J)=ACOF+MAX(ZERO,FLOW)
AIP(I,J)=AIM(I+1,J)-FLOW
IF(J.EQ.M2) GO TO 206
AREA=R(J)*XCV(I)
FL=V(I,J)*(FY(J)*RHO(I,J)+FYM(J)*RHO(I,J-1))*RMN(J)
FLP=V(I,J+1)*(FY(J+1)*RHO(I,J+1)+FYM(J+1)*RHO(I,J))*RMN(J+1)
FLOW=(FV(J)*FL+FVP(J)*FLP)*XCV(I)
DIFF=AREA*GAM(I,J)/YCV(J)
GO TO 207
206 AREA=R(M1)*XCV(I)
FLOW=AREA*V(I,M1)*RHO(I,M1)
DIFF=AREA*GAM(I,M1)/YCV(M2)
207 CALL DIFLOW
AJM(I,J+1)=ACOF+MAX(ZERO,FLOW)
AJP(I,J)=AJM(I,J+1)-FLOW
VOL=YCVRS(J)*XCV(I)
SXT=SX(J)
IF(J.EQ.M2) SXT=SX(M1)
SXB=SX(J-1)
IF(J.EQ.3) SXB=SX(1)
APT=(ARXJ(J)*RHO(I,J)*0.5D0*(SXT+SXMN(J))+ARXJP(J-1)*RHO(I,J-1)*
10.5D0*(SXB+SXMN(J)))/(YCVRS(J)*DT)
AP(I,J)=AP(I,J)-APT
CON(I,J)=CON(I,J)+APT*V(I,J)
AP(I,J)=(-AP(I,J)*VOL+AIP(I,J)+AIM(I,J)+AJP(I,J)+AJM(I,J))
1/RELAX(NF)
CON(I,J)=CON(I,J)*VOL+REL*AP(I,J)*V(I,J)
DV(I,J)=VOL/YDIF(J)
CON(I,J)=CON(I,J)+DV(I,J)*(P(I,J-1)-P(I,J))
DV(I,J)=DV(I,J)/AP(I,J)
203 CONTINUEprob
CALL SOLVE
200 CONTINUE
Partager