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

C++ Discussion :

Erreur sous FreeFem++


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 87
    Par défaut Erreur sous FreeFem++
    J ai un système de Navier Stokes a résoudre avec un programme C++, mais avant ça je voudrais trouver la solution exacte avec FreeFem++.

    Alors voilà le code :
    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
     
    //maillage
     
    border a(t=1,0){x=0;y=0.5+0.5*t;label=1;};
    border b(t=0,1){x=5*t;y=0.5;label=2;};
    border c(t=1,0){x=5 ;y=0.5*t;label=2;};
    border d(t=0,1){x=5+15*t;y=0;label=2;};
    border e(t=0,1){x=20 ;y=t;label=3;};
    border h(t=1,0){x=20*t;y=1;label=4;};
    mesh Th = buildmesh( a(7) + b(40) + c(10) + d(150) + e(5) + h(100));
    plot(Th,wait=1);
     
     
    fespace Xh(Th,P2);		//discretisation pour la vitesse
    fespace Mh(Th,P1);		//discretisation pour la pression
     
    real nu = 0.0025, dt = 0.2;
     
    Xh v1 ,v2 , u1=1 , u2=0; 	//initialisation du vecteur vitesse deplacement horizontal, et du vecteur pour la F.V
    Mh p=0, q=0;
     
    real area= int2d(Th)(1.);
     
    for (int n=0; n<100; n++){
    Xh u1old =u1, u2old = u2;
    Xh f=convect([u1, u2], -dt, u1old), g=convect([u1, u2], -dt, u2old);
    solve pb([u1,u2,p],[v1,v2,q],solver=LU)
          = int2d(Th)( v1*u1 + v2*u2 
    		 + dt*nu*(dx(v1)*dx(u1)+ dy(v1)*dy(u1) + dx(v2)*dx(u2)+ dy(v2)*dy(u2))
          		 - dt*(p*dx(v1) - p*dy(v2))
    		 - p*q*(0.000001)
    		 - dx(u1)*q - dy(u2)*q -(f*v1+g*v2) 
          + on (2,4 , u1=0,u2=0)
          + on (1 , u1=1,u2=0)      
          + on (3 , u1=f, u2=0);
    }
     
    //plot ( u1,u2, wait = 1);
    plot (p, wait=1);

    et voila l'erreur que j obtiens:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     Error line number 32, in file stokes.edp, before  token +
     
      current line = 31
    Compile error : 
            line number :32, +
    error Compile error : 
            line number :32, +
     code = 1
    Si quelqu un connais un peu FreeFem++ ce serrait super, sinon je suis ouverte à toutes propositions pour les conditions limites, sachant que je suis pas trop physiciennne, ces conditions sont un peu floues pour moi.

    Merci à tous.

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Je ne connais rien à FreeMem++

    mais je dirais que les parenthèses ne sont pas équilibrées sur la ligne suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
          = int2d(Th)( v1*u1 + v2*u2 
    		 + dt*nu*(dx(v1)*dx(u1)+ dy(v1)*dy(u1) + dx(v2)*dx(u2)+ dy(v2)*dy(u2))
          		 - dt*(p*dx(v1) - p*dy(v2))
    		 - p*q*(0.000001)
    		 - dx(u1)*q - dy(u2)*q -(f*v1+g*v2) 
          + on (2,4 , u1=0,u2=0)
          + on (1 , u1=1,u2=0)      
          + on (3 , u1=f, u2=0);
    Ceci dit, vu la complexité de la ligne, pas étonnant de louper une parenthèse. Il m'a fallut m'y reprendre à plusieurs fois et encore, je ne suis pas sûr de ma réponse

    Une ecriture moins alambiquée résoudrait le problème
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    oui il manque une parenthèse avant le point virgule de fin.

Discussions similaires

  1. Erreur sous PHP MyAdmin (PMA database?)
    Par Matlight dans le forum Installation
    Réponses: 5
    Dernier message: 28/10/2010, 19h38
  2. Erreur sous firefox et non sous IE...
    Par soad029 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 18/08/2005, 10h39
  3. message d'erreur sous l'utilitaire IBconsole
    Par vbcasimir dans le forum Outils
    Réponses: 6
    Dernier message: 05/01/2005, 12h07
  4. découvrir les erreurs sous Mozilla
    Par rabobsky dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/12/2004, 20h51
  5. Personnaliser un rapport d'erreur sous Windows XP
    Par Neilos dans le forum Windows
    Réponses: 5
    Dernier message: 21/11/2003, 18h13

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