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