Skip to content

Compiling OWL

Ying Wai Li edited this page Jan 12, 2022 · 9 revisions

Prerequisites:

  1. C++17 or above
  2. Message Passing Interface (MPI) 2.0 or above

Optional:

  1. Quantum Espresso (QE) (for owl-qe)
  2. Locally Self-consistent Multiple Scattering (LSMS) (for owl-lsms)

Build steps:

1. Download OWL's source code:

git clone https://github.com/owl-suite/OWL.git

2. Remove any previous architecture.inc file:

rm architecture.inc

3. Choose a suitable architecture file and create a soft link to architecture.inc.

For example, on a Linux machine:

ln -s architecture/generic_linux architecture.inc

On a Mac computer:

ln -s architecture/mac_osx architecture.inc

On a NERSC machine (e.g. Cori or Edison):

ln -s architecture/nersc architecture.inc

Other architectures can be found in the architecture/ folder.

3. Compile different flavors of OWL (choose either Option 1 or Option 2):

Option 1: To compile a standalone code:

make owl

An executable owl will be resulted in the bin directory. This executable can be used for simulating standard spin models and user-defined crystal structures.

Option 2: To compile OWL interfacing with Quantum Espresso (QE):

  1. Download and compile Quantum Espresso.
  2. Link the QE installation to the quantum_espresso link in the root directory:
ln -s [Path to your Quantum Espresso directory] quantum_espresso
  1. Compile the code with QE interface enabled:
make owl-qe

An executable owl-qe will be resulted in the bin directory. This executable can be used for performing simulations using Quantum Espresso to calculate the energies and other physical properties of interest.

Building OWL interfacing with Locally Self-consistent Multiple Scattering (LSMS):

Capability coming soon.