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 build running

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
Debian/Ubuntu
openSUSE
CentOS/RedHat/Fedora

Debian/Ubuntu and openSUSE generally receive first attention:

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

Using the OpenFOAM package

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

  • The Debian 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/openfoam1912/
  • /usr/lib/openfoam/openfoam2006/
  • ...

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

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

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., openfoam2006 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 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)

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
openfoam2006 The maintenance version for 2006
openfoam1912 The maintenance version for 1912

The version-specific packages (eg, openfoam2006, openfoam1912) 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
Debian/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 openfoamVERSION.spec rpmlintrc create-tar
openSUSE
CentOS/RedHat openfoam-selector.spec copr fetch
Debian/Ubuntu add repo

Copyright (C) 2020 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