Skip to content

Latest commit

 

History

History
86 lines (76 loc) · 6.54 KB

README.md

File metadata and controls

86 lines (76 loc) · 6.54 KB

BERNAISE

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 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.

This fork is focused towards microfluidics in particular the study of droplet deformation under flow as well as within electric fields. 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.

Flow focusing for creating microdroplets (oil in water model)

Microfluidic flow focusing for creating microdroplets

Flow focusing demo available here

Features

  • Simulates time-dependent two-phase electrohydrodynamics in two and three dimensions using a phase-field approach.
  • Supports complex geometries represented by unstructured meshes. Updated to support “.xdmf” mesh import.
  • Easy implementation of new problems and solvers.

Planned features

  • Wiki to aid users in running and implementing demos. Asger Bolet's, Gaute Linga's and Joachim Mathiesen's paper details most of the setup.
  • Adaptive time-stepping based on a local Courant number. Working Courant number per mesh has been implemented within "io" script - "get_dt_CFL" returns a tiem-step value proportional to the global mesh.
  • Examples of droplet deformation within flow and electric fields.
  • Migration to Dolfin-X package (Next generation Dolfin solver).

Dependencies

  • FEniCS/Dolfin
  • fenicstools (for post-processing)
  • Meshio (for converting meshes to ".xdmf" formats, see importScript.py)
  • LEoPart (Optional for Lagrangain Particle Tracking)
  • simplejson
  • mpi4py (included in base FEniCS/Dolfin >2018)
  • h5py (parallel - included in base FEniCS/Dolfin >2018)
  • numpy
  • skimage (for polygon extraction tool)
  • tabulate (for post-processing)

Contributors