Getting started

Installing NEML

Compiling NEML requires the NEML source, and a C++ compiler. Additionally, you will need BLAS and LAPACK.

Testing NEML and running the examples described here also requires compiling the Python bindings. This has the additional requirements of a Python 3.x installation, including the development headers, the pybind11 library (which is included in the NEML source), and the numpy, scipy, and networkx python packages. The nose python package can be useful in running the provided tests.

Linking NEML into your finite element package may additionally require a C or Fortran compiler, depending on what language your finite element software uses and can link to.

We have successfully installed NEML on Linux, Windows, and Mac OS. Directions for each operating system follow below.

Python package

An easier way to install NEML if you are only interested in the python bindings is to use the package uploaded to pypi. Currently only a source package is available, but the python install scripts simplify the process of compiling and linking the package. You still need a working compiler, the python development headers, and development versions of BLAS and LAPACK. These can be installed on Ubuntu, for example, with

sudo apt-get install python3-dev python3-pip cmake libboost-dev libblas-dev liblapack-dev

After that a python package manger, such as pip, can be used to install NEML

sudo pip3 install neml