ポテンシャル問題とその数値解法nalab.mind.meiji.ac.jp/~mk/complex2/potential.pdfLaplace...

34
ポテンシャル問題とその数値解法 桂田 祐史 2017 6 20 , 2021 6 20 http://nalab.mind.meiji.ac.jp/~mk/complex2/ 複素関数論 (以下単に「関数論」という) では、Laplace 方程式の境界値問題 (ポテンシャル 問題と呼ばれることがある) が良く現れる。その事情を簡単に紹介する。 ポテンシャル問題は、かなり一般的に解の存在と一意性が成り立つが、厳密解が具体的な式 で表せることは稀で、多くの場合、数値計算で近似解を求めるしかない。幸い多くの数値解法 が利用できる。代表的な数値解法を紹介する。 現象数理学科の学生で、この文書に載っているプログラムの動かし方が分からない人は、相 談に応じます。 目次 1 はじめに 2 2 ポテンシャル問題に対する Dirichlet の原理と Poisson 方程式に対する弱解の方法 3 2.1 ポテンシャル問題に対する解の存在証明、Dirichlet の原理 ........... 3 2.2 Poisson 方程式に対する弱解の方法 ........................ 4 2.2.1 1 次元の場合の弱解の方法 ......................... 4 2.2.2 1 次元の場合の有限要素法 ......................... 6 2.2.3 2 次元の場合の弱解の方法 ......................... 7 3 有限要素法と FreeFem++ 7 3.1 FreeFem++ プログラム (その 1) .......................... 7 3.2 FreeFem++ プログラム (その 2) 流体の速度ポテンシャルを求める ...... 9 4 等角写像, Riemann の写像定理 (工事中) 11 5 領域の等角写像, Riemann の写像定理, ポテンシャル問題との関係 13 5.1 はじめに ....................................... 14 5.2 Riemann の写像定理 ................................ 14 5.3 単連結領域の場合の等角写像の正規化条件 .................... 14 5.4 Jordan 領域の等角写像を求めるアルゴリズム .................. 15 5.5 (細かい話) 多重連結領域の場合 .......................... 17 1

Transcript of ポテンシャル問題とその数値解法nalab.mind.meiji.ac.jp/~mk/complex2/potential.pdfLaplace...

http://nalab.mind.meiji.ac.jp/~mk/complex2/
1 2
2 Dirichlet Poisson 3
2.1 Dirichlet . . . . . . . . . . . 3
3.2 FreeFem++ ( 2) . . . . . . 9
4 , Riemann () 11
5 , Riemann, 13
5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.2 Riemann . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.3 . . . . . . . . . . . . . . . . . . . . 14
5.4 Jordan . . . . . . . . . . . . . . . . . . 15
6.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
6.3 . . . . . . . . . . . . . . . . . . . . . 19
A Poincare-Perron 23
B Poisson 24
B.3.3 MATLAB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
B.4 . . . . . . . . . . . . . . . . . . . . . . . . . . 33
B.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4 = 0 in , ∂
∂n = v · n on ∂
)
Poisson
u = g1 in Γ1,(1.2)
∂n = g2 in Γ2(1.3)
Γ1 Γ2 ∂ (∂ = Γ1 ∪ Γ2, Γ1 ∩ Γ2 = ∅ )n Γ2 f , g1, g2
(1) , (2) , (3)
2
2 Dirichlet Poisson
: FreeFem++
() () 2018/6/11 (…)
2.1 Dirichlet G. F. B. Riemann (1826–1866) Riemann (1851) Laplace Dirichlet
4 u = 0 (in ), u = g1 (on ∂)
u Dirichlet 1 “”
Riemann u = g1 (on ∂) u
J [u] =
) dx dy ( J Dirichlet )
4 u = 0 Dirichlet v v = 0 (on ∂)
f(t) := J [u+ tv] (t ∈ R)
t = 0 (u+ tv J [u+ tv] ≥ J [u]. f f(t) ≥ f(0). f t = 0 )
f(t) = J [u] + 2t

1 ∫∫

1Dirihlet
v 4 u = uxx + uyy = 0.
J [u] u J J ≥ 0 J J Riemann () u Weierstrass ( Weierstrass ) Riemann Weierstrass 50 (1900) D. Hilbert Dirichlet C. F. Gauss (1777–1855) Riemann
2.2 Poisson DirichletLaplace W. Ritz Ritz
1909 Ritz-Galerkin
2.2.1 1 1 () (P)
− u′′(x) = f(x) (x ∈ (0, 1)),(2.1)
u(0) = α,(2.2)
u′(1) = β(2.3) (P) (W), (V) (weak formulation) (W) Xg1 , X
(2.4) X := { v ∈ H1(0, 1) | v(0) = 0
} , Xg1 :=
} .
div f dx dy =
∫ ∂
f ·n dσ f = v∇u div(v∇u) = ∇u · ∇v+ v4u, ∇u ·n = ∂u ∂n

4
( H1(0, 1) 1 Sobolev 1 Lebesgue — ) 2
(a) X Xg1
(b) X Xg1 v v(0) = 0, v(0) = α
(W) Xg1 u
(2.5)
∫ 1
0
(2.5) (W) (weak form)
(W) u ∈ Xg1 (weak solution)
(P) (W) u (P) v ∈ X (2.1) [0, 1]
− [u′(x)v(x)] 1 0 +
[u′(x)v(x)] 1 0 = u′(1)v(1)− u′(0)v(0) = βv(1).
∫ 1
f(x)v(x) dx+ βv(1).
u (W) 1. (W) C2 (P)
3(variational problem) (V) Xg1 u J
J [u] = inf w∈Xg1
J [w] (inf min )

0
J : Xg1 → R u J
5
(W) (V) 2. (W) (V)(:
J [u+ tv]− J [u] = t
[∫∫ 1
0
] + t2
2
∫∫
(V) ( (W))C2(P), (W), (V) (W) ⇒ (P) Dirichlet (Laplace
Dirichlet J Dirichlet ( 1/2) ) (P) (W) (V)
2.2.2 1 {xi}Ni=0
0 = x0 < x1 < · · · < xN = 1

X := {v ∈ C([0, 1]) | v [xi − 1, xi] 1 } ,
X := { v ∈ X
v(0) = 0 } , Xg1 :=
{ v ∈ X
v(0) = α }
X X Xg1 Xg1 X 1 2 u (W) Find u ∈ Xg1 s.t. ∫ 1
0
J [w].
u(x) = α0(x) + N∑ i=1
aii(x)
6
a1, · · · , aN u (W) ( (V)) a1, . . . , aN 1 {xi} [0, 1] N u xi Ui
(2 )

2 (W) Find u ∈ Xg1 s.t.
(2.6)


} ,
} .
(1
∫ 1
0
∫ 1
0
:
∂u
3 FreeFem++
7
1FreeFem++4 6 J. L. LionsFrederic Hecht, Oliver
Pironneau, A. Le Hyaric, 2, 3 PSE (problem solving environment) ( 400, ) (Windows, Mac, Linux) [1]
[2] Poisson
−4 u = f in ,(3.1)
u = g1 in Γ1,(3.2)
∂n = g2 in Γ2(3.3)
( = (0, 1) × (0, 1), Γ1 = {0} × [0, 1] ∪ [0, 1] × {0}, Γ2 = {1} × (0, 1] ∪ (0, 1] × {1}, f = 1, g1 = 0, g2 = 0) FreeFEM++ Poisson2.edp // Poisson2.edp
int Gamma1=1, Gamma2=2;
border Gamma10(t=0,1) { x=0; y=1-t; label=Gamma1; }
border Gamma11(t=0,1) { x=t; y=0; label=Gamma1; }
border Gamma20(t=0,1) { x=1; y=t; label=Gamma2; }
border Gamma21(t=0,1) { x=1-t; y=1; label=Gamma2; }
int m=10;
plot(Th, wait=1,ps="Th.eps");
plot(u,ps="contour.eps"); ( Mac mi, 5,
emacs ) FreeFem++ Poisson2.edp return esc
4http://www.freefem.org/ff++/ 5http://
nalab.mind.meiji.ac.jp/~mk/knowhow-2015/node1.html
3.2 FreeFem++ (2)
4 = 0 (in )(3.4)
Γ1 = ∅, Γ2 = ∂, f = 0, g2 = v · n.
= {(x, y) ∈ R2 | x2 + y2 < 1}, v ≡
( 1
2
( x
y
)
// 2 // ,
border Gamma(t=0,2*pi) { x = cos(t); y = sin(t); } // int m=40;
mesh Th=buildmesh(Gamma(m));
plot(Th, wait=1, ps="Th.eps");
// 2 1 fespace Vh(Th,P1);
Vh phi, v, v1, v2;
// func Vn=x+2*y; // Ω, V=(1,2) Vn=x+2y
// φ () solve Laplace(phi,v) =
int2d(Th)(dx(phi)*dx(v)+dy(phi)*dy(v)) -int1d(Th,Gamma)(Vn*v);
plot(phi,ps="contourpotential.eps",wait=1);
v1=dx(phi); v2=dy(phi);
// plot([v1,v2],phi,ps="both.eps", wait=1); (mi, emacs, Xcode, 7) FreeFem++ potential2d-v0.edp ( ) Escape
2:
mind.meiji.ac.jp/~mk/knowhow-2015/node1.html
(2018/6/18 08-20180618.pdf ) 4.1 (1) U Cf : U → Cf (conformal mapping)
f

(2) U , V C f : U → V f (biholomorphic) f f f−1
z ∈ U 2 C1, C2 C1 C2 C1 C2 f
2 t = 0 z φ : (−ε, ε) → U d
dt f(φ(t))
t=0
arg
= arg f ′(z) + argφ′(0).
4.2 w = f(z) f−1(f(z)) = z. (f−1)
′ (w)f ′(z) = 1.
f ′(z) 6= 0.
4.3 () f U f V := f(U) f : U → V
4.4 () z0 ∈ D1, ε ∈ C, |ε| = 1
φ(z) = ε z − z0 1− z0z
(z ∈ D1)
11
φ1 : D1 → D1 φ : D1 → D1
(∃z0 ∈ D1)(∃ε ∈ C : |ε| = 1)(∀z ∈ D1) φ(z) = ε z − z0 1− z0z
(Schwarz )
4.5 H := {z ∈ C | Im z > 0}
φ(z) = z − i
z + i (z ∈ H)
|φ(z)| < 1 φ : H → D1 φ Cayley
4.6 (Schwarz-Cristoffel) ()
f : U → V U V U (V ) f (f−1) V (U) U V 1D1: D1 = D(0; 1) = {w ∈ C | |w| < 1}. 4.7 (Riemann) U C C U D1 φ : U → D1 φ U U (U
U D1 )
4.8 (1) U 6= C CD1 φ : C → D1 |φ(z)| < 1 φ LiouvilleC
(2) n (n− 1 ) n 2 U U A(0; ρ, 1) ρ U 1 (U modulus) φ 4.9 () U C C z0 ∈
(4.1) φ(z0) = 0 φ′(z0) > 0
φ : U → D1 12
(5.1) C (Jordan) C U
U U Jordan φ : U → D1 φ : U → D1 (Caratheodry ) φ φ(z0) = 0 z0 ∈ f(z) :=
φ(z)
z→z0
f(z) 6= 0. U log φ(z) z−z0
u, v :
u(z) := Re log φ(z)
φ(z)

(4.3) u(z) = − log |z − z0| (z ∈ ∂U)
z ∈ ∂U φ(z) ∈ ∂D1, |φ(z)| = 1
u(z) = Re log φ(z)

u v u
v(z0) = 0
φ(z) := (z − z0) exp [u(z) + iv(z)]
U D1
(2017/6/28 §6 )
13
5.1 () D Φ: → D Φ Φ: → D Φ−1 : D →
C C Φ Riemann Jordan Φ
5.2 Riemann (…)
U , V C φ : U → V φ φ−1
C C
φ : → D1 = D(0; 1)
(Riemann , 1851) φ , 8 Schwarz-Christoffel mapping
5.3 C C Riemann
φ : → D1 = D(0; 1)
5.1 C C z0
(5.1) φ(z0) = 0, φ′(z0) > 0
φ : → D1 φ1, φ2 ψ := φ2 φ−1
1 ψ : D1 → D1
ψ(0) = φ2
) = φ2(z0) = 0
8 φ′ 6= 0 φ : U → C V := φ(U) φ : z 7→ φ(z) ∈ V (φ′(z) 6= 0 )d
14
z − 0
2(z0) 1
φ′ 1(z0)
ε = 1. ψ(z) = z. φ2 = φ1.
5.4 Jordan Jordan Jordan C Jordan C C “” C C Jordan Jordan Riemann φ φ φ : → D1 (5.1)
φ : → D1 (Caratheodory ) φ φ φ(z)
z − z0 0
log φ(z)
u(z) + iv(z) := log φ(z)
(5.2) u(z) = − log |z − z0| (z ∈ ∂).

(5.3) 4 u(z) = 0 (z ∈ ).
(5.3), (5.2) Laplace Dirichlet uv u v(z0) = 0 φ
φ(z) = (z − z0) exp [u(z) + iv(z)] .
15
16
5.5 () D1 φ : → D1 C C \ n− 1 n C \ {0} C \D1 C \ {0, 1} (1 C \ 1— )
21 rA(0; r, 1) = {w ∈ C | r < |w| < 1} φ : → A(0; r, 1)
6 Laplace
6.1 6.1.1
3 E(x) = 1
2π log |x| −4 (the
fundamental solutionn) E :
4E(x) = 0 (x ∈ Rn \ {0}).
()
(6.1) −4E = δ
δ Dirac : E(x)
6.1.2 Poisson
−4U = f
() U Poisson v := u − U 4 v = 0 f = 0 ( U )
17
Green 3 ( Cauchy x Green 0 [3] §3.5)
− ∫
0 (x ∈ Rm \ ).
(x ∈ ∂ 3)
u(x) =
∫ ∂
uu, ∂u/∂n ∂u(x) ( Cauchy ) : ΓN = ∅
1
(b) u ∂ 0 x ∈
− ∫
6.2 ΓN = ∅ Laplace
4 u(x) = 0 (x ∈ ),
u(x) = g1(x) (x ∈ ΓD = ∂)
() u
18
u(N)(x) = N∑ k=1
QkE(x− yk)
(E Laplacian ) Q1, Q2, . . . , QN
4 u(N)(x) = 0 (x ∈ Rn \ {y1, y2, . . . , yN})
u(N)(x) = g1(x) (x ∈ ∂) u(N) ∂ x1, . . . , xN
u(N)(xj) = g1(xj) (j = 1, 2, · · · , N)
Qk
the method of fundamental solutions ( , fundamental solution method), (charge simulation method)
9
≤ CρN
• u(N)
(boundary element method,
BEM)
§5.4 9y1, . . . , yN Q1, . . . , QN
u(N)
19
u u(N) N ∈ N {ζk}Nk=1 C \
(6.2) u(N)(z) := N∑ k=1
Qk log |z − ζk|
Qk (k = 1, . . . , N){zj}Nj=1 ∂collocation equation
(6.3) u(N)(zj) = − log |zj − z0| (j = 1, . . . , N)
{Qk}
Qk Log z − ζk z0 − ζk
, Q0 := N∑ k=1
Qk log |z0 − ζk|
Re f (N)(z) = N∑ k=1
Qk log |z0 − ζk|+ N∑ k=1
Qk log
f (N)(z0) = Q0 +
= Q0 + N∑ k=1
0 = Q0 ∈ R.
Im f (N)(z0) = 0. f (N) f = u+ iv (1) (6.2), (6.3) {Qk}
(2) (6.4) f (N)
(3) φ(N)(z) := (z − z0) exp f (N)(z) φ(N) φ : → D1
6.4 Eigen Jordan MATLAB C++ Eigen10 (C++ ) WWWeigen-eigen-5a0156e40feb.tar.gz
10http://eigen.tuxfamily.org/
20
cd eigen-eigen-5a0156e40feb
Eigen ~/include
/usr/local/include (Eigen Runge-Kutta http://
nalab.mind.meiji.ac.jp/~mk/complex2/ball-bound.cpp )
= D1 = D(0; 1), z0 = 1/2
φ : → D1
1

* conformalmap.cpp --- ()
* g++ -I/opt/X11/include -I/usr/local/include conformalmap.cpp
* -L/usr/local/lib -lglscd -L/opt/X11/lib -lX11
* /opt/X11 X * /usr/local Eigen, GLSC * *
* Mac GLSC ~/include, ~/lib * * g++ -I/opt/X11/include -I ~/include conformalmap.cpp -L ~/lib -lglscd -L/opt/X11/lib -lX11
* Eigen ~/include * */
#include <iostream>
#include <complex>
#include <Eigen/Dense>
extern "C" {
#include <glsc.h>
11http://nalab.mind.meiji.ac.jp/~mk/complex2/conformalmap.cpp
using namespace std;
using namespace Eigen;
// MatrixXd double // d(double) i(int), f(float), cf, cd (complex<double>) OK
// φ (z0)=0, φ’(z0)>0 complex<double> phi(complex<double> z,
complex<double> z0)
complex<double> z0,
s += Q(k) * log((z-zeta(k))/(z0-zeta(k)));
return (z-z0) * exp(s);
double theta, pi, dt, R, Q0, r, dr;
// z0=1/2
R = 2;
N = 80;
// |z|=2 for (k = 0; k < N; k++)
zeta(k) = R * exp(I * (k * dt));
// cout << "zeta=" << zeta << endl;
// |z|=1 for (j = 0; j < N; j++)
z(j) = exp(I * (j * dt));
for (k = 0; k < N; k++) {
a(j,k) = log(abs(z(j)-zeta(k)));
b(j) = - log(abs(z(j)-z0));
Q0 += Q(k) * log(abs(z0-zeta(k)));
g_sel_scale(0);
for (i = 1; i <= m; i++) {
r = i * dr;
zp = r * exp(I * (j * dt));
w=f(zp,z0,N,Q0,Q,zeta);
theta = j * dt;
r = i * dr;
g++ -I/opt/X11/include -I ~/include conformalmap.cpp -L ~/lib -lglscd -L/opt/X11/lib -lX11
(GLSC Mac ~/include, ~/lib Eigen ~/include )
A Poincare-Perron ()

, z0 = 0.6 z
B Poisson ( )
(12)
B.1 (finite difference method, FDM) 2

h +O(h) (h→ 0).
h +O(h) (h→ 0).
2h +O(h2) (h→ 0).
h2 +O(h2) (h→ 0).
(B.5) f ′′′(x) = f(x+ 2h)− 2f(x+ h) + 2f(x− h)− f(x− 2h)
2h3 +O(h2) (h→ 0).
(B.6)
f ′′′′(x) = f(x+ 2h)− 4f(x+ h) + 6f(x, y)− 4f(x− h) + f(x− 2h)
h4 +O(h2) (h→ 0).

4 u(x, y) = u(x+ hx, y)− 2u(x, y) + u(x− hx, y)
h2x + u(x, y + hy)− 2u(x, y) + u(x, y − hy)
h2y +O(h2x+h
2 y).
B.2 1 = (0, 1), Γ1 = {0}, Γ2 = {1} (1.1), (5.2), (1.3)
− u′′(x) = f(x) (x ∈ (0, 1)),(B.7)
u(0) = α,(B.8)
− ui−1 − 2ui + ui+1
h2 = f(xi) (i = 1, 2, · · · , N),(B.10)
u0 = α,(B.11)
. . . . . . . . .
. . . . . . . . .
+
B.2.2 C /*
* u(0)=α * u’(1)=β *
* cglsc *
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <glsc.h>
// Gauss LU void trilu1(int, double *, double *, double *);
// LU void trisol1(int, double *, double *, double *, double *);
// Poisson double f(double x)
}
double h, h2;
alpha = 1.0 / 9.0;
beta = 4.0 / 3.0;
fprintf(stderr, "\n");
x[i] = i * h;
ad[i] = 2;
}
/* */
g_plot(x[i], solution(x[i]));
g_plot(x[i], u[i]);
solution(1.0), u[n], fabs(solution(1.0) - u[n]));
g_sleep(-1.0);
g_term();
/* 3 ( 1) Ax=b *
* * n: * al,ad,au: 1 * (al: i.e. (lower part)
* ad: i.e. (diagonal part)
* au: i.e. (upper part)
* *
27
* 0 al[3] ad[3] au[3] 0 ......... 0
* ....................
* 0 al[n] ad[n]
* al[i] = A_{i,i-1}, ad[i] = A_{i,i}, au[i] = A_{i,i+1},
* al[1], au[n] )
*
* b: 1 * ( 1 i.e. b[1],b[2],...,b[n] )
{
void trilu1(int n, double *al, double *ad, double *au)
{
al[i + 1] /= ad[i];
ad[i + 1] -= au[i] * al[i + 1];
}
}
/* LU 3 */
{
/* (forward elimination) */
for (i = 1; i < n; i++) b[i + 1] -= b[i] * al[i + 1];
/* (backward substitution) */
b[n] /= ad[n];
}
B.3 2 ()
= (0,W )× (0, H) 1 Dirichlet
Γ1 = ∂, Γ2 = ∅ (Neumann)
(1.1), (5.2), (1.3) −4 u = f (in ), u = g1 (on ∂)
28

hx = x := W
,
xi = ix (0 ≤ i ≤ Nx), yj = jy (0 ≤ j ≤ Ny)
(xi, yj)
ω := {(i, j) | 1 ≤ i ≤ m, 1 ≤ j ≤ n} , m := Nx − 1, n := Ny − 1,

γ := {(i, 0) | 0 ≤ i ≤ Nx}∪{(i, Ny) | 0 ≤ i ≤ Nx}∪{(0, j) | 0 ≤ j ≤ Ny}∪{(Nx, j) | 0 ≤ j ≤ Ny}

ω = (Nx − 1)(Ny − 1) = mn, γ = 2(Nx +Ny), (ω ∪ γ) = (Nx + 1)(Ny + 1).
− Ui+1,j − 2Ui,j + Ui−1,j
x2 − Ui,j+1 − 2Ui,j + Ui,j−1
y2 = f(xi, yj) ((i, j) ∈ ω),(B.13)
Ui,j = g1(xi, yj) ((i, j) ∈ γ),(B.14)
Uij u(xi, yj) (Nx + 1)(Ny + 1) Ui,j ((i, j) ∈ ω ∪ γ) (Nx + 1)(Ny + 1) 1Ui,j ((i, j) ∈ γ) (B.14) (B.13) (Nx − 1)(Ny − 1) Ui,j ((i, j) ∈ ω)
(B.15) N := (Nx − 1)(Ny − 1)
1 Ui,j 1
29
B.3.2 ( 1) Dirichlet (g1 ≡ 0)
U =
1
) .(B.16)
⊗ Ik k Jk k
Jk =
. . . . . . . . .
U = Ui,j, F = f(xi, yj),(B.17)
= i+ (j − 1)(Nx − 1).(B.18)
(xi, yj) 112 (B.18)
(B.19) = j + (i− 1)(Ny − 1)
(B.18) row first, (B.19) column first MATLAB (B.18)
12(i, j) 7→ Nx − 1 i− 1, j − 1
30
TAH14) () MATLAB MATLAB ( MATLAB
[7], [8] )
(B.16) A poisson coef.m function A=poisson_coef(W, H, nx, ny)
% (0,W)× (0,H) Poisson Dirichlet % Laplacian % nx× ny % MATLAB % (1) Fotran column first % (2) mesh(), contour() Z(j,i) % l=i+(j-1)*(nx-1) row first 1 hx=W/nx;
hy=H/ny;
m=nx-1;
n=ny-1;
ex=ones(nx,1);
ey=ones(ny,1);
Lx=spdiags([-ex,2*ex,-ex],-1:1,m,m)/(hx*hx);
Ly=spdiags([-ey,2*ey,-ey],-1:1,n,n)/(hy*hy);
A=kron(speye(m,m),Ly)+kron(Lx,speye(n,n)); W = 3, H = 2, f ≡ 1, Nx = 30, Ny = 20

13https://jp.mathworks.com/ 14http://www.meiji.ac.jp/isc/matlab-tah/
31
poisson2d f1.m % (0,W)× (0,H) Poisson Dirichlet W=3.0;
H=2.0;
nx=30;
ny=20;
m=nx-1;
n=ny-1;
y=linspace(0,H,ny+1); % y=[y_0,y_1,...,y_ny]
[X,Y]=meshgrid(x,y); % meshgrid() % f≡ 1 F=ones(m*n,1); % %
u=zeros(ny+1,nx+1);
disp(’’);
print -dpdf poisson2d.pdf % doc print 3. poisson2d f1.m f ≡ 1 f f(x, y) = −2(x2 − 3x+ y2 − 2y) ( u(x, y) = x(3− x)y(2− y))

32
9: −4 u = −2(x2 − 3x+ y2 − 2y)
4. poisson2d f1.m Dirichlet (u = 0 on ∂) Dirichlet (u = g1 on ∂)
B.4 ()

welcome-to-freefem/ (2007).
[3] 2 ( II), http://nalab.mind.meiji.ac.
jp/~mk/lecture/pde/pde2013.pdf (1997).
pp. 697–704 (1987).
text/poisson.pdf (2000?).
matlab.pdf (HTML) (2005).
34
2.1 Dirichlet
5 , Riemann,
B Poisson