IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Fortran Discussion :

probleme de divergence dans l'equation de vitesse vy


Sujet :

Fortran

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 2
    Points : 3
    Points
    3
    Par défaut probleme de divergence dans l'equation de vitesse vy
    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

  2. #2
    Membre régulier Avatar de rogue-spectre
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 104
    Points : 122
    Points
    122
    Par défaut
    Salut,

    Juste une petite remarque. C'est moche les goto, et du coup on a pas envie de regarder le code. Un petit coup d'indentation ne ferait pas de mal non plus. Je pense que si tu présentes un code plus sympathique tu auras plus de réponses.

    Bonne journée
    Libérez vos documents http://fr.libreoffice.org/ et vos doigts en tapant en BÉPO http://bepo.fr/wiki/Accueil:, rangez les cartes perforées dans une armoire et GOTO work

Discussions similaires

  1. Probleme d'ecriture dans un fichier en mode Text
    Par bbozet dans le forum C++Builder
    Réponses: 3
    Dernier message: 14/01/2004, 13h46
  2. Réponses: 2
    Dernier message: 04/01/2004, 15h14
  3. [BPW]Problème de recherche dans une boîte liste
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 14
    Dernier message: 05/07/2003, 15h10
  4. Probleme d'éffacement dans le cookie
    Par Geulderack dans le forum XMLRAD
    Réponses: 6
    Dernier message: 02/04/2003, 14h17
  5. Probleme de filtre dans bdd
    Par scorpiwolf dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/06/2002, 10h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo