BVPy: A FEniCS-based Python package to ease the expression and study of boundary value problems in Biology.

F. Gacon, C. Godin & O. Ali

Journal of Open Source Software 6, 2831 (2021).


BVPy is a python library to easily implement and study numerically Boundary Value Problems (BVPs) and Initial Boundary Value Problems (IBVPs) through the Finite Element Method (FEM). BVPy proposes an intuitive Application Programming Interface (API) to harness and combine the core functionalities of three powerful libraries: FEniCS (Logg et al., 2012) provides the core data structures and solving algorithms; Gmsh (Geuzaine & Remacle, 2009) defines the domains and their meshing; and Meshio (Schlömer et al., 2020) handles data reading and writing. Initially built in the context of developmental biology and morphomechanics, its purpose is to enable all users, even with little to none experience in FEM, to quickly and efficiently estimate the behavior of a wide variety of fields (scalars, vectors, tensors) on biologically relevant structures, inspired by biophysical and biochemical processes (morphogene patterning, active matter mechanics, active transports...). Despite this biological motivation, the BVPy library has been implemented in an agnostic manner that makes it suitable for many other scientific context.