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 12
    • Merge requests 12
  • 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

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. Additionally, precompiled binary installations are available for MS-Windows.

Pre-compiled binaries are currently available for the following systems:

System
Ubuntu
openSUSE
CentOS/RedHat/Fedora
Windows
Docker

!! The packages do not contain visualization (eg, ParaView/runTimePostProcessing) or external-solver (eg, PETSc) modules:
see the corresponding FAQ


Ubuntu and openSUSE generally receive first attention:

  1. Ubuntu is a very popular distribution with OpenFOAM users.
  2. openSUSE is 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
  • Frequently Asked Questions

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/openfoam2106/
  • /usr/lib/openfoam/openfoam2012/
  • /usr/lib/openfoam/openfoam2006/
  • ...

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

  • /usr/bin/openfoam2106
  • /usr/bin/openfoam2012
  • /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., openfoam2106 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, openfoam2106, openfoam2012, ...) 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

Frequently Asked Questions

  • I like using cfMesh, is it included in the precompiled packages?
    Yes it is included.

  • Why isn't ParaView included in the precompiled packages? This would be much more convenient than having to compile it myself!
    Some more details are given in modules/visualization, but essentially the paraview version distributed with the operating system or a newer binary package is likely fully adequate for your needs. We would prefer to focus on extending and improving the OpenFOAM support in ParaView/VTK directly since this provides the best long-term and most universal solution.

  • So a binary download of paraview makes sense, but runTimePostProcessing (or Catalyst) will work with that?
    There is unfortunately no easily achievable and unique solution that will satisfy all user requirements (eg, llvm pipelines, virtual graphics, etc). Coping with this diversity is exactly the reason that the visualization module was split off from the main OpenFOAM source tree in the first place. If you do have a good recipe for incorporating a reasonably flexible packaged runTimePostProcessing or Catalyst, we would be happy to incorporate that into our builds. Please use the regular issue tracker.

  • Why is the external-solver (PETSc) module not included?
    While this could make some sense, the default system installations for PETSc may be using a different MPI (eg, mpich vs openmpi etc) that would be incompatible with how OpenFOAM has been compiled. The range of solver types included in a system installation of PETSc may or may not correspond to your requirements.


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