Get Feel++

Feel++ can be installed on Windows 10, Debian/Ubuntu systems.

The main channel is called latest.

latest

Docker and Debian/Ubuntu packages with latest Feel++ development following the develop branch.

  • Ubuntu

  • Debian

  • Windows 10

  • Spack

  • Docker

  • Apptainer

Ubuntu LTS distributions jammy(22.04-preferred) is supported.

We may support short term distributions.

Noble Numbat LTS (24.04)

Command lines to install the latest Feel++ channel on ubuntu/noble
wget -qO - http://apt.feelpp.org/apt.gpg | sudo apt-key add
echo "deb http://apt.feelpp.org/ubuntu/noble noble latest" | sudo tee -a /etc/apt/sources.list.d/feelpp.list
sudo apt update

Jammy LTS (22.04)

Command lines to install the latest Feel++ channel on ubuntu/jammy
wget -qO - http://apt.feelpp.org/apt.gpg | sudo apt-key add
echo "deb http://apt.feelpp.org/ubuntu/jammy jammy latest" | sudo tee -a /etc/apt/sources.list.d/feelpp.list
sudo apt update

Focal LTS (20.04)

Command lines to install the latest Feel++ channel on ubuntu/focal
wget -qO - http://apt.feelpp.org/apt.gpg | sudo apt-key add
echo "deb http://apt.feelpp.org/ubuntu/focal focal latest" | sudo tee -a /etc/apt/sources.list.d/feelpp.list
sudo apt update

The supported systems are described below

Table 1. Table Feel++ Ubuntu distributions
Distribution Release Version Supported Channels Comment

ubuntu

noble

24.04

latest

LTS

ubuntu

jammy

22.04

latest

LTS

ubuntu

focal

20.04

latest

LTS

Install Feel++ Debian/Ubuntu packages

We describe here the installation of the debian packages for LTS distributions.

Table 2. Table Feel++ Ubuntu packages
Name Description

libfeelpp1

shared libraries

libfeelpp-dev

development headers and libraries

feelpp-tools

mesh partitioners and remote data upload/download

feelpp-quickstart

quickstart applications (laplacian cg an hdg), stokes, elasticity(cg and hdg)

python3-feelpp

Python3 bindings

feelpp-data

data files (geometry and config files) for Feel++ applications (e.g. feelpp-quickstart)

libfeelpp-toolboxes1

toolboxes shared libraries

libfeelpp-toolboxes1-all-dev

toolboxes development headers and libraries

feelpp-toolboxes

toolbox applications

feelpp-toolboxes-data

data files (geometry and config files) for Feel++ toolboxes

Installation examples

Install the library
$ sudo apt install libfeelpp1
Install the tools
$ sudo apt install feelpp-tools
Install the quickstart applications and associated data
$ sudo apt install feelpp-quickstart feelpp-data
Install the toolboxes applications and associated data
$ sudo apt install feelpp-toolboxes feelpp-toolboxes-data
Install the toolboxes development environment
$ sudo apt install libfeelpp-toolboxes1-all-dev
Reinstall the runtime environment feelpp, the toolboxes and the python3 packages
$ sudo apt install --reinstall 'feelpp-*' 'libfeelpp1' 'python3-feelpp-*'
Reinstall the development environment for feelpp and the toolboxes
$ sudo apt install --reinstall 'libfeelpp*'

Debian LTS distribution bookworm(12) is supported.

The supported systems are described below

Table 3. Table Feel++ Debian distributions
Distribution Release Version Supported Channels Comment

debian

bookworm

12

latest

LTS

debian

testing

-

latest

testing

debian

sid

-

latest

unstable

Bookworm (12)

Command lines to install the latest Feel++ channel on debian/bookworm
wget -qO - http://apt.feelpp.org/apt.gpg | sudo apt-key add
echo "deb http://apt.feelpp.org/debian/bookworm bookworm latest" | sudo tee -a /etc/apt/sources.list.d/feelpp.list
sudo apt update

Bullseye (11)

Command lines to install the latest Feel++ channel on debian/bullseye
wget -qO - http://apt.feelpp.org/apt.gpg | sudo apt-key add
echo "deb http://apt.feelpp.org/debian/bullseye bullseye latest" | sudo tee -a /etc/apt/sources.list.d/feelpp.list
sudo apt update

Testing (testing)

Command lines to install the latest Feel++ channel on debian/testing
wget -qO - http://apt.feelpp.org/apt.gpg | sudo apt-key add
echo "deb http://apt.feelpp.org/debian/testing testing latest" | sudo tee -a /etc/apt/sources.list.d/feelpp.list
sudo apt update

Sid (unstable)

Command lines to install the latest Feel++ channel on debian/sid
wget -qO - http://apt.feelpp.org/apt.gpg | sudo apt-key add
echo "deb http://apt.feelpp.org/debian/sid sid latest" | sudo tee -a /etc/apt/sources.list.d/feelpp.list
sudo apt update

Install Feel++ Debian/Ubuntu packages

We describe here the installation of the debian packages for LTS distributions.

Table 4. Table Feel++ Ubuntu packages
Name Description

libfeelpp1

shared libraries

libfeelpp-dev

development headers and libraries

feelpp-tools

mesh partitioners and remote data upload/download

feelpp-quickstart

quickstart applications (laplacian cg an hdg), stokes, elasticity(cg and hdg)

python3-feelpp

Python3 bindings

feelpp-data

data files (geometry and config files) for Feel++ applications (e.g. feelpp-quickstart)

libfeelpp-toolboxes1

toolboxes shared libraries

libfeelpp-toolboxes1-all-dev

toolboxes development headers and libraries

feelpp-toolboxes

toolbox applications

feelpp-toolboxes-data

data files (geometry and config files) for Feel++ toolboxes

Installation examples

Install the library
$ sudo apt install libfeelpp1
Install the tools
$ sudo apt install feelpp-tools
Install the quickstart applications and associated data
$ sudo apt install feelpp-quickstart feelpp-data
Install the toolboxes applications and associated data
$ sudo apt install feelpp-toolboxes feelpp-toolboxes-data
Install the toolboxes development environment
$ sudo apt install libfeelpp-toolboxes1-all-dev
Reinstall the runtime environment feelpp, the toolboxes and the python3 packages
$ sudo apt install --reinstall 'feelpp-*' 'libfeelpp1' 'python3-feelpp-*'
Reinstall the development environment for feelpp and the toolboxes
$ sudo apt install --reinstall 'libfeelpp*'

To use Feel++ on Windows 10, follow these steps:

Install Feel++ Debian/Ubuntu packages

We describe here the installation of the debian packages for LTS distributions.

Table 5. Table Feel++ Ubuntu packages
Name Description

libfeelpp1

shared libraries

libfeelpp-dev

development headers and libraries

feelpp-tools

mesh partitioners and remote data upload/download

feelpp-quickstart

quickstart applications (laplacian cg an hdg), stokes, elasticity(cg and hdg)

python3-feelpp

Python3 bindings

feelpp-data

data files (geometry and config files) for Feel++ applications (e.g. feelpp-quickstart)

libfeelpp-toolboxes1

toolboxes shared libraries

libfeelpp-toolboxes1-all-dev

toolboxes development headers and libraries

feelpp-toolboxes

toolbox applications

feelpp-toolboxes-data

data files (geometry and config files) for Feel++ toolboxes

Installation examples

Install the library
$ sudo apt install libfeelpp1
Install the tools
$ sudo apt install feelpp-tools
Install the quickstart applications and associated data
$ sudo apt install feelpp-quickstart feelpp-data
Install the toolboxes applications and associated data
$ sudo apt install feelpp-toolboxes feelpp-toolboxes-data
Install the toolboxes development environment
$ sudo apt install libfeelpp-toolboxes1-all-dev
Reinstall the runtime environment feelpp, the toolboxes and the python3 packages
$ sudo apt install --reinstall 'feelpp-*' 'libfeelpp1' 'python3-feelpp-*'
Reinstall the development environment for feelpp and the toolboxes
$ sudo apt install --reinstall 'libfeelpp*'

Spack packaging is available for Feel++ thanks to ghcr.io. Binaries are available for the generic microarchitecture x86_64_v3.

The following steps require the installation of Spack and the cloning of the spack.numpex repository.

Clone Spack

git clone https://github.com/spack/spack <path to spack>/spack
source <path to spack>/spack/share/spack/setup-env.sh

Add Feel++ Spack Mirror

First set the Feel++ mirror.

set the Feel++ spack mirror (only once)
spack mirror add spack-mirror oci://ghcr.io/feelpp/spack (1)
1 add the mirror named spack-mirror to spack

You can check the mirror with

spack mirror list

Clone spack.numpex

Add spack.numpex as a spack repository

git clone https://github.com/numpex/spack.numpex <path to spack.numpex>/spack.numpex
spack repo add <path to spack.numpex>/spack.numpex
# check the repo
spack repo list

Install Feel++

then download the package feelpp

spack install --use-buildcache only --no-check-signature feelpp target=x86_64_v3

Feel++ package as well as the dependencies will be installed.

You can check the package by run spack test

spack test run feelpp

Then load the Feel++ package

spack load feelpp

Try get some info about Feel++ using the command feelpp_info

feelpp_info

A docker image is generated with the deb packages. The image is based on the LTS distribution Ubuntu Noble 24.04.

To download and execute it, follow the steps described below

Download and run the feelpp docker image: contains feelpp, feelpp-toolboxes, feelpp-mor and feelpp-python
docker pull ghcr.io/feelpp/feelpp:noble
docker run --rm -it -v $HOME/feel:/feel ghcr.io/feelpp/feelpp:noble
Download and run the feelpp docker image including the development kit: contains feelpp, feelpp-toolboxes, feelpp-mor and feelpp-python
docker pull ghcr.io/feelpp/feelpp-dev:noble
docker run --rm -it -v $HOME/feel:/feel ghcr.io/feelpp/feelpp-dev:noble
These images are also available for

* Ubuntu 22.04 (jammy): ghcr.io/feelpp/feelpp:jammy
* Ubuntu 20.04 (focal): ghcr.io/feelpp/feelpp:focal
* Debian 12 (bookworm): ghcr.io/feelpp/feelpp:bookworm

An Apptainer image is generated with the deb packages. The image is based on the LTS distribution Ubuntu Noble 24.04. See more information on Apptainer.

To download and execute it, follow the steps described below

Download and run the Feel++ Apptainer image: contains feelpp, feelpp-toolboxes, feelpp-mor and feelpp-python
apptainer pull -F feelpp-noble.sif oras://ghcr.io/feelpp/feelpp:v0.111.0-preview.10-noble-sif
apptainer inspect feelpp-noble.sif
apptainer run feelpp-noble.sif feelpp_toolbox_fluid --version
These images are also available for

* Ubuntu 22.04 (jammy): ghcr.io/feelpp/feelpp:v0.111.0-preview.10-jammy-sif