速度ポテンシャルを求める境界値問題
特に
,
のときは、
において
であるから、
速度ポテンシャルを求める 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"); |
プログラムはテキスト・エディター (テキスト・エディット, mi, emacs など) で作成し、ターミナルから、
こんなふうにして実行 |
FreeFem++ solveLapalce.edp |
(実は、上の弱形式は解の一意性がないので、 このプログラムは少し危ういところがある。)