Skip to content

A verified and validated Python/FEniCS-based CFD solver for moving domains

License

Notifications You must be signed in to change notification settings

KVSlab/OasisMove

Repository files navigation

OasisMove - Moving Domain CFD Solver


GPL-3.0 codecov CI GitHub pages DOI


Left atrium flow

Fluid velocity (left) and mesh deformation (right) of a moving patient-specific left atrium model, simulated over two cardiac cycles lasting for $T=2$ s. The model is publicly available from this dataset.

Description

OasisMove is a high-level/high-performance open-source Navier-Stokes solver for fluid flow in rigid and moving domains 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. This moving domain solver has undergone rigorous verification and validation, and results have shown that OasisMove follows theoretical convergence rates, being second order accurate in time, and second and third order accurate in space with P1/P1 and P2/P1 finite elements. OasisMove has been developed with cardiovascular flows in mind, but is applicable to several flow problems within CFD.

Convergence rate analysis

Spatial convergence study of OasisMove performed by varying the characteristic edge length Δx. On the left, the L2 error for the velocity, and on the right the L2 error for the pressure, both following theoretical convergence rates. The solid lines represent the simulation results, and the dashed lines display the theoretical convergence rates. A similar study was performed to address temporal convergence, resulting in second order convergence (not shown here).

Installation

OasisMove and its dependencies can be installed using either conda, or by building and running a Docker container, and pip. For detailed installation notes see the installation guidelines.

Documentation

OasisMove's documentation is hosted here. This includes multiple tutorials, meant to guide the user through the basic steps of performing a computational fluid dynamic simulation and creating problem files.

For futher details on vanilla Oasis, please refer to its wiki or the user manual

If you wish to use OasisMove for journal publications, please cite the following paper.

Licence

OasisMove is licensed under the GNU GPL, version 3 or (at your option) any later version.

OasisMove is Copyright (2018-2023) by the authors.

Authors

OasisMove has been developed by

Issues

Please report bugs and other issues through the issue tracker at:

https://github.com/KVSlab/OasisMove/issues