Git Product home page Git Product logo

bernaise's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.