Flow Sculpting

Microfluidic channel flow sculpting via pillar programming

The ability to control the shape of a flow in a passive microfluidic device enables potential applications in cytometry, chemical reaction control, particle separations, and complex material fabrication in the microscale of the so-called “Lab on a chip”. Recent work has demonstrated the concept of sculpting fluid streams in a microchannel using a set of pillars or other structures that individually deform inertial fluid flow in a predictable pre-computed manner. These individual pillars are then placed in a defined sequence within the channel to yield the composition of the individual flow deformations – and ultimately complex user defined flow shapes. In this way, an elegant mathematical operation can yield the final flow shape for a sequence without experiment or additional CFD numerical simulation. Hence, the name “pillar programming”.


Figure 1: Pillar Programming



Collaboration with UCLA’s biomicrofluidics laboratory (http://www.biomicrofluidics.com) has yielded an open-source, GPU based version of the pillar programming software, “uFlow”. uFlow runs on most modern consumer grade GPUs, and relieves the end-user of the computationally difficult Navier-Stokes solutions that form the basis of uFlow’s dataset. uFlow’s simulations have been experimentally validated for complex fluid structures, demonstrating the variety of possible fluid shaping transformations for a single inlet condition.  uFlow is freely available at http://www.biomicrofluidics.com/software.php.


We have recently developed an open-source utility for solving the inverse problem in pillar programming.  That is, given a fluid flow shape, what is the pillar sequence and inlet design that will produce such a shape?  Our utility uses a customizable genetic algorithm to determine optimal pillar sequence and inlet flow design for a given fluid flow shape.  Flowsculpt currently runs on Windows, Linux, and OS X operating systems, with minimal dependencies, and is freely available here:

Flowsculpt repository

Features of Flowsculpt include:

  • No proprietary dependencies
  • Thread parallel execution
  • Free or fixed inlet configuration (i.e., allow the GA to design the inlet, or enforce a particular inlet design)
  • Export microfluidic device designs to uFlow



  1. H. Amini, E. Sollier, M. Masaeli, Y. Xie, B. Ganapathysubramanian, H. A. Stone, D. Di Carlo, Engineering fluid flow using sequenced microstructures, 2013, 4 (May), 1826-1834.
  2. D. Stoecklein, C-Y. Wu, K. Owsley, Y. Xie, D. Di Carlo, B. Ganapathysubramanian, Micropillar sequence designs for fundamental inertial flow transformations, Lab on a Chip, 2014, 14 (21), 4197-4204.
  3. K. G. Lore, D. Stoecklein, M. Davies, B. Ganapathysubramanian, S. Sarkar, Hierarchical feature extraction for efficient design of microfluidic flow patterns, JMLR: Workshop and Conference Proceedings 44 (2015).
  4. D. Stoecklein, C-Y. Wu, D. Kim, D. Di Carlo, B. Ganapathysubramanian, Optimization of micropillar sequences for fluid flow sculpting, Physics of Fluids, 2016, 28 (1), 53-65.
  5. D. Stoecklein, M. Davies, N. Wubshet, J. Le, B. Ganapathysubramanian, Automated design for microfluid flow sculpting: multi-resolution approaches, efficient encoding, and GPU implementation, ASME Journal of Fluids Engineering, 2016, doi: 10.1151/1.4034953