To allow smooth installation and use of multiple OpenFOAM versions on
the same system, we use the following structure:
The top-level meta package that provides links and requirements for the most recent openfoam release
Similar to mpi-selector, used to switch active openfoam versions
The maintenance version for 1906
The maintenance version for 1812
The version-specific packages (eg, openfoam1906, openfoam1812)
install into distinct directories so that it is possible to have
multiple versions available on your systems.
The top-level openfoam package registers which of the
version-specific packages corresponds to the current release.
Finally, the openfoam-selector package is used to register which
openfoam packages are installed on the system and allows the use to
select one of them.
To display which versions are installed:
Most people will find the openfoam-selector-menu more convenient to
WARNING: Changes made to the openfoam-selector defaultswill not be visible until you start a new shell!
NOTE Similar to the behaviour of the mpi-selector, the values
registered via the openfoam-selector will not be activated until the
next full login. This is to avoid a possible clash of environments
when a parallel job still being launched. Of course, you can still
simply source the corresponding bashrc file directly. For example,
$ source /opt/openfoam1906/etc/bashrc
Depending on how your packaging system has done things, an openfoam
session command may be available as an alternative to the
On the openSUSE installation, for example:
Note that the Debian packages may have been created with applications in
/usr/bin and configuration files under /usr/share/openfoam/etc.
In this case, you may need to manually define the location of the
OpenFOAM directory as follows:
The installation of openfoam with spack will generally require the
latest (development version) of spack. If this is available, you can
install openfoam in various configurations and dependencies, but
typically can simply install directly:
$ spack install openfoam
To help with RPM-based systems, the following content is provided for
reference purposes, and to help when scripting: