The Surface Evolver
My Surface Evolver is an interactive
program for the modelling of liquid surfaces shaped by various forces and
constraints. The program is available free of charge.
August 25, 2013
the Surface Evolver for various systems.
- Browse Surface Evolver documentation.
- Surface Evolver examples:
- Viewer program evmovie
for multiple frames of Evolver evolutions. Record frame files from Evolver, load them
in evmovie, and scroll back and forth in the evolution, while twirling in 3D and
- Some other people's pages using the Surface Evolver:
Download Surface Evolver
All the download packages unpack to local
files, and thus do not need administrative permission to install. There are no
installation programs to run after unpacking.
This chapter explains how to get and install the Evolver.
Evolver is written to be portable between systems. There
are pre-compiled versions for Windows and Macintosh; source
files and a Makefile are provided for unix/Linux systems.
The distribution packages for various systems are available from the
Each package also contains documentation and sample datafiles and
scripts. The documentation subdirectory is named
The complete manual in PDF format is separately available as
contains the manual in PDF format, an HTML version of
the documentation (except for the mathematical parts), and a brief
unix man page evolver.1. The HTML
files are also used by the Evolver help command.
The samples are in the subdirectory
fe (which is the
file extension I use for datafiles; it stands for
"facet-edge," referring to the internal structure of surfaces
in the Evolver).
Below are instructions for standard packages:
Microsoft Windows version
The distributions available here include both the 32-bit version of Evolver
(evolver.exe) and the 64-bit version (evolver64.exe). The 64-bit version
is meant for very large models (hundreds of thousands of facets). Unless
you have such a large surface, use the 32-bit version since it is 10 to 20
percent faster, having less data to move around.
There are now two alternative ways to install Evolver:
This is an installation program that will lead you through all steps
and options in the installation procedure. It will
automatically set up the environment variables described below and
copy files to folders. Puts the Evolver executables on your PATH, and
associates the .fe extension with Evolver, so clicking on a datafile
launches it. Includes both the 32-bit version (evolver.exe) and the
64-bit version (evolver64.exe). NOTE: if you installed version 2.50
this way, then you will have to first uninstall version 2.50 by
going to Control Panel, Programs and Features, and uninstall Surface
Evolver. This will remove all the files in the previous installation,
but leave alone any other files you may have added to say the fe folder.
For an old-fashioned do-it-yourself installation, this file
has the executable files evolver.exe and evolver64.exe
along with the documentation and sample
datafile subdirectories. Steps to follow after downloading:
- Create a directory (such as
and unzip the distribution package there.
- Add your installation directory ro your
(Control Panel/System/Advanced System Settings/Environment
or you can copy evolver.exe
to someplace in your
PATH, such as
also create an environment variable
EVOLVERPATH telling Evolver where
to search for various files. Do this by opening
Control Panel/System/Advanced/Environment Variables, clicking New
under System Variables, entering
EVOLVERPATH for the Variable name,
c:\evolver\fe;c:\evolver\doc for the Variable value. You may
add further paths of your own to this list if you wish.
- To make Evolver start automatically when you click on a *.fe file,
you can associate Evolver with the file extension .fe by opening
My Computer/Tools/Folder Options/File Types/New, entering the
File Extension fe, clicking OK, clicking Change, and browsing
for the evolver.exe program. (This sequence of actions may vary
on different Windows versions.)
The Windows version
uses OpenGL/GLUT graphics. OpenGL is standard in Windows, and
all the necessary GLUT components are included in the executable,
so you don't have to install anything.
Unix version of the Surface Evolver
Instructions for installing the Surface Evolver on unix-style systems.
Evolver compiles on 64 bit systems as well as 32 bit systems.
- Download evolver-2.70.tar.gz
(careful; some browsers mangle the default save name). This is a compressed
tar file containing source code, makefile, sample datafiles and scripts, and
PDF and HTML versions of the documentation. This will untar into a READ.ME
file and three subdirectories, src (source files), fe (datafiles and scripts),
and doc (manual in PDF format, man page evolver.1, and an HTML version). To
build, edit the Makefile in src to choose your appropriate system and options.
If you have a Makefile from a previous version of Evolver, you may use it
(be careful it doesn't get overwritten by the distribution's Makefile),
but you should add method5.o to the list of object files.
The HTML version of the documentation contains most of what is in the printed
manual, except the parts with lots of mathematical formulas. This can be
browsed with any standard Web browser, starting with default.htm. It is also
used by the Evolver's "help" command.
- The manual file
can be downloaded by itself, if you wish.
1. Download evolver-2.70.tar.gz.
2. Unpack the Evolver archive.
3. In the
src subdirectory, edit Makefile to uncomment the lines for
4. Run "make".
5. Test by running "./evolver ../fe/cube.fe"
Detailed instructions: See the the
complete unix installation instructions.
Macintosh OSX version of the Surface Evolver
WARNING: The version posted should run on OS X version 10.4 and later.
I have had a report of funky graphics on 10.7.4, but I have not been
able to test that. I have tested it on 10.6.8 and 10.8 without problem.
This should unpack to a folder named Evolver270-OSX with contents:
- A README file with installation instructions.
- The executable file Evolver, which you can move to /usr/local/bin or some
place else on your PATH if you wish. This is a "fat" executable, which
means it can execute on both PowerPC and Intel machines.
- The manual, manual270.pdf,
in Adobe PDF format.
- A man page evolver.1, which you can move to /usr/share/man/man1 if you
- A fe subdirectory, with sample datafiles and scripts.
- A doc subdirectory, with an HTML version of the documentation. This
contains most of what is in the printed manual, except the parts with lots of
mathematical formulas. This can be browsed with any standard Web browser,
starting with default.htm. It is also used by the Evolver's "help" command.
The unpacked folder probably wound up on the Desktop; you may want to move it
somewhere else. I will assume you move it to /Users/yourname/Evolver. You should
create an environment variable EVOLVERPATH with paths to datafiles and the HTML
documentation files by putting the following line in your .tcshrc file:
setenv EVOLVERPATH "/Users/yourname/Evolver/fe:/Users/yourname/Evolver/doc"
so Evolver can find files.
NOTE: Evolver has to be started from a terminal window, since it uses a
command line interface.
If you want to compile Evolver yourself, get the
and uncomment the MAC OSX lines in the Makefile.
Ken Brakke's home