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 :

programmation de l'equation de burger par mdf


Sujet :

Fortran

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Femme Profil pro
    etudiante
    Inscrit en
    Mai 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : etudiante

    Informations forums :
    Inscription : Mai 2015
    Messages : 2
    Par défaut programmation de l'equation de burger par mdf
    aide moi svp j ai un problm de progammation s il ya qlq corrige mon erreur ds ce programme et merci bcq
    voici le program
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    implicit real nx,nt,u(i),dx,dt,t,x,i
    dx=50-(-50)/100
    dt=0.1
    nx=100
    !condition initial
    do i=0,nx
    if(x<=0) then Un(i)=0
    else 
    Un(i)=1
    end do 
    !solution analytique
    do i=0,nx
    if x<=0 then Un(i)=0
    if 0<x<t then Un(i)=x/t
    else Un(i)=1
    end if
    end if
    end do
    !construction des condition aux limites
    Un(-50)=exact(-50)
    Un(50)=exact(50)
    !traitement du terme convetif par upwind
    do i=0,nx
    lamda(i)=0,5*(Un(i)+Un(i+1))
    end do
    do 100 i=0,nx+1
    if lamda(i)>=0 then term1(i)=Un(i)
    else 
    term1(i)=Un(i+1)
    end if
    if lamda(i-1)>=0 then term2(i)=Un(i-1)
    else
    term2(i)=Un(i)
    end if
    convec(i)=(lamda(i)*term(i)-lamda(i-1)*term2(i))
    u(i)=Un(i)-0,5*(dt/dx)*conec(i)
    100 continue
    write u(i),x(i)
    end

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Août 2006
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 974
    Par défaut
    Tu dois faire l'effort de corriger tes erreurs de syntaxe de base. La grande majorité des erreurs sont triviales. Tu dois prendre un manuel de Fortran et vérifier la syntaxe des instructions. Pour le « implicit real ... » : tu devrais uniquement utiliser le « implicit none » et déclarer explicitement chaque variable, à moins de vouloir faire fonctionner un programme écrit il y a plus de 40 ans.

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/03/2012, 13h53
  2. Réponses: 1
    Dernier message: 08/02/2010, 16h39
  3. Equation non linéaire par Runge-Kutta
    Par sdplam dans le forum Mathématiques
    Réponses: 8
    Dernier message: 28/10/2009, 19h34
  4. Equation du cercle par la méthode des moindres carrés
    Par olivier21c dans le forum MATLAB
    Réponses: 1
    Dernier message: 29/03/2009, 20h10
  5. Réponses: 2
    Dernier message: 04/01/2009, 15h55

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