Freefem++ problème de maillage T_T
Répondre à la discussion
Affichage des résultats 1 à 1 sur 1

Freefem++ problème de maillage T_T



  1. #1
    invite8c6bae12

    Freefem++ problème de maillage T_T


    ------

    Salutation ^^

    Donc j'ai un soucis sur deux programmes, il y a une partie de mes programmes qui sont bons mais le maillage est loin d'être parfait (il faut dire que j'ai du mal avec les maillages...), voici les énoncés et mes programmes à moi ^^

    1) On considère un barreau de section rectangulaire omega = [0,L]x[-H/2,H/2], on néglige la troisième dimension.
    Le barreau est chauffé à Tc à une extrémité et est refroidit à Tf à l'autre extrémité, la température à l'équilibre est la solution de l'EDP :

    -delta(teta) = f pour (x,y) appartient à omega.

    La variable teta = (T-Ta)/Ta est la température adimensionnée par rapport à l'ambiance Ta, les conditions aux limites sont :

    sur gamma 4 teta=teta(c) (condition dirichlet)
    gamma 2 teta = teta(f) (pareil
    gamma1 UU gamma3 d(teta)/d(n) = 0 (paroi isolé, condition Neumann)

    Les gamma 1 et 3 correspondent au côté du rectangle [0,L] et les 2 autres au côté [-H/2,H/2]

    Programme 1 : résoudre le problème pour la fonction f(x,y)=0 et tracer la distribution de température T en °C

    2) On suppose maintenant qu'à l'intérieur du barreau se trouve une résistance électrique cylindrique (domaine circulaire C) qui produit un flux constant de chaleur, elle sera modélisée par la fonction f(x,y) qui est constante sur C et nulle ailleurs.

    On positionne le domaine C de rayon r = H/10 au milieu du barreau et on prendra f(x,y) = q = 250

    Programme 2 : résoudre ce problème et tracer la distribution T en °C dans le barreau.

    Voici mon programme 1 :

    Code:
    real L=1, Ta=293, Tc=575, Tf=278,H=0.4,To=273.15;
    mesh Th= square(2,2,[x*H/2,y*H/2]);
    plot(Th);
    savemesh(Th, "Th.mesh");
    fespace Vh(Th,P1);
    Vh u,v,T;
    T=Ta*u+Ta-To;
    func f=0;
    problem barreau(u,v)=int2d(Th)(dx(u)*dx(v)+dy(u)*dy(v))
    		    -int2d(Th)(f*v)+on(1,u=Tc)+on(2,u=Tf);
    plot(T);


    Voici mon programme 2 :

    Code:
    real L=1, Ta=293, Tc=575, Tf=278,H=0.4,To=273.15,q=250;
    mesh Th = square(2,2,[x*H/10,y*H/10]);
    plot(Th);
    savemesh(Th, "Th.msh");
    
    fespace Vh(Th,P1);
    Vh u,v,T;
    T=Ta*u+Ta-To;
    func f=q;
    problem barreau(u,v)=int2d(Th)(dx(u)*dx(v)+dy(u)*dy(v))
    		    -int2d(Th)(f*v)+on(1,u=Tc)+on(2,u=Tf);
    plot(T);
    fespace Ph(Th,P0);
    Ph labelR=region;
    int label1=labelR(0,0);
    int label2=labelR(0,L/2);
    cout<<"labels domaines="<<label<<" et "<<label2<<endl;
    plot(labelR,cmm="labels des domaines", wait=1,fill=1);
    Ph IdCercle = (region==label2) ? 1: 0;
    plot(IdCercle, cmm="fonction indicatrice du cercle", wait=1, fill=1);


    Le 2 est pas fini, mais mon soucis c'est surtout faire les maillages pour le barreau normal en 1 et pour le barreau avec le cercle dans le 2, c'est ça que je voudrais comprendre, comment faire ces 2 maillages !

    Merci d'avance ^^

    -----
    Dernière modification par yoda1234 ; 20/02/2012 à 16h36.

Discussions similaires

  1. Espace de Hilbert, Méthode du point milieu, freefem++
    Par invite819ed59e dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 12/05/2011, 18h59
  2. Simulation freefem++: Pont thermique
    Par invite43b57b36 dans le forum Physique
    Réponses: 0
    Dernier message: 07/02/2011, 17h33
  3. problème e maillage sur gambit
    Par invite215da103 dans le forum Technologies
    Réponses: 5
    Dernier message: 09/12/2009, 20h30
  4. installer internet sans le CD T_T
    Par invite8a1ee9f2 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 4
    Dernier message: 03/10/2006, 22h06