square でメッシュ分割したとき、下の辺、右の辺、 上の辺、左の辺に 1, 2, 3, 4 というラベルがつくことが大事なポイントである。
poisson-kikuchi-square.edp |
// poisson-kikuchi-square.edp int m=10; mesh Th = square(m,m); plot(Th, wait=1,ps="Th-square.eps"); savemesh(Th,"Th-square.msh"); // optional fespace Vh(Th,P1); Vh u,v; func f=1; func g1=0; func g2=0; solve Poisson(u,v) = int2d(Th)(dx(u)*dx(v)+dy(u)*dy(v)) -int2d(Th)(f*v) -int1d(Th,2,3)(g2*v) // Gamma20,Gamma21 +on(1,4,u=g1); // on(Gamma10,Gamma11,u=g1) plot(u,ps="contour.eps"); |