BERNAISE (Binary ElectRohydrodyNAmIc SolvEr) is a flexible high-level solver of electrohydrodynamic flows in complex geometries. It is written in Python and built on the Finite Element Computational Solver (FEniCS) project, which in turn effectively interfaces to optimized linear algebra backends such as PETSc. The solver is described and documented in Asger Bolet’s, Gaute Linga’s and Joachim Mathiesen’s paper.
The fork I am developing is focused towards microfluidics. The changes maintain the base functionality whilst adding the importing of complex geometries with subdomains in XDMF file format using Meshio. This allows for CAD > GMSH/Netgen > BERNAISE pipeline for importing complex meshes. See the wiki for more information.