david-kamensky / VarMINT

Variational Multiscale Incompressible Navier--Stokes Toolkit
GNU Lesser General Public License v3.0
11 stars 8 forks source link

VarMINT

The Variational Multiscale Incompressible Navier--Stokes Toolkit: A small Python module with re-usable functionality for solving the Navier--Stokes equations in FEniCS, using a variational multiscale (VMS) formulation.

The Solid Mechanics And Nonlinear Elasticity Routines module, SalaMANdER, provides a framework for implementing solid material models that avoids code duplication where possible.

The Convert Mesh utility, ChaMeleon, was written to convert meshes generated with GMSH to FEniCS-compatible XDMF-format meshes using meshio.

To install these modules, do:

pip3 install git+https://github.com/david-kamensky/VarMINT.git

This module was originally written to support the following paper, submitted to a special issue on open-source software for partial differential equations:

@article{Kamensky2021,
title = "Open-source immersogeometric analysis of fluid--structure interaction using {FEniCS} and {tIGAr}",
journal = "Computers \& Mathematics with Applications",
volume = "81",
pages = "634--648",
year = "2021",
note = "Development and Application of Open-source Software for Problems with Numerical PDEs",
issn = "0898-1221",
author = "D. Kamensky"
}

It has since been updated to include be based on an Arbitrary Lagrangian-Eulerian (ALE) framework to facilitate fluid-structure interaction simulations for the below publication:

@article{IN PREPARATION}

VarMINT is intentionally light-weight, and mainly intended to avoid needless duplication of UFL code defining the VMS formulation in different applications. A more comprehensive FEniCS-based flow solver using a similar VMS formulation is described by Zhu and Yan here.