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.