Welcome to FreeFEM documentation
- Introduction
- Learning by Examples
- Getting started
- Classification of partial differential equations
- Membrane
- Heat Exchanger
- Acoustics
- Thermal Conduction
- Irrotational Fan Blade Flow and Thermal effects
- Pure Convection : The Rotating Hill
- 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
- Plotting in Matlab and Octave
- Documentation
- Notations
- Mesh Generation
- The type mesh in 2 dimension
- The type mesh3 in 3 dimension
- The type meshS in 3 dimension
- The type meshL in 3 dimension
- Read/Write Statements for meshes
- 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
- Surface Lagrangian Finite Elements
- P1 Nonconforming Element
- Other FE-space
- Vector Valued FE-function
- A Fast Finite Element Interpolator
- Keywords: Problem and Solve
- Parameters affecting solve and problem
- Problem definition
- Numerical Integration
- Variational Form, Sparse Matrix, PDE Data Vector
- Interpolation matrix
- Finite elements connectivity
- Visualization
- Algorithms & Optimization
- Parallelization
- PETSc and SLEPc
- The Boundary Element Method
- Composite finite element spaces NEW!
- Plugins
- Developers
- ffddm
- Domain Decomposition (DD)
- ffddm documentation
- Parameters
- Tutorial
- What is ffddm ?
- Why Domain Decomposition Methods ?
- Summary so far: translating your sequential FreeFEM script
- 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
- Global variables
- Quadrature formulae
- 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
- I/O
- 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
- BEC
- Binary I/O
- buildlayer
- ClosePoints
- Curvature
- dfft
- distance
- DxWriter
- Element_P1bl
- exactpartition
- ff-AiryBiry
- ff-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
- fflapack
- ff-mmap-semaphore
- ffnewuoa
- 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
- FreeFemQA
- freeyams
- gmsh
- gsl
- ilut
- iohdf5
- iovtk
- isoline
- lapack
- lgbmo
- mat_dervieux
- mat_psi
- medit
- metis
- MetricKuate
- MetricPk
- mmg3d
- mmg3d-v4.0
- msh3
- mshmet
- MUMPS
- MUMPS_seq
- netgen
- NewSolver
- PARDISO
- pcm2rnm
- pipe
- qf11to25
- scotch
- shell
- splitedges
- splitmesh12
- splitmesh3
- splitmesh4
- splitmesh6
- SuperLu
- symmetrizeCSR
- tetgen
- UMFPACK64
- VTK_writer_3d
- VTK_writer
- Mathematical Models
- Static problems
- Elasticity
- Non-linear static problems
- Eigen value problems
- Evolution problems
- Navier-Stokes equations
- Variational Inequality
- Domain decomposition
- Fluid-structure coupled problem
- Transmission problem
- Free boundary problems
- Non-linear elasticity
- Compressible Neo-Hookean materials
- Whispering gallery modes
- Examples
- Bibliography