Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

1 : border A(t=0,4){x=t;y=0;label=1;}

2 : border B(t=0,1){x=4;y=t;label=2;}

3 : border C1(t=4,2.05){x=t;y=1;label=31;}

4 : border C2(t=2.05,1.95){x=t;y=1;label=32;}

5 : border C3(t=1.95,0){x=t;y=1;label=33;}

6 : border D(t=0,1){x=0;y=1-t;label=4;}

7 : border K(t=0,2*pi){x=2+0.2*cos(t);y=0.5+0.2*sin(t);label=5;}

8 : mesh Th=buildmesh(A(20)+B(15)+C1(8)+C2(3)+C3(8)+D(15));

9 : plot(Th,wait=1);

10 : fespace Wh(Th,[P1,P1]);

11 : Wh[u1,u2],[v1,v2];

12 : func f1=0;

13 : func f2=-1;

14 : func g1=0;

15 : func g2=-10;

16 :

17 : real E=15;

18 : real v=0.05;

19 : real l=E*v/((1.+v)*(1.-2*v));

20 : real m=E/(2.*(1.+v));

21 : real s=dx(u1)*dx(v1)+2.*((dy(u1)+dx(u2))*(dy(v1)+dx(v2)))+dy(u2)*dy(v2);

22 : problem elasticite([u1,u2],[v1,v2],solver=LU)=
int2d(Th)((l*(dx(u1)+dy(u2))*(dx(v1)+dy(v2)))+2*m*dx(u1)*dx(v1)+2*(dx(u2)+dy(u1))*(dx(v2)+dy(v1)
)+(dy(u2)*dy(v2)))-int2d(Th)(f1*v1+f2*v2)-int1d(Th,32)(g1*v1+g2*v2)+on(4,2,u1=0,u2=0);

23 :

24 : elasticite;

25 : mesh Th2=movemesh(Th, [x+0.1*u1, y+0.1*u2]);

26 : plot([u1,u2], wait=1);
27 : plot(Th2, wait=1);

28 : fespace Vh(Th,P1);

29 : Vh sigma;

30 :
sigma=((2*m+l)*dx(u1)+l*dy(u2))*((2*m+l)*dx(u1)+l*dy(u2))+((2*m+l)*dy(u2)+l*dx(u1))*((2*m+l)*d
y(u2)+l*dx(u1))+2*m*m*(dx(u2)+dy(u1))*(dx(u2)+dy(u1));

31 : plot(sigma,wait=1,fill=1);

32 : Th=adaptmesh(Th,sigma);

33 : //Th=adaptmesh(Th,u2);

34 : plot(Th,wait=1);

You might also like