1n, 3.32
http://www.freefem.org/ff++
D-w#p˘-··#4[d¢¿£{Ini⁄
F. Hecht, O. PironneauA. Le Hyaric, K. Ohtsuka
FreeFem++
1n 3.32
http://www.freefem.org/ff++
Fr´ed´eric Hecht1’ 2
mailto:frederic.hecht@upmc.fr
http://www.ann.jussieu.fr/˜hecht
:
Sylvian Auliac, mailto:auliac@ann.jussieu.fr, http://www.ann.jussieu.
fr/auliac, Sylvian Auliac ·¶˘‹), ƒ^ nlopt, ipopt, cmaes ⁄
⁄k#.¡‘z"
Olivier Pironneau, mailto:olivier.pironneau@upmc.fr, http://www.
ann.jussieu.fr/pironneau Olivier Pironneau ·ni8-··#4[d
¢¿ £LJLL⁄ ¶Œ'˙§{=˘˜‹!{Ig,˘
‹. ƒz36N’Œ{¡"
Jacques Morice, mailto:morice@ann.jussieu.fr. Jacaues Morice · LJL-
L ¶˘‹" ƒ8c3¯ı1˘k’flı?{(FMM).
'"3¥, ƒKI⁄kn)⁄–9medit^˝"
Antoine Le Hyaric, mailto:lehyaric@ann.jussieu.fr, http://www.ann.
jussieu.fr/˜lehyaric/ Antoine Le Hyaric 5g”I[˘˜¥%”(CNRS) ,
8c·LJLL¶˜5§"ƒ·˘A^¡^§;[" 3
z3>^[!¿1Onz¡"
Kohji Ohtsuka,mailto:ohtsuka@hkg.ac.jp, http://www.comfos.org/
Kohji Ohtsuka ·F2IS˘˘˙, ›.˘§˜˘‹F
|‹§˜·˜˘O"
¥',ˆ¥'dE˘Œ˘X˘)¨§LJLL3˘‹)
£Helin GONG⁄Ø,U˜—"NPRV ¥%""
··· aninn˘ ({Ił4¢)
iv
888 „„„
1 {{{000
1.1 SC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1 Øu⁄k<: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.2 Øu;<‹: lŁSC . . . . . . . . . . . . . . . . . . . . . .
1.2 Xƒ^FreeFem++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 ‚C—'' . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 {⁄ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 \\\HHH
2.0.1 3FEM¥§FreeFem++ ·X$1” . . . . . . . . . . . . . . .
2.0.2 FreeFem++ A: . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1 mu–ˇ: ?6–$1/ª–? . . . . . . . . . . . . . . . . . . . . . . . .
3 ¢¢¢~~~˘˘˘SSS
3.1 flK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 (˘ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4 9D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.1 ¶Ø¡: ¡/n . . . . . . . . . . . . . . . . . . . . . .
3.4.2 5flK : ¸ . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5 ˆ^”69A . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5.1 ˚¡–9Ø6 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6 XØ6: ^ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7 5X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8 6NddX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9 Navier-Stokes§K{ . . . . . . . . . . . . . . . . . . . . . . .
3.10 ›‰Navier-Stokes§{ . . . . . . . . . . . . . . . . . . . . . . . . .
3.11 .6NflK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.12 9EŒ~f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.13 ‘z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.14 -¯6N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.15 §'a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 {{{
4.1 Œa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 a. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
i
1
2
2
3
6
8
9
11
12
16
17
19
19
23
26
27
28
29
30
32
32
37
38
39
42
45
48
49
52
54
57
57
58
59
ii
8 „
4.4 X•- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6 i˛GL“ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.7 …Œ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.8 …Œ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.8.1 œ“ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.8.2 FE-…Œ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.9 Œ| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.9.1 VŒIŒ| . . . . . . . . . . . . . . . . . . . . . . . . . .
4.9.2 E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.9.3 $ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.9.4 ƒŒ| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.10 NŒ| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.12 \/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.12.1 ºŒ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.13 ?n§S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.14 ~?n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
60
60
63
63
65
65
65
66
72
73
75
79
79
80
81
82
82
84
5 )))⁄⁄⁄
5.1 )ڥ- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1 /£Square⁄ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.2 >. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.3 ı›>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.4 Œ(•- . . . . . . . . . . . . . . . . . . . . . . .
5.1.5 º . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.6 ’c/triangulate0£n¿'⁄ . . . . . . . . . . . . . . . . . .
5.2 Æ>.km . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 ›#z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3.1 Movemesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
87
87
87
88
91
91
94
96
97
99
99
5.4 Kn¿': hTriangle . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.5 g•A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.6 Trunc
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.7 Splitmesh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.8 ~f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.9 XUC¥>.I . . . . . . . . . . . . . . . . . . . . . 112
5.10 n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.10.1 n\(† . . . . . . . . . . . . . . . . . . . . . . . . 113
5.10.2 TeGen: o¡N)⁄^ . . . . . . . . . . . . . . . . . . . . . . 114
5.10.3 ƒ^ TetGen ›#E/U? n . . . . . . . . . . . . . . . . . 117
5.10.4 3nm¥£˜ . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.10.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.11 z¢~ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.11.1 Æ¥ÆNn . . . . . . . . . . . . . . . . . . 126
5.12 )“ .sol .solb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
5.13 medit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
5.14 Mshmet
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
8 „
iii
5.15 FreeYams
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
5.16 mmg3d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
5.17 3isotopeg•AL§ . . . . . . . . . . . . . . . . . . . . . . . . . 138
5.18 d2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
6 kkk
143
6.1 /fespace0 3¥^{ . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
6.2 /fespace0 3n¥^{ . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
6.3 .KFk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
6.3.1 P0- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
6.3.2 P1- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
6.3.3 P2- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
6.4 P1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
6.5 ƒFE-m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
6.6 .FE-…Œ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
6.6.1 Raviart-Thomas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
6.7 flk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
6.8 ’cProblem Solve . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
6.8.1 f/“>.^ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
6.9 ºŒØ solve 9 problem K . . . . . . . . . . . . . . . . . . . . . . . 158
6.10 flK£ª . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
6.11 ά' . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
6.12 C'/“§D§PDEŒ . . . . . . . . . . . . . . . . . . . . . . 166
6.13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
6.14 kº . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
7 zzz
173
7.1 xª . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
7.2 ’Øgnuplot…Œ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
7.3 ’Ømedit…Œ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
8 {{{‘‘‘zzz
8.3
181
8.1 F{/2´{ . . . . . . . . . . . . . . . . . . . . . . . . . 181
8.2 ˆ‘z{ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
8.2.1 |^BFGS‰CMAES~f . . . . . . . . . . . . . . . . . . . . . . 184
IPOPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
8.3.1 {{Æ£ª . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
8.3.2 FreeFem++ ¥ IPOPT . . . . . . . . . . . . . . . . . . . . . . . . 187
8.4 ƒ^ IPOPT {~ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
3D4›¡ IPOPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
8.5
8.5.1 ¡¨N¨L« . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
8.5.2 Œ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
8.5.3 flK :
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
nlOpt ‘z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
8.6
8.7 MPI‘z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
iv
8 „
9 ŒŒŒ˘˘˘...
203
9.1 •flK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
9.1.1 F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
9.1.2 •>| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
9.1.3 ˜˘ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
9.1.4 O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
9.1.5 –ˇ>.^ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
9.1.6 •>.^PoissonflK . . . . . . . . . . . . . . . . . . . . . . . 213
9.1.7 •kt§ . . . . . . . . . . . . . . . . . . . . . . . . . . 215
9.1.8 U?Of . . . . . . . . . . . . . . . . . . . . . . . . . . 216
9.1.9 ƒ^«fU? . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
9.2 5flK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
9.2.1 ˘ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
9.3 5•flK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
9.3.1 -.¯{ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
9.4 AflK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
9.5 zflK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
9.5.1 m'%C¥Œ˘n . . . . . . . . . . . . . . . . . . . . . . . 234
9.5.2 Ø6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
9.5.3 “wOˇBlack-Scholes § . . . . . . . . . . . . . . . . 238
9.6 Navier-Stokes § . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
9.6.1
. . . . . . . . . . . . . . . . . . . . . . . . . 239
9.6.2 Uzawa{F . . . . . . . . . . . . . . . . . . . . . . . . . . 244
9.6.3 NSUzawaCahouetChabart.edp . . . . . . . . . . . . . . . . . . . . . . 245
9.7 C'“ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
9.8 «') . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Schwarz ›U“ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Schwarz›U“ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Schwarz-gc.edp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
9.9 6N/(˝flK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
9.10 DflK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
9.11 gd>.flK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
9.12 55˘(nolinear-elas.edp)
. . . . . . . . . . . . . . . . . . . . . . . 264
9.13 Neo-Hookean Æ:O) . . . . . . . . . . . . . . . . . . . . . . 267
9.13.1 P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
9.13.2 « Neo-Hookean Æ . . . . . . . . . . . . . . . . . . . . . 268
9.13.3 3 FreeFem++¥«¢y“ . . . . . . . . . . . . . . . . . . . . 269
Stokes Navier-Stokes
9.8.1
9.8.2
9.8.3
10 MPI ¿¿¿111
271
10.1 MPI ’i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
10.2 MPI ~Œ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
10.3 MPI E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
10.4 MPI …Œ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
10.5 MPI ˇ˛ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
10.6 ¿1Schwarz~f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
10.6.1 ¿1Schwarz~f . . . . . . . . . . . . . . . . . . . . . . . . . . 274