include "ffmatlib.idp" real Zm = 100; real Rm = 100; real a = 8; // rayon moyen real e = 4; // épaisseur real L = 50; // longueur real e2 = e/2; real L2 = L/2; int C = 10; //border Ca(t=0,1){x=-Zm+2*Zm*t;y=0; label=C;} //border Cb(t=0,1){x=Zm;y=Rm*t; label=C;} //border Cc(t=0,1){x=Zm-2*Zm*t;y=Rm; label=C;} //border Cd(t=0,1){x=-Zm;y=Rm*(1-t); label=C;} border Ca(t=0,1){x=-Zm+2*Zm*t;y=-Rm; label=C;} border Cb(t=0,1){x=Zm;y=-Rm+2*Rm*t; label=C;} border Cc(t=0,1){x=Zm-2*Zm*t;y=Rm; label=C;} border Cd(t=0,1){x=-Zm;y=Rm-2*Rm*t; label=C;} int N=20; mesh Th = buildmesh(Ca(N)+Cb(N)+Cc(N)+Cd(N)); plot(Th, wait=1); fespace Vh(Th,P1); Vh u,v; func real source(real &x, real &y){ if ((abs(x)