date - August 20, 2026

Elmer Installation and environment set-up

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.


Elmer logo


Before starting, is best practice to update and upgrade your Linux system using the following commands:

bash
sudo apt update
sudo apt upgrade


Once updated, navigate to your preferred download directory and clone the repository:

bash
cd download/fem
git clone https://github.com/ElmerCSC/elmerfem.git
cd elmerfem


Verify the completeness of the cloned project and create the build directory:

bash
git status
git branch -a
git log -1 --oneline
git remote -v

mkdir build
cd 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:

bash
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:

bash
sudo cmake --install .


To ensure the system can find the Elmer executables and libraries, you must export the following environment variables:

bash
export ELMER_HOME=/opt/elmer
export PATH=/opt/elmer/bin:$PATH
export 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:

bash
cd ~

which ElmerSolver
cd ~
ElmerSolver -version

You should see the following output in your terminal:

bash
/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 1

Thats'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