Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • openfoam openfoam
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 380
    • Issues 380
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 13
    • Merge requests 13
  • Deployments
    • Deployments
    • Releases
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Development
  • openfoamopenfoam
  • Wiki
  • precompiled

Last edited by Mark Olesen Jan 31, 2022
Page history
This is an old version of this page. You can view the most recent version or browse the history.

precompiled

home modules build running repo issues

To make OpenFOAM readily available to a larger range of users, OpenCFD works actively with the community surrounding respective Linux distributions to provide precompiled binary installations as system packages. The distributions currently include the following:

System
Ubuntu
openSUSE
CentOS/RedHat/Fedora
Docker

Ubuntu and openSUSE generally receive first attention:

  1. Ubuntu is a very popular distribution with OpenFOAM users.
  2. openSUSE is historically the favoured development platform for OpenCFD Ltd. Since it is an RPM-based system, a well-crafted spec file can also address RedHat-based distributions.
  • Using the OpenFOAM package
  • Installation locations
  • Sub-packages
  • Package structure (RPM, partly Debian/Ubuntu)
  • Package links
  • Resources

Using the OpenFOAM package

After installation, the OpenFOAM environment can be accessed as described in running.

  • The Debian (Ubuntu) and RPM packages always include the OpenFOAM shell sessions.
  • If the openfoam-selector is available at the time of installation, the newly installed packages will be registered with it, allowing use of the openfoam-selector mechanism.

Installation locations

The packages have been designed to allow simultaneous installation of different OpenFOAM versions without file or package-name collisions. This lets users experiment with different OpenFOAM versions, perform back-to-back comparisons, or simply continue with an older version until completion of a particular project.

The system installation prefix /usr/lib/openfoam is used, below which individual versions are located. For example,

  • /usr/lib/openfoam/openfoam2012/
  • /usr/lib/openfoam/openfoam2006/
  • /usr/lib/openfoam/openfoam1912/
  • ...

The OpenFOAM bash session wrapper will be created under /usr/bin. For example,

  • /usr/bin/openfoam2012
  • /usr/bin/openfoam2006
  • /usr/bin/openfoam1912
  • ...

Sub-packages

Satisfying the wishes and requirements of all users is a difficult task. One user (or sysadmin) wants the "only install what I really need" approach [more control, less diskspace]. Another group of users prefers the "just install everything" approach [less control, more diskspace]. We have attempted to strike a reasonable balance between both. For any given base package (e.g., openfoam2012 etc), there are a variant of sub-packages ("only-what-I-need"), but also a default package for the "install-everything" folks.

Here are some common selections:

User Group What to install Runtime Compilation Tutorials
minimalist base yes no no
traditional base-dev (devel) yes yes no
everything base-default yes yes yes

The longer descriptions:

Sub-Package Description Includes
base OpenFOAM runtime (solver, utils, libraries). Double precision, int32 compilation. base-common
base-dev (devel) Development package. Source code headers and wmake build chain. Needed for developing with OpenFOAM, but also if dynamic code compilation is required. base, base-tools
base-tutorials Tutorials base-common
base-default Meta-package for everything potentially needed base-dev (devel), base-tutorials.
base-tools Binaries for OpenFOAM-specific build tools for base-dev (devel). base-common
base-common Version information and share files.

Note the package names for Debian (Ubuntu) and RPM packages are intentionally kept very similar, except dev (Debian) vs. develop (RPM) names that follow the respective system conventions.

Package structure (RPM, partly Debian/Ubuntu)

To allow smooth installation and use of multiple OpenFOAM versions on the same system, some installations use a meta-package structure:

Package Comments
openfoam The top-level meta package that provides links and requirements for the most recent OpenFOAM release
openfoam-selector Similar to mpi-selector, used to switch active OpenFOAM versions
openfoam2012 The maintenance version for v2012
openfoam2006 The maintenance version for v2006
openfoam1912 The maintenance version for v1912

The version-specific packages (eg, openfoam2012, openfoam2006, ...) 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.

Package links

System Links Status Notes
Ubuntu dl.openfoam.com/repos/deb/ Actively maintained by OpenCFD notes
openSUSE science package openfoam, download Actively maintained by OpenCFD notes
Fedora/CentOS/RedHat copr package openfoam In development by OpenCFD notes

Resources

For precompiled packaging, the following content is provided for reference purposes, and to help when scripting:

System Files Scripts
common openfoamAPI.spec rpmlintrc create-tar
openSUSE
CentOS/RedHat openfoam-selector.spec copr fetch
Ubuntu add repo
Docker run script pre-beta

Copyright (C) 2020-2021 OpenCFD Ltd.

Clone repository
  • Submitting issues
  • building
  • building
    • cross compile mingw
  • coding
    • git workflow
    • patterns
      • HashTable
      • dictionary
      • memory
      • patterns
      • precision
      • selectors
      • strings
    • style
      • style
  • configuring
  • Home
  • icons
    • info
View All Pages