We perform multi-physics, open-source simulations for biochips and MEMS devices. In these systems there will usually be multiple flows, for example; heat, fluid and molecules. Depending on the nature of the problem, we will either use finite difference methods (implemented in Python) or finite element methods (FEniCS). The code will be available throughout, and after, the project and can run in a Jupyter notebook environment.
We are familiar with the materials and technology available for the manufacture of biochips. The numerical simulations are backed up by analytical calculations and estimates. Most projects start with a short, introductory piece of work. Please get in touch if we can help.
When to take the open-source approach?
Of course it is possible to use a commercial simulation package (COMSOL, ANSYS). In many cases this will be the correct thing to do, for example, when there is a need for a full 3-d simulation of a complex assembly. However many insights can be gained from simplified models in 2-d which have run-times in the order of seconds. Plus, a code based approach readily lends itself to version control, parametric sweeps, grid optimisation and testing. For example, look at the 12 steps to Navier Stokes course for a compact Python based approach to the simulation of fluid-flow.
Isn’t Python too slow to be useful for simulations?
By using Numba’s JIT module, vectorisation with Numpy, and SciPy’s sparse matrix methods competitive performance can be achieved with Python as compared to compiled code. See this post for a comparison of Julia and Python run-times in the case of numerically solving the Poisson equation via the finite difference method.
Do we only simulate biochips and MEMS devices?
No. Do get in contact with your other simulation problems, especially if you want an open-source, code-based solution.