Elmer Multiphysics is an open-source finite element method (FEM) software developed by CSC – IT Center for Science. It solves complex partial differential equations for fluid dynamics, structural mechanics, electromagnetics, heat transfer, and acoustics. Development originally launched in 1995, before the software was publicly licensed under the GNU GPL in 2005.
At foamBuilder, we started using it around that same time, so it was only natural to discuss it on this website. In this simple and straightforward guide, we will explain the main steps for compiling Elmer on Linux.
Before starting, is best practice to update and upgrade your Linux system using the following commands:
sudo apt update
sudo apt upgrade
Once updated, navigate to your preferred download directory and clone the repository:
cd download/femgit clone https://github.com/ElmerCSC/elmerfem.gitcd elmerfem
Verify the completeness of the cloned project and create the build directory:
git statusgit branch -agit log -1 --onelinegit remote -vmkdir buildcd build
In this guide we will assume you are using the KUBUNTU 26.04 Long-Term Support (LTS) distribution, which provides the GNU compiler (GCC) version 15.2 and openMPI 5.0.5, already compiled and installed in the /opt/openmpi-5.0.5 directory.
The installation path for the Elmer project will be /opt/elmer:
cmake \-DCMAKE_BUILD_TYPE=Release \-DCMAKE_INSTALL_PREFIX=/opt/elmer \-DCMAKE_C_COMPILER=gcc-15 \-DCMAKE_Fortran_COMPILER=gfortran-15 \-DMPI_C_COMPILER=/opt/openmpi-5.0.5/bin/mpicc \-DMPI_Fortran_COMPILER=/opt/openmpi-5.0.5/bin/mpifort \-DCMAKE_MODULE_PATH=$PWD/../cmake/Modules \-DWITH_MPI=TRUE \-DWITH_OpenMP=TRUE \-DWITH_Mumps=TRUE \-DWITH_ELMERGUI=FALSE \..cmake --build . --parallel 6
You can now run the installation process with sudo privileges:
sudo cmake --install .
To ensure the system can find the Elmer executables and libraries, you must export the following environment variables:
export ELMER_HOME=/opt/elmerexport PATH=/opt/elmer/bin:$PATHexport LD_LIBRARY_PATH=/opt/elmer/lib:$LD_LIBRARY_PATH
Now, leave the Elmer directory, return to your home directory, and verify the installation using the following commands:
cd ~
which ElmerSolvercd ~ElmerSolver -version
You should see the following output in your terminal:
/opt/elmer/bin/ElmerSolver
ELMER SOLVER (v 26.2) STARTED AT: 2026/08/26 12:02:28
Started inside library code
Going parallel initialization
ParCommInit: Initialize #PEs: 1
Back from parallel initialization
MAIN: OMP_NUM_THREADS not set. Using only 1 thread per task.
MAIN:
MAIN: =============================================================
MAIN: ElmerSolver finite element software, Welcome!
MAIN: This program is free software licensed under (L)GPL
MAIN: Copyright 1st April 1995 - , CSC - IT Center for Science Ltd.
MAIN: Webpage http://www.csc.fi/elmer, Email elmeradm@csc.fi
MAIN: Version: 26.2-devel (Rev: 3ec410d65, Compiled: 2026-08-20)
MAIN: Running one task without MPI parallelization.
MAIN: Running with just one thread per task.
MAIN: MUMPS library linked in.
MAIN: =============================================================
ERROR:: MAIN: Unable to find ELMERSOLVER_STARTINFO, can not execute.
STOP 1Thats'all!
Following this straightforward guide, you should now be able to run your first multiphysics simulation using Elmer.
Back to Homepage Back to FEM/FEA Consultancy Back to FEM/FEA Tutorials Back to FoamBuilder Back to Software Development Services Back to Software Development Services foamBuilder Back to Software Development Services DAKOTA interface Back to Software Development Services Post-processing Back to FEM/FEA Courses Back to Who we are Back to Contact Back to Request Back to open resource Back to News Back to Quick start section