Maillage d'une forme par FreeFem++

Bonjour
Sur FreeFem++. Pour construire un maillage d'un carré privé d'un cercle à l'intérieur j'ai fait ce code :
//maillage non structuré du rectangle ]0,4[x]0,4[

real L=4.0;
int Neu=2,Dir=1;

real x0=0.0,y0=0.0;
real x1=L,y1=0.0;
real x2=L,y2=L;
real x3=0.0,y3=L;
real x4=x0,y4=y0;

//Paramétrage des bords (créé des lignes entre les points) :
//t varie entre 0 et 1

border a(t=0,1){x=x0+t*(x1-x0);y=y0+t*(y1-y0);label=Neu;};
border b(t=0,1){x=x1+t*(x2-x1);y=y1+t*(y2-y1);label=Neu;};
border c(t=0,1){x=x2+t*(x3-x2);y=y2+t*(y3-y2);label=Dir;};
border d(t=0,1){x=x3+t*(x4-x3);y=y3+t*(y4-y3);label=Dir;};
border e(t=0,2*pi){x=cos(t);y=sin(t);label=Dir;};

//distcrétisation (n=3 segment sur le bord)

int n=3;
mesh Th=buildmesh(a(n)+b(n)+c(n)+d(n)+e(-25*n));
plot(Th);
Mais il n'a pas marché sachant qu'il a bien marché pour un cercle privé d'un cercle à l'intérieur.

Réponses

  • Salut,

    N'ayant jamais touché à ce logiciel, si ça vient de la programmation, je ne peux pas t'aider, mais je me pose des questions au niveau de la géométrie. Si j'ai bien compris les déclarations, la frontière "e" est un cercle de rayon 1 centré sur le sommet inférieur gauche de ton carré tu devrais commencer par ajouter un +L/2 dans les "x" et "y" du cercle pour avoir un truc centré au centre du carré, si c'est bien le carré privé du quart de cercle que tu cherches, je pense que tu dois modifier les segments "a" et "d" et remplacer le pi*2 par un pi/2 pour e.
Connectez-vous ou Inscrivez-vous pour répondre.