Back to top of Surface Evolver documentation.
Index.
Surface Evolver Overview
General description
The Surface Evolver is an interactive program for the study of
surfaces shaped by surface tension and other
energies, and subject
to various constraints. A
surface is implemented as a simplicial complex, that is, a union
of triangles. The user defines an initial surface in a datafile. The
Evolver evolves the surface toward minimal energy by a gradient
descent method. The aim can be to find a minimal energy surface,
or to model
the process of evolution by mean curvature, which was studied
in [B1] for surface tension energy in the context of varifolds
and geometric measure theory. The energy in the Evolver can be
a combination of
surface tension, gravitational energy, squared mean curvature,
user-defined surface integrals, or knot energies. The Evolver can handle
arbitrary topology (as seen in real soap bubble clusters),
volume constraints, boundary constraints, boundary contact
angles, prescribed mean curvature, crystalline integrands,
gravity, and constraints expressed as surface integrals. The
surface can be in an ambient space of arbitrary dimension, which
can have a Riemannian metric, and the ambient space can be a
quotient space under a group action. The user can interactively
modify the surface to change its properties or to keep the
evolution well-behaved. The Evolver was written for one and two
dimensional surfaces, but it can do higher dimensional surfaces
with some restrictions on the features available. Graphical
output is available as screen graphics and in several file
formats, including PostScript.
The Surface Evolver program is freely
available
and is in use by a number of researchers. Some of the
applications of the Evolver so far include modelling the shape
of fuel in rocket tanks in low gravity
[Te], calculating areas
for the Opaque Cube Problem [B4],
computing capillary surfaces
in cubes [MH] and in exotic containers
[C], simulating grain
growth [FT]
[WM], studying grain boundaries pinned by
inclusions, finding partitions of space more efficient
than Kelvin's tetrakaidecahedra [WP]
[KS1],
foam rheology [KR1]
[KR2],
sphere eversion [FS],
modelling the shape of molten solder on
microcircuits [RSB],
studying polymer chain packing, modelling
cell membranes [MB],
and classifying minimal surface singularities.
The strength of the Surface Evolver program is in the breadth
of problems it handles, rather than optimal treatment of some
specific problem. It is under continuing development, and
users are invited to suggest new features.
This manual contains full operational details.
A journal article description of the Evolver
appeared in [B2].
Portability
The Evolver is written in portable C and has been run
on several systems, including Microsoft Windows, Macintosh, Linux, and unix.
It is meant to be easily portable to any
system that has C.
Acknowledgements
The Evolver was written as part of the Geometry Supercomputing
Project (later
The Geometry Center, now defunct),
sponsored by the National Science Foundation, the Department
of Energy, Minnesota Technology, Inc., and the University of
Minnesota. The program is available free of charge.
Back to top of Surface Evolver documentation.
Index.
Author's home page.