速度ポテンシャル
に対する 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"); |
(実は、上の弱形式は解の一意性がないので、 このプログラムは少し危ういところがある。)
桂田 祐史