.. _quickinstall:
===================
Quick Install Guide
===================
This quick install guide outlines the basic steps needed to install OpenMC on
your computer. For more detailed instructions on configuring and installing
OpenMC, see :ref:`usersguide_install` in the User's Manual.
----------------------------------
Installing on Linux/Mac with Conda
----------------------------------
`Conda `_ is an open source package management
system and environments management system for installing multiple versions of
software packages and their dependencies and switching easily between them.
OpenMC can be installed in a `conda` environment. First, `conda` should be
`installed `_
with either Anaconda Distribution or Miniconda. Once you have `conda` installed
on your system, OpenMC can be installed via the `conda-forge` channel.
First, add the `conda-forge` channel with:
.. code-block:: sh
conda config --add channels conda-forge
conda config --set channel_priority strict
Then create and activate a new conda enviroment called `openmc-env` (or whatever
you wish) with OpenMC installed.
.. code-block:: sh
conda create --name openmc-env openmc
conda activate openmc-env
If you are installing on macOS with an Apple silicon ARM-based processor, you
will also need to specify the `--platform` option:
.. code-block:: sh
conda create --name openmc-env --platform osx-64 openmc
You are now in a conda environment called `openmc-env` that has OpenMC
installed.
-------------------------------------------
Installing on Linux/Mac/Windows with Docker
-------------------------------------------
OpenMC can be easily deployed using `Docker `_ on any
Windows, Mac, or Linux system. With Docker running, execute the following command
in the shell to download and run a `Docker image`_ with the most recent release
of OpenMC from `DockerHub `_:
.. code-block:: sh
docker run openmc/openmc:latest
This will take several minutes to run depending on your internet download speed.
The command will place you in an interactive shell running in a `Docker
container`_ with OpenMC installed.
.. note:: The ``docker run`` command supports many `options`_ for spawning
containers including `mounting volumes`_ from the host filesystem,
which many users will find useful.
.. _Docker image: https://docs.docker.com/engine/reference/commandline/images/
.. _Docker container: https://www.docker.com/resources/what-container
.. _options: https://docs.docker.com/engine/reference/commandline/run/
.. _mounting volumes: https://docs.docker.com/storage/volumes/
----------------------------------
Installing from Source using Spack
----------------------------------
Spack_ is a package management tool designed to support multiple versions and
configurations of software on a wide variety of platforms and environments.
Please follow Spack's `setup guide`_ to configure the Spack system.
To install the latest OpenMC with the Python API, use the following command:
.. code-block:: sh
spack install py-openmc
For more information about customizations including MPI, see the
:ref:`detailed installation instructions using Spack `.
Once installed, environment/lmod modules can be generated or Spack's `load` feature
can be used to access the installed packages.
.. _Spack: https://spack.readthedocs.io/en/latest/
.. _setup guide: https://spack.readthedocs.io/en/latest/getting_started.html
-------------------------------
Manually Installing from Source
-------------------------------
Obtaining prerequisites on Ubuntu
---------------------------------
When building OpenMC from source, all :ref:`prerequisites ` can
be installed using the package manager:
.. code-block:: sh
sudo apt install g++ cmake libhdf5-dev libpng-dev
After the packages have been installed, follow the instructions to build from
source below.
Obtaining prerequisites on macOS
--------------------------------
For an OpenMC build with multithreading enabled, a package manager like
`Homebrew `_ should first be installed. Then, the following
packages should be installed, for example in Homebrew via:
.. code-block:: sh
brew install llvm cmake hdf5 python libomp libpng
The compiler provided by the above LLVM package should be used in place of the
one provisioned by XCode, which does not support the multithreading library used
by OpenMC. To ensure CMake picks up the correct compiler, make sure that either
the :envvar:`CXX` environment variable is set to the brew-installed ``clang++``
or that the directory containing it is on your :envvar:`PATH` environment
variable. Common locations for the brew-installed compiler are
``/opt/homebrew/opt/llvm/bin`` and ``/usr/local/opt/llvm/bin``.
After the packages have been installed, follow the instructions to build from
source below.
Building Source on Linux or macOS
---------------------------------
All OpenMC source code is hosted on `GitHub
`_. If you have `git
`_, a modern C++ compiler, `CMake `_,
and `HDF5 `_ installed, you can
download and install OpenMC by entering the following commands in a terminal:
.. code-block:: sh
git clone --recurse-submodules https://github.com/openmc-dev/openmc.git
cd openmc
mkdir build && cd build
cmake ..
make
sudo make install
This will build an executable named ``openmc`` and install it (by default in
/usr/local/bin). If you do not have administrator privileges, the cmake command
should specify an installation directory where you have write access, e.g.
.. code-block:: sh
cmake -DCMAKE_INSTALL_PREFIX=$HOME/.local ..
The :mod:`openmc` Python package must be installed separately. The easiest way
to install it is using `pip `_.
From the root directory of the OpenMC repository, run:
.. code-block:: sh
python -m pip install .
By default, OpenMC will be built with multithreading support. To build
distributed-memory parallel versions of OpenMC using MPI or to configure other
options, directions can be found in the :ref:`detailed installation instructions
`.