/FreeFem-sources

FreeFEM source code

Primary LanguageC++OtherNOASSERTION

CI / CD tools
LGTM Coverity
Language grade: C/C++ Coverity Scan Build Status

Jenkins (FreeFEM-dev):

Develop branch only

macOS Ubuntu Windows
Job 10.14 20.04 10
#1 Build Status Build Status Build Status
#2 Build Status Build Status
#3 Build Status Build Status Build Status
#4 (OpenMPI) Build Status Build Status
#4 (MPICH) Build Status Build Status
#4 (MSMPI) Build Status
#5 (OpenMPI) Build Status Build Status
#5 (MPICH) Build Status Build Status
#5 (MSMPI) Build Status

Jenkins (FreeFEM):

Master branch

Release .pkg AppImage .deb .exe Docker
Build Status Build Status Build Status Build Status Build Status Build Status

See CI/CD Tools

FreeFEM sources

FreeFEM is a partial differential equation solver for non-linear multi-physics systems in 2D and 3D using the finite element method.

Problems involving partial differential equations from several branches of physics such as fluid-structure interactions require interpolations of data on several meshes and their manipulation within one program.

FreeFEM includes a fast interpolation algorithm and a language for the manipulation of data on multiple meshes. It is written in C++ and the FreeFEM language is a C++ idiom.

For users

The user documentation is available here.

If you use FreeFEM for academic research, please use the following:

BibTeX:

@article{MR3043640,
  AUTHOR = {Hecht, F.},
  TITLE = {New development in FreeFem++},
  JOURNAL = {J. Numer. Math.},
  FJOURNAL = {Journal of Numerical Mathematics},
  VOLUME = {20}, YEAR = {2012},
  NUMBER = {3-4}, PAGES = {251--265},
  ISSN = {1570-2820},
  MRCLASS = {65Y15},
  MRNUMBER = {3043640},
  URL = {https://freefem.org/}
}

APA:

Hecht, F. (2012). New development in FreeFem++. Journal of numerical mathematics, 20(3-4), 251-266.

ISO 690:

HECHT, Frédéric. New development in FreeFem++. Journal of numerical mathematics, 2012, vol. 20, no 3-4, p. 251-266.

MLA:

Hecht, Frédéric. "New development in FreeFem++." Journal of numerical mathematics 20.3-4 (2012): 251-266.

For developers

All development efforts take place in the develop branch (or in feature branches: feature-cmake, geneo4PETSc, ... for specific projects)

Do not commit on master branch!

Have a look on the Wiki!

CI/CD Tools

FreeFEM-dev

See Jenkins configuration files

FreeFEM

All: all dependency packages are installed (computer with root access).
No: dependency packages are not installed (computer without root access).

1: Ubuntu 18.04 x86

2: macOS 10.13

3: macOS 10.9

4: Windows 7 + MSYS2 + MS MPI 7

Executed commands:

Automatic configuration:

autoreconf -i

Configuration:

./configure --enable-download --enable-optim

If you do not have administrator rights or do not want FreeFEM files scattered around on your machine, please use the --prefix option, e.g.:

./configure --enable-download --enable-optim --prefix=${HOME}/FreeFem-install

Download:

./3rdparty/getall -a

PETSc:

cd 3rdparty/ff-petsc
make petsc-slepc
cd -
./reconfigure

Make:

make -j2
make check

Install:

(sudo) make install

See CI/CD Tools Wiki for more informations.