FreeFEM Documentation on GitHub
stars -
forks
Introduction
New features
Version 4.13 (30 June 2023)
Version 4.12
Version 4.11
Version 4.10
Version 4.9
Version 4.8
Version 4.7-1
Version 4.7
Version 4.6
Version 4.5
Release, binaries packages
New meshes and FEM border
Boundary Element Method
Installation guide
Using binary package
Windows installation
macOS X installation
Ubuntu installation
Arch AUR package
Fedora installation
Compiling source code
Compilation on OSX (>=10.13)
Compilation on Ubuntu
Compilation on Arch Linux
Compilation on Fedora
Compilation on Linux with Intel software tools
Compilation on Windows
FreeFEM
continuous integration
Environment variables and init file
Coloring Syntax FreeFem++
Atom
Gedit
Textmate 2, an editor under macOS
Notepad++,an editor under windows
Emacs editor
Download
Latest binary packages
Syntax highlighters
History
Citation
If you use
FreeFEM
, please cite the following reference in your work:
BibTeX
APA
ISO690
MLA
Authors
Contributing
Bug report
Concerning the
FreeFEM
documentation
Concerning the
FreeFEM
compilation or usage
Improve content
Git & Github usage
Contribution timeline
Learning by Examples
Getting started
Classification of partial differential equations
Membrane
Heat Exchanger
Acoustics
Thermal Conduction
Axisymmetry: 3D Rod with circular section
A Nonlinear Problem : Radiation
Irrotational Fan Blade Flow and Thermal effects
Heat Convection around the airfoil
Pure Convection : The Rotating Hill
Solution by a Characteristics-Galerkin Method
Solution by Discontinuous-Galerkin FEM
The System of elasticity
The System of Stokes for Fluids
A projection algorithm for the Navier-Stokes equations
Newton Method for the Steady Navier-Stokes equations
A Large Fluid Problem
An Example with Complex Numbers
Optimal Control
A Flow with Shocks
Time dependent schema optimization for heat equations
Tutorial to write a transient Stokes solver in matrix form
Wifi Propagation
Summary
Physics
Coding
The domain
Let’s create a mesh
Plotting in Matlab and Octave
Overview
2D Problem
Exporting Data
Importing Data
2D Plot Examples
3D Plot Examples
References
Documentation
Notations
Generalities
Sets, Mappings, Matrices, Vectors
Numbers
Differential Calculus
Meshes
Functional Spaces
Finite Element Spaces
Mesh Generation
The type mesh in 2 dimension
Commands for 2d mesh Generation
The command
square
The command
buildmesh
Mesh Connectivity and data
The keyword “triangulate”
2d Finite Element space on a boundary
Remeshing
The command
movemesh
The command
hTriangle
The command
adaptmesh
The command
trunc
The command
change
The command
splitmesh
Meshing Examples
The type mesh3 in 3 dimension
3d mesh generation
The command
cube
The command
buildlayers
Remeshing
The command
change
The command
trunc
The command
movemesh
The command
extract
The command
buildSurface
The command
movemesh23
3d Meshing examples
The type meshS in 3 dimension
Commands for 3d surface mesh generation
The command
square3
surface mesh builders
2D mesh generators combined with
movemesh23
Remeshing
The command
trunc
The command
movemesh
The command
change
Link with a mesh3
The command
Gamma
The command
buildBdMesh
The command
savesurfacemesh
Glue of meshS meshes
The type meshL in 3 dimension
Commands for 3d curve mesh generation
The command
segment
The command
buildmesh
Remeshing
The command
trunc
The command
movemesh
The command
change
The commands
buildBdMesh
and
Gamma
Glue of meshL meshes
The command extract
The commands
rebuildBorder
The commands
checkmesh
TetGen: A tetrahedral mesh generator
Reconstruct/Refine a 3d mesh with TetGen
Read/Write Statements for meshes
2d case
format of mesh data
Input/output for a mesh
3d case
format of mesh data
Input/output for a mesh3
Surface 3d case
format of mesh data
Input/output for a meshS
Medit
Mshmet
FreeYams
mmg3d
A first 3d isotrope mesh adaptation process
Build a 2d mesh from an isoline
Finite element
List of the types of finite elements
Use of fespace in 2D
Use of fespace in 3D
Use of fespace in surface 3D
Finite Element functions
Lagrangian Finite Elements
P0-element
P1-element
P2-element
Surface Lagrangian Finite Elements
Definition of the surface P1 Lagragian element
P1 Nonconforming Element
Other FE-space
Vector Valued FE-function
Raviart-Thomas Element
A Fast Finite Element Interpolator
Keywords: Problem and Solve
Weak Form and Boundary Condition
Parameters affecting solve and problem
Problem definition
Numerical Integration
Variational Form, Sparse Matrix, PDE Data Vector
Interpolation matrix
Finite elements connectivity
Visualization
Plot
Link with gnuplot
Link with medit
Link with Paraview
Link with Matlab© and Octave
Algorithms & Optimization
Conjugate Gradient/GMRES
Algorithms for Unconstrained Optimization
Example of usage for BFGS or CMAES
IPOPT
Short description of the algorithm
IPOPT in
FreeFEM
Some short examples using IPOPT
3D constrained minimum surface with IPOPT
Area and volume expressions
Derivatives
The problem and its script
The nlOpt optimizers
Optimization with MPI
Parallelization
MPI
MPI Keywords
MPI Constants
MPI Constructor
MPI Functions
MPI Communicator operator
Schwarz example in parallel
True parallel Schwarz example
Parallel sparse solvers
Using parallel sparse solvers in
FreeFEM
Sparse direct solver
MUMPS solver
SuperLU distributed solver
PaStiX solver
Parallel sparse iterative solver
pARMS solver
Interfacing with HIPS
Interfacing with HYPRE
Conclusion
Domain decomposition
Communicators and groups
Process
Points to Points communicators
Global operations
PETSc and SLEPc
Examples
Linear problems
Nonlinear problems
Time steppers and optimizers
Eigenvalue problems
Miscellaneous
Reproducible science
The Boundary Element Method
Introduction to the Boundary Element Method (BEM)
Model problem
Boundary Integral Operators
the BEMTool library
Hierarchical matrices
Low-rank approximation
Hierarchical block structure
The Htool library
Solve a BEM problem with FreeFEM
Build the geometry
2D
3D
Orientation of normal vector
Define the type of operator
Define the variational problem
Assemble the H-Matrix
Solve the linear system
Compute the solution
2D example script
BEM for Maxwell’s equations
EFIE for the scattering problem
Maxwell BEM problem in FreeFEM
Composite finite element spaces
NEW!
Limitations of the current syntax
Definition of composite spaces
First examples
Stokes with P2-iso-P1 elements
using
solve
or
problem
using
varf
and
matrix
Parallel assembly and solution
with
MUMPS
with
PETSc
Plugins
gsl
ffrandom
mmap / semaphore
Developers
File formats
Mesh file data structure
bb file type to Store Solutions
BB file type to store solutions
Metric file
List of AM_FMT, AMDBA Meshes
sol and solb files
Adding a new finite element
Some notations
Which class to add?
Dynamical link
A first example myfunction.cpp
Example: Discrete Fast Fourier Transform
Load Module for Dervieux P0-P1 Finite Volume Method
More on Adding a new finite element
The Bernardi-Raugel Element
The Morley Element
ffddm
Domain Decomposition (DD)
Mesh Decomposition
Distributed Linear Algebra
Partition of Unity Matrices (POUM)
Distributed scalar product
Update
Distributed Matrix and Vector resulting from a variational formulation
Distributed Linear Solvers
Distributed Direct Solvers
Schwarz methods
Restricted Additive Schwarz (RAS)
Optimized Restricted Additive Schwarz (ORAS)
Two level methods
Coarse Mesh
GenEO
ffddm documentation
Minimal example
Overlapping mesh decomposition
Local finite element spaces
Define the problem to solve
One level preconditioners
Two level preconditioners
Building the GenEO coarse space
Building the coarse space from a coarse mesh
Solving the linear system
Using
HPDDM
within
ffddm
Advanced use
Interpolation between two distributed finite element spaces
Local finite element spaces for non Lagrange finite elements
Inexact coarse solves for two level methods
Coarse mesh and inexact coarse solve
Parameters
Command-line arguments
Global parameters
Tutorial
What is
ffddm
?
Why Domain Decomposition Methods ?
Step 1: Decompose the mesh
Step 2: Define your finite element
Distributed vectors and restriction operators
Partition of unity
Data exchange between neighbors
Step 3: Define your problem
Summary so far: translating your sequential
FreeFEM
script
Step 1: Decompose the mesh
Solve the linear system
Solve the linear system with the parallel direct solver
MUMPS
Step 4: Define the one level DD preconditioner
Step 5: Solve the linear system with preconditioned GMRES
Define a two level DD preconditioner
Build the GenEO coarse space
Build the coarse space from a coarse mesh
Use
HPDDM
within
ffddm
Some results: Heterogeneous 3D elasticity with GenEO
Some results: 2-level DD for Maxwell equations, scattering from the COBRA cavity
Some results: 2-level DD for Maxwell equations, scattering from the COBRA cavity
Examples
Language references
Types
Standard types
int
bool
real
complex
string
Mesh design
border
mesh
mesh3
Finite element space design
fespace
Macro design
macro
NewMacro / EndMacro
IFMACRO
ENDIFMACRO
Functions design
func
Elementary functions
Random functions
FE-functions
Problem design
problem
solve
varf
Array
Array index
Array size
Array sort
Double array
Array of FE functions
Map arrays
matrix
Matrix size
Matrix resize
Matrix diagonal
Matrix renumbering
Complex matrix
Dot product / Outer product
Matrix inversion
Global variables
area
ARGV
BoundaryEdge
CG
Cholesky
Crout
edgeOrientation
false
GMRES
hTriangle
include
InternalEdge
label
lenEdge
load
LU
N
nTonEdge
nuEdge
nuTriangle
P
pi
region
sparsesolver
true
verbosity
version
volume
x
y
z
Quadrature formulae
int1d
Notations
qf1pE
qf2pE
qf3pE
(default)
qf4pE
qf5pE
qf1pElump
int2d
qf1pT
qf2pT
qf5pT
(default)
qf1pTlump
qf2pT4P1
qf7pT
qf9pT
int3d
qfV1
qfV2
qfV5
(default)
qfV1lump
Operators
Addition operator +
Increment operator ++
Substraction operator -
Decrement operator –
Multiplication operator *
Equal operator =
Comparison operator ==
Comparison operator !=
Comparison operator <, <=
Comparison operator >, >=
Compound operator
+=
,
-=
,
*=
,
/=
Term by term multiplication .*
Division operator /
Term by term division ./
Remainder from the division %
Power operator ^
Inverse of a matrix ^-1
Transpose operator ‘
Tensor scalar product :
C++ arithmetical if expression ? :
Loops
for
if
else
while
continue
break
try
catch
Implicit loop
I/O
cout
cin
endl
ifstream
ofstream
append
binary
seekg
tellg
flush
getline
Output format
precision
scientific
fixed
showbase
noshowbase
showpos
noshowpos
default
setw
Functions
abs
acos
acosh
adaptmesh
adj
AffineCG
AffineGMRES
arg
asin
asinh
assert
atan
atan2
atanh
atoi
atof
BFGS
buildmesh
ceil
change
checkmovemesh
chi
clock
complexEigenValue
conj
convect
copysign
cos
cosh
diffnp
diffpos
dist
dumptable
dx
dxx
dxy
dxz
dy
dyx
dyy
dyz
dz
dzx
dzy
dzz
EigenValue
emptymesh
erf
erfc
exec
exit
exp
fdim
floor
fmax
fmin
fmod
imag
int1d
int2d
int3d
intalledges
intallfaces
interpolate
invdiff
invdiffnp
invdiffpos
isInf
isNaN
isNormal
j0
j1
jn
jump
LinearCG
LinearGMRES
lgamma
log
log10
lrint
lround
ltime
max
min
movemesh
NaN
NLCG
on
plot
polar
pow
projection
randinit
randint31
randint32
randreal1
randreal2
randreal3
randres53
readmesh
readmesh3
real
rint
round
savemesh
set
sign
signbit
sin
sinh
sort
splitmesh
sqrt
square
storagetotal
storageused
strtod
strtol
swap
system
tan
tanh
tgamma
time
trace
trunc
y0
y1
yn
External libraries
aniso
boundaniso
BEC
BECtrap
GPvortex
dxGPVortex
dyGPVortex
Binary I/O
LoadVec
LoadFlag
SaveVec
flag
buildlayer
buildlayers
ClosePoints
radiusSearch
Voisinage
neighborhood
ClosePoints2
ClosePoint
ClosePoints1
Curvature
extractborder
curvature
raxicurvature
curves
setecurveabcisse
equiparameter
Tresca
VonMises
dfft
plandfft
execute
delete
dfft
map
distance
distance
checkdist
DxWriter
Dxaddmesh
Dxaddtimeseries
Dxaddsol2ts
Element_P1bl
expert
exactpartition
exactpartition
ff-AiryBiry
airy
biry
ff-cmaes
cmaes
ff_gsl_awk
gslcdfugaussianP
gslcdfugaussianQ
gslcdfugaussianPinv
gslcdfugaussianQinv
gslcdfgaussianP
gslcdfgaussianQ
gslcdfgaussianPinv
gslcdfgaussianQinv
gslcdfgammaP
gslcdfgammaQ
gslcdfgammaPinv
gslcdfgammaQinv
gslcdfcauchyP
gslcdfcauchyQ
gslcdfcauchyPinv
gslcdfcauchyQinv
gslcdflaplaceP
gslcdflaplaceQ
gslcdflaplacePinv
gslcdflaplaceQinv
gslcdfrayleighP
gslcdfrayleighQ
gslcdfrayleighPinv
gslcdfrayleighQinv
gslcdfchisqP
gslcdfchisqQ
gslcdfchisqPinv
gslcdfchisqQinv
gslcdfexponentialP
gslcdfexponentialQ
gslcdfexponentialPinv
gslcdfexponentialQinv
gslcdfexppowP
gslcdfexppowQ
gslcdftdistP
gslcdftdistQ
gslcdftdistPinv
gslcdftdistQinv
gslcdffdistP
gslcdffdistQ
gslcdffdistPinv
gslcdffdistQinv
gslcdfbetaP
gslcdfbetaQ
gslcdfbetaPinv
gslcdfbetaQinv
gslcdfflatP
gslcdfflatQ
gslcdfflatPinv
gslcdfflatQinv
gslcdflognormalP
gslcdflognormalQ
gslcdflognormalPinv
gslcdflognormalQinv
gslcdfgumbel1P
gslcdfgumbel1Q
gslcdfgumbel1Pinv
gslcdfgumbel1Qinv
gslcdfgumbel2P
gslcdfgumbel2Q
gslcdfgumbel2Pinv
gslcdfgumbel2Qinv
gslcdfweibullP
gslcdfweibullQ
gslcdfweibullPinv
gslcdfweibullQinv
gslcdfparetoP
gslcdfparetoQ
gslcdfparetoPinv
gslcdfparetoQinv
gslcdflogisticP
gslcdflogisticQ
gslcdflogisticPinv
gslcdflogisticQinv
gslcdfbinomialP
gslcdfbinomialQ
gslcdfpoissonP
gslcdfpoissonQ
gslcdfgeometricP
gslcdfgeometricQ
gslcdfnegativebinomialP
gslcdfnegativebinomialQ
gslcdfpascalP
gslcdfpascalQ
gslranbernoullipdf
gslranbeta
gslranbetapdf
gslranbinomialpdf
gslranexponential
gslranexponentialpdf
gslranexppow
gslranexppowpdf
gslrancauchy
gslrancauchypdf
gslranchisq
gslranchisqpdf
gslranerlang
gslranerlangpdf
gslranfdist
gslranfdistpdf
gslranflat
gslranflatpdf
gslrangamma
gslrangammaint
gslrangammapdf
gslrangammamt
gslrangammaknuth
gslrangaussian
gslrangaussianratiomethod
gslrangaussianziggurat
gslrangaussianpdf
gslranugaussian
gslranugaussianratiomethod
gslranugaussianpdf
gslrangaussiantail
gslrangaussiantailpdf
gslranugaussiantail
gslranugaussiantailpdf
gslranlandau
gslranlandaupdf
gslrangeometricpdf
gslrangumbel1
gslrangumbel1pdf
gslrangumbel2
gslrangumbel2pdf
gslranlogistic
gslranlogisticpdf
gslranlognormal
gslranlognormalpdf
gslranlogarithmicpdf
gslrannegativebinomialpdf
gslranpascalpdf
gslranpareto
gslranparetopdf
gslranpoissonpdf
gslranrayleigh
gslranrayleighpdf
gslranrayleightail
gslranrayleightailpdf
gslrantdist
gslrantdistpdf
gslranlaplace
gslranlaplacepdf
gslranlevy
gslranweibull
gslranweibullpdf
gslsfairyAi
gslsfairyBi
gslsfairyAiscaled
gslsfairyBiscaled
gslsfairyAideriv
gslsfairyBideriv
gslsfairyAiderivscaled
gslsfairyBiderivscaled
gslsfairyzeroAi
gslsfairyzeroBi
gslsfairyzeroAideriv
gslsfairyzeroBideriv
gslsfbesselJ0
gslsfbesselJ1
gslsfbesselJn
gslsfbesselY0
gslsfbesselY1
gslsfbesselYn
gslsfbesselI0
gslsfbesselI1
gslsfbesselIn
gslsfbesselI0scaled
gslsfbesselI1scaled
gslsfbesselInscaled
gslsfbesselK0
gslsfbesselK1
gslsfbesselKn
gslsfbesselK0scaled
gslsfbesselK1scaled
gslsfbesselKnscaled
gslsfbesselj0
gslsfbesselj1
gslsfbesselj2
gslsfbesseljl
gslsfbessely0
gslsfbessely1
gslsfbessely2
gslsfbesselyl
gslsfbesseli0scaled
gslsfbesseli1scaled
gslsfbesseli2scaled
gslsfbesselilscaled
gslsfbesselk0scaled
gslsfbesselk1scaled
gslsfbesselk2scaled
gslsfbesselklscaled
gslsfbesselJnu
gslsfbesselYnu
gslsfbesselInuscaled
gslsfbesselInu
gslsfbesselKnuscaled
gslsfbesselKnu
gslsfbessellnKnu
gslsfbesselzeroJ0
gslsfbesselzeroJ1
gslsfbesselzeroJnu
gslsfclausen
gslsfhydrogenicR1
gslsfdawson
gslsfdebye1
gslsfdebye2
gslsfdebye3
gslsfdebye4
gslsfdebye5
gslsfdebye6
gslsfdilog
gslsfmultiply
gslsfellintKcomp
gslsfellintEcomp
gslsfellintPcomp
gslsfellintDcomp
gslsfellintF
gslsfellintE
gslsfellintRC
gslsferfc
gslsflogerfc
gslsferf
gslsferfZ
gslsferfQ
gslsfhazard
gslsfexp
gslsfexpmult
gslsfexpm1
gslsfexprel
gslsfexprel2
gslsfexpreln
gslsfexpintE1
gslsfexpintE2
gslsfexpintEn
gslsfexpintE1scaled
gslsfexpintE2scaled
gslsfexpintEnscaled
gslsfexpintEi
gslsfexpintEiscaled
gslsfShi
gslsfChi
gslsfexpint3
gslsfSi
gslsfCi
gslsfatanint
gslsffermidiracm1
gslsffermidirac0
gslsffermidirac1
gslsffermidirac2
gslsffermidiracint
gslsffermidiracmhalf
gslsffermidirachalf
gslsffermidirac3half
gslsffermidiracinc0
gslsflngamma
gslsfgamma
gslsfgammastar
gslsfgammainv
gslsftaylorcoeff
gslsffact
gslsfdoublefact
gslsflnfact
gslsflndoublefact
gslsflnchoose
gslsfchoose
gslsflnpoch
gslsfpoch
gslsfpochrel
gslsfgammaincQ
gslsfgammaincP
gslsfgammainc
gslsflnbeta
gslsfbeta
gslsfbetainc
gslsfgegenpoly1
gslsfgegenpoly2
gslsfgegenpoly3
gslsfgegenpolyn
gslsfhyperg0F1
gslsfhyperg1F1int
gslsfhyperg1F1
gslsfhypergUint
gslsfhypergU
gslsfhyperg2F0
gslsflaguerre1
gslsflaguerre2
gslsflaguerre3
gslsflaguerren
gslsflambertW0
gslsflambertWm1
gslsflegendrePl
gslsflegendreP1
gslsflegendreP2
gslsflegendreP3
gslsflegendreQ0
gslsflegendreQ1
gslsflegendreQl
gslsflegendrePlm
gslsflegendresphPlm
gslsflegendrearraysize
gslsfconicalPhalf
gslsfconicalPmhalf
gslsfconicalP0
gslsfconicalP1
gslsfconicalPsphreg
gslsfconicalPcylreg
gslsflegendreH3d0
gslsflegendreH3d1
gslsflegendreH3d
gslsflog
gslsflogabs
gslsflog1plusx
gslsflog1plusxmx
gslsfpowint
gslsfpsiint
gslsfpsi
gslsfpsi1piy
gslsfpsi1int
gslsfpsi1
gslsfpsin
gslsfsynchrotron1
gslsfsynchrotron2
gslsftransport2
gslsftransport3
gslsftransport4
gslsftransport5
gslsfsin
gslsfcos
gslsfhypot
gslsfsinc
gslsflnsinh
gslsflncosh
gslsfanglerestrictsymm
gslsfanglerestrictpos
gslsfzetaint
gslsfzeta
gslsfzetam1
gslsfzetam1int
gslsfhzeta
gslsfetaint
gslsfeta
ff-Ipopt
IPOPT
fflapack
inv
dgeev
zgeev
geev
geev
dggev
zggev
dsygvd
dgesdd
zhegv
dsyev
zheev
ff-mmap-semaphore
Wait
trywait
Post
msync
Read
Write
ffnewuoa
newuoa
ff-NLopt
nloptDIRECT
nloptDIRECTL
nloptDIRECTLRand
nloptDIRECTScal
nloptDIRECTNoScal
nloptDIRECTLNoScal
nloptDIRECTLRandNoScal
nloptOrigDIRECT
nloptOrigDIRECTL
nloptStoGO
nloptStoGORand
nloptLBFGS
nloptPRAXIS
nloptVar1
nloptVar2
nloptTNewton
nloptTNewtonRestart
nloptTNewtonPrecond
nloptTNewtonPrecondRestart
nloptCRS2
nloptMMA
nloptCOBYLA
nloptNEWUOA
nloptNEWUOABound
nloptNelderMead
nloptSbplx
nloptBOBYQA
nloptISRES
nloptSLSQP
nloptMLSL
nloptMLSLLDS
nloptAUGLAG
nloptAUGLAGEQ
ffrandom
srandomdev
srandom
random
FreeFemQA
MeshGenQA
freeyams
freeyams
gmsh
gmshload
gmshload3
savegmsh
gsl
gslpolysolvequadratic
gslpolysolvecubic
gslpolycomplexsolve
gslrnguniform
gslrnguniformpos
gslname
gslrngget
gslrngmin
gslrngmax
gslrngset
gslrngtype
ilut
applyIlutPrecond
makeIlutPrecond
iohdf5
savehdf5sol
iovtk
savevtk
vtkload
vtkload3
isoline
isoline
Curve
Area
findallocalmin
lapack
inv
dgeev
zgeev
geev
dggev
zggev
dsygvd
dgesdd
zhegv
dsyev
zheev
dgelsy
lgbmo
bmo
mat_dervieux
MatUpWind1
mat_psi
MatUpWind0
medit
medit
savesol
readsol
metis
metisnodal
metisdual
MetricKuate
MetricKuate
MetricPk
MetricPk
mmg3d
mmg3d
mmg3d-v4.0
mmg3d
msh3
change
movemesh23
movemesh2D3Dsurf
movemesh3
movemesh
movemesh3D
deplacement
checkbemesh
buildlayers
bcube
cube
trunc
gluemesh
extract
showborder
getborder
AddLayers
mshmet
mshmet
MUMPS
defaulttoMUMPSseq
MUMPS_seq
defaulttoMUMPSseq
netgen
netg
netgstl
netgload
NewSolver
defaulttoUMFPACK
PARDISO
defaulttoPARDISO
ompsetnumthreads
ompgetnumthreads
ompgetmaxthreads
pcm2rnm
readpcm
pipe
flush
sleep
usleep
qf11to25
QF1d
QF2d
QF3d
tripleQF
scotch
scotch
shell
readdir
unlink
rmdir
cddir
chdir
basename
dirname
mkdir
chmod
cpfile
stat
isdir
getenv
setenv
unsetenv
splitedges
SplitedgeMesh
splitmesh12
splitmesh12
splitmesh3
splitmesh3
splitmesh4
splimesh4
splitmesh6
splitmesh6
SuperLu
defaulttoSuperLu
symmetrizeCSR
symmetrizeCSR
tetgen
tetgconvexhull
tetgtransfo
tetg
tetgreconstruction
UMFPACK64
defaulttoUMFPACK64
VTK_writer_3d
Vtkaddmesh
Vtkaddscalar
VTK_writer
Vtkaddmesh
Vtkaddscalar
Mathematical Models
Static problems
Soap Film
Electrostatics
Aerodynamics
Error estimation
Periodic Boundary Conditions
Poisson Problems with mixed boundary condition
Poisson with mixed finite element
Metric Adaptation and residual error indicator
Adaptation using residual error indicator
Elasticity
Fracture Mechanics
Non-linear static problems
Newton-Raphson algorithm
Eigen value problems
Evolution problems
Mathematical Theory on Time Difference Approximations.
Convection
2D Black-Scholes equation for an European Put option
Navier-Stokes equations
Uzawa Algorithm and Conjugate Gradients
NSUzawaCahouetChabart.edp
Variational Inequality
Domain decomposition
Schwarz overlapping
Schwarz non overlapping Scheme
Schwarz conjuguate gradient
Fluid-structure coupled problem
Transmission problem
Free boundary problems
Non-linear elasticity
Compressible Neo-Hookean materials
Notation
Recommended References
A Neo-Hookean Compressible Material
An Approach to Implementation in FreeFEM
Whispering gallery modes
Wave equation for the WGMs
Weak formulation
A dielectric sphere example with FreeFEM
Examples
Misc
Poisson’s Equation
Poisson’s equation 3D
Stokes Equation on a cube
Cavity
Mesh Generation
Square mesh
Mesh adaptation
Mesh adaptation for the Poisson’s problem
Uniform mesh adaptation
Borders
Change
Cube
Empty mesh
3 points
Bezier
Build layer mesh
Sphere
Finite Element
Periodic 3D
Lagrange multipliers
Visualization
Plot
HSV
Medit
Paraview
Algorithms & Optimizations
Algorithms
CMAES variational inequality
IPOPT minimal surface & volume
CMAES MPI variational inequality
Parallelization
MPI-GMRES 2D
MPI-GMRES 3D
Direct solvers
Solver MUMPS
Solver superLU_DIST
Solver PaStiX
Developers
FFT
Complex
String
Elementary function
Array
Block matrix
Matrix operations
Matrix inversion
FE array
Loop
Implicit loop
I/O
File stream
Command line arguments
Macro
Basic error handling
Error handling
Bibliography
image/svg+xml
Logo
Search in examples (toggle with right Alt key)
Introduction
Learning by Examples
Documentation
Language references
Mathematical Models
Examples
Misc
Mesh Generation
Finite Element
Visualization
Algorithms & Optimizations
Parallelization
Developers
Bibliography
Filter by categories
⚠ Work in progress !
Here you can use the search bar to search in all FreeFEM examples instead
The list of all matching examples on the right is updated for each new query
Clicking on a search hit or on an example on the right brings up the corresponding script from GitHub
You can also filter the list on the right by selecting one or more intersecting categories on the left tree
Examples
Misc
Poisson’s Equation
Poisson’s equation 3D
Stokes Equation on a cube
Cavity
Mesh Generation
Square mesh
Mesh adaptation
Mesh adaptation for the Poisson’s problem
Uniform mesh adaptation
Borders
Change
Cube
Empty mesh
3 points
Bezier
Build layer mesh
Sphere
Finite Element
Periodic 3D
Lagrange multipliers
Visualization
Plot
HSV
Medit
Paraview
Algorithms & Optimizations
Algorithms
CMAES variational inequality
IPOPT minimal surface & volume
CMAES MPI variational inequality
Parallelization
MPI-GMRES 2D
MPI-GMRES 3D
Direct solvers
Solver MUMPS
Solver superLU_DIST
Solver PaStiX
Developers
FFT
Complex
String
Elementary function
Array
Block matrix
Matrix operations
Matrix inversion
FE array
Loop
Implicit loop
I/O
File stream
Command line arguments
Macro
Basic error handling
Error handling
Previous topic: Whispering gallery modes
Next topic: Misc
Table of content
Examples