pySurfaceEvolver¶
A Python frontend to Ken Brakke’s Surface Evolver.
Surface Evolver finds surfaces of least energy: soap films, bubbles, drops on walls,
liquid bridges, solder joints. pySE runs the engine in-process. Surfaces are built
from NumPy arrays and come back as NumPy arrays, ev.relax() takes them to an
equilibrium and says how it went, and the results can be plotted with PyVista and
written out for finite-element meshing.
Where to start¶
New here? Getting started installs pySE, puts a drop on a table and sets out the conventions every other page uses. The Tutorial: a double bubble, from arrays to FEM mesh then takes one problem, a double bubble, from arrays to a finite-element mesh, and A tour of the API lists the main calls on one page.
Relaxing a surface explains what
relax()does, how to read its result, and where its defaults stop working. Read it before the examples, or when a result looks wrong.The examples add one thing at a time: contact angles on curved solids (Example: a liquid bridge between two beads), forces and optimizing parameters from Brakke’s datafiles (Solder joints: force, standoff and alignment), several walls and mirror planes (Example: a droplet next to a bead in a slit), and a long quasi-static run (Example: draining liquid from a bead chain in a slit), following a bridge through its instability and fold (Where a shrinking bridge breaks), and liquid in throats and pores of a sphere packing (Liquid in a sphere packing).
Classic results from the literature, each against an exact reference: the stability limits of a bridge between two disks (A liquid bridge between two disks), the largest drop a ring can hold (The largest drop a ring can hold), drops on one, two and crossed fibres (Drops on fibres), and a lens floating on a liquid (A lens floating on a liquid).
Brakke’s sample datafiles run as they come, each with his own recipe and with
relax()side by side: a gallery of what Evolver can model.The reference has the API, fourteen stress cases with exact references, performance numbers, and how to build and test pySE (Development).
Getting started
Guides
Examples
- Example: a liquid bridge between two beads
- Solder joints: force, standoff and alignment
- Example: a droplet next to a bead in a slit
- Example: draining liquid from a bead chain in a slit
- Where a shrinking bridge breaks
- Liquid in a sphere packing
- A liquid bridge between two disks
- The largest drop a ring can hold
- Drops on fibres
- A lens floating on a liquid
Brakke's samples
Reference