Installation

OasisMove is a high-level/high-performance open-source Navier-Stokes solver written in Python/FEniCS, and is an extension of the computational fluid dynamics (CFD) solver Oasis. In OasisMove the Navier-Stokes equations are expressed in the arbitrary Lagrangian-Eulerian formulation, which is suitable for handling moving domains. Through verification the solver has shown to follow theoretical convergence rates, begin second order accurate in time, and second and third order accurate in space with P1/P1 and P2/P1 finite elements. Through validation the solver has showed good agreement with existing benchmark results, and demonstrates the ability of the solver to capture vortex patterns in transitional and turbulent-like flow regimes.

Dependencies

The general dependencies of OasisMove are

  • FEniCS

  • Scipy

You can choose how to install the dependencies, but the fastest way to get started is to install the dependencies through conda-forge. Start by installing conda, by downloading and installing Anaconda or Miniconda on your computer.

Installing FEniCS

The FEniCS software is available through Anaconda on macOS and Linux, while Windows users may need to install FEniCS as described here. To create a conda environment with both software’s installed, start by adding the conda-forge channel with:

$ conda config --add channels conda-forge
$ conda config --set channel_priority strict

Once the conda-forge channel has been added, you can create a conda environment with FEniCS installed as follows:

$ conda create -n your_environment fenics

Note

Replace your_environment with the environment name.

You can now activate your environment by running:

$ conda activate your_environment

or:

$ source activate your_environment

Warning

Some users may experience errors regarding compatibility if Anaconda already has been configured with certain channels. To resolve this issue you can remove conflicting channels using:

$ conda config --remove channels [CHANNEL NAME]

Alternatively, you set your Anaconda channel priority to flexible, with the following command:

$ conda config --set channel_priority flexible

Installing OasisMove

The next step is to download and install OasisMove on your machine. Inside your conda environment run the following commands to clone and install OasisMove:

$ git clone https://github.com/KVSlab/OasisMove
$ pip install --editable OasisMove

The --editable flag installs the project in editable mode meaning that any changes to the original package will be reflected directly in your environment.

Now you are all set, and can start running CFD simulations with OasisMove.