速度ポテンシャル に対する Laplace 方程式の Neumann 境界値問題で、 上で が与えられたとき
これは、 , , , の場合に相当する。
特に のときは、 において であるから、 とすると
速度ポテンシャルを求める solveLaplace.edp |
// solveLaplace.edp border Gamma2(t=0,2*pi) { x=cos(t); y=sin(t); } int m=40; mesh Th = buildmesh(Gamma2(m)); plot(Th, wait=1, ps="Th.eps"); savemesh(Th,"Th.msh"); // optional fespace Vh(Th,P1); Vh u,v; func f=0; func g1=0; // no use func g2=x+2*y; solve Poisson(u,v) = int2d(Th)(dx(u)*dx(v)+dy(u)*dy(v)) -int2d(Th)(f*v) -int1d(Th,Gamma2)(g2*v) // +on(Gamma1,u=g1) ; plot(u,ps="equipotential.eps"); |
(実は、上の弱形式は解の一意性がないので、 このプログラムは少し危ういところがある。)
桂田 祐史