/* 正方形領域 $\Omega=]0,1[^{2}$ でのDirichlet境界値条件Poisson方程式を解きます。 $$ -\Delta u = 1\quad \textrm{in }\Omega; \qquad u=0 \quad \textrm{on }\partial\Omega$$ 有限要素法が変分法を基礎とするため、FreeFem++では弱形式しか扱えません。\\ そのため、境界条件 $u=0$ on $\partial\Omega$ の下で $$\textrm{Poisson(u,v)}=\int_{\Omega} \{\nabla u\cdot\nabla v - fv\}$$ を解きます。*/ mesh Th=square(10,10); // 領域$\Omega=]0,1[^2$の三角形分割 plot(Th,wait=1); //三角形分割を見てみる fespace Vh(Th,P1); // 1次要素有限要素空間 Vh u,v; // $u,v\in V_h(\Omega)$ /*弱形式を記述し Poisson と名づける。 $$\int_{\Omega}(\partial_{x}u\partial_{x}v+\partial_{y}u\partial_{y}v) dxdy -\int_{\Omega}1\cdot v dxdy = 0$$ */ problem Poisson(u,v) = int2d(Th)( dx(u)*dx(v) + dy(u)*dy(v)) - int2d(Th) ( 1*v ) + on(1,2,3,4,u=0) ; Poisson; // Poisson を解く //$u$ の等高線を描き、Postscriptファイルで保存 plot(u,ps="hello00.eps");