Surface Evolver Newsletter no. 12
Back to top of Surface Evolver documentation.
Surface Evolver Newsletter Number 12
July 19, 1995
Editor: Ken Brakke, brakke@geom.umn.edu
Contents
Version 1.99 ready
New features
Version 1.99 ready.
Surface Evolver version 1.99 is now available from geom.umn.edu
in /pub/software/evolver/evolver.tar.Z. There are also new DOS and
Mac versions. The DOS version is in evolver.zip.
The Mac version is in Evolver.sea.Hqx. This was compiled for
use with a math coprocessor and will not run on a Power Mac.
There is a non-coprocessor version in Evolver.no68881.sea.Hqx
which will run on the Power Mac I have access to, although it has
been reported to crash others. Any ambitious volunteers to figure
this out will be welcomed.
For those of you into Hessians and eigenvalues, there is a little
tutorial in eigentut.txt. This is a plain text file, about 10 pages.
New features.
Storage used by element structures has been cut down by only
allocating storage for features actually used.
The limit on the number of constraints has been raised to 128,
and can easily go much higher if somebody needs it.
Body "volume" technically should be a read-only value, the
actual computed volume. "target" should be used for setting
the volume constraint, as in "set body[1] target 2.34",
although "set body[1] volume 2.34" will still work, although
with a warning.
"volconst" has been added as a read-write body attribute.
This is a constant added to the calculated volume. Also
applies to named quantities.
The command "convert_to_quantities" will do an automatic
conversion of old-style energies to new-style named quantities.
This has the same effect as the -q command line option, but
can be done from the Evolver command prompt. Useful when
"hessian" complains about not being able to do a type of energy.
A few energies don't convert yet. It is my intention that
this will be the default in the near future, probably in
version 2.00.
"edgeswap" command will force an equiangulation-type switch
on designated edges, as in "edgeswap edge[23]" or
"edgeswap edge where color == red". "edgeswap edge" will
swap all edges, if you like to see weird surfaces.
A "variable_parameter" is a parameter whose value will be varied
during optimization. Just use "variable_parameter" instead of
"parameter" in the top of the datafile. Be aware that energy
derivatives with respect to variable parameters are done
numerically, not symbolically. Won't work with Hessian yet.
For the torus mode, torus translations have been automatically
added as view_transform_generators after any appearing in the
datafile. So multiple copies of the fundamental domain can
been seen with
transform_expr "abc"
Command P can now take a number after it, so "P 8" starts geomview
without having to bring up the "P" menu.
"saddle" and "hessian_seek" commands takes maximum stepsize,
e.g. "saddle 0.5".
"move" command will continue in direction of previous motion,
whether from gradient or hessian. Takes stepsize, e.g. "move 0.5".
Negative move is not a perfect undo.
Toggles print previous value along with new value.
Can now make saddle or hessian_seek minimize squared gradient
instead of energy. Use hessian_menu toggle G.
There is now a "bottominfo" command that prints out the bottom
part of a dumpfile. Useful for generating new datafiles from old.
You can redefine single-letter commands with " x :::= command".
Restore with "x :::= ". Redefs undone at start of surface.
Redef not retroactive to single letter commands used in
definition of commands. Letter redefed at execution, not parsing.
Redefed letter used in command will revert to standard meaning
when letter unredefed. Meant for analogous replacements,
like special r. "r :::= { hooke_length := hooke_length/2; r}"
will work right first time, but not second. Use single quotes
around letter to get old meaning, i.e. 'r'.
Should only use to disable commands.
hessian_menu has option Z to do subspace iteration for multiple
eigenvectors (same as "ritz" command), and you can pick
eigenvectors for motion with option X.
Read-only variable "last_eigenvalue" stores eigenvalue found
in saddle command, or first eigenvalue found by ritz.
Read-only variable "last_hessian_scale" stores stepsize used
by most recent saddle or hessian_seek command.
Compilation option -DSDIM=3 will hard-wire space dimension 3 into
the code, permitting more compiler optimization. But such
an Evolver cannot handle any other space dimension.
The eigenprobe command has an alternate form, eigenprobe(value,iters),
that will do shifted inverse power iteration to find the eigenvalue
nearest the given value. iters is the limit on the number of iterations.
The eigenvalue is stored in last_eigenvalue, and the eigenvector
can be used via the "move" command.
Back to top of Surface Evolver documentation.