Surface Evolver Newsletter no. 11
Back to top of Surface Evolver documentation.
Surface Evolver Newsletter Number 11
March 15, 1995
Editor: Ken Brakke, brakke@geom.umn.edu
Contents
Postdoc position wanted.
Version 1.98 ready.
New features.
Postdoc/teaching position wanted
Anmin Zhu expects his PhD in August 1995 from Arizona State
University. His thesis under Hans Mittelmann is concerned
with the computation of capillary and minimal surfaces.
His interests are in the numerical solution of ODE's, PDE's,
and applications of Differential Geometry. He has extensive
EVOLVER experience, a broad background in Math and Computer
Science, and is a successful teacher of Algebra and Calculus
including Reform Calculus.
contact: Hans Mittelmann (mittelmann@math.la.asu.edu, (602)965-6595)
Anmin Zhu (azhu@asu.edu, (602)965-0406)
Version 1.98 ready.
The new version is available by anonymous ftp from geom.umn.edu
in the directory /pub/software/evolver. The Mac and DOS versions
have also been updated. The Mac version is now in Evolver.sea.Bin,
which is a self-extracting archive treated with BinHex 5.0. No
PowerMac version yet, but soon I hope. There is a PostScript version
of the new manual in /pub/documents/preprints/GCG71/manual.198.ps.
New features:
A little advanced calculus tutorial has been added to the manual
at end of the Tutorial chapter.
Geomview picking: If you right-click the mouse in the geomview
window, Evolver will print the id numbers of the vertex, edge,
or facet you click on. These id numbers are saved in the
variables pickvnum, pickenum, pickfnum.
Hessian stuff:
A section on Eigenvalues and Eigenvectors has been added to
the Model chapter of the manaul as a brief guide to using
some of the relevant commands for analyzing the Hessian.
The command Hessian_normal permits vertices to move only
perpendicular to the surface. Much easier to converge if you
don't let the vertices slither sideways.
The command "eigenprobe x" will report the number of eigenvalues
less than, equal to, or greater than the value x. The numbers
are recorded in the variables eigenneg, eigenzero, and eigenpos.
"Lanczos x" prints 15 approximate eigenvalues nearest x.
"Lanczos(x,n)" will print n approximate eigenvalues nearest x.
Multiplicities are unreliable, though.
"Ritz(x,n)" does a shifted inverse iteration on an n-dimensional
random subspace. Slower than Lanczos, but much more accurate in
values and multiplicities. Hit CTRL-C when you get impatient
for it to converge, and it will print current approximations.
To get eigenvalues and eigenvectors that can be compared to those
for smooth surfaces defined using the L_2 norm, a linear_metric
command has been added. The metric used is a convex combination
of weighting vertices with the adjacent area, and the L_2 norm
applied to linear interpolation over the facets. The variable
linear_metric_mix gives the proportion of the latter. Default
value of 0.5 seems to give the most accurate eigenvalues for
a couple of test cases. Use only with hessian_normal!!!
You can actually see the eigenvectors if use use hessian_menu.
Use menu choices 1, V, and 4. See manual for more details.
If your files involve energies or constraints that don't have
Hessians implemented, run Evolver with the -q option. That
converts everything it can to named quantities internally, and
they have a lot more Hessians implemented. Actually, -q is going
to become the default before long, but all the current datafile
syntax will still be recognized.
End of Hessian stuff.
BREAK and CONTINUE have been added to the command language for
breaking out of loops. Also BREAK n and CONTINUE n for n levels.
'P' command takes menu option number, i.e. 'P 8' for quick geomview.
Also have 'geomview' command for same.
-q option
Added 'random_seed' internal read-write variable, for seeding
random number generator. Reseeded to 1 at start of datafile.
Added 12-pt degree 6 and 28-pt degree 11 integration rules for facets.
Degree 6 is now default for quadratic area, since previous degree 5
always got itself fouled up (for me, anyway).
Degree of numerical integration for edges and facets is now separately
controllable by the variables integral_order_1d and integral_order_2d,
which are the degrees of polynomials exactly integrated. But old
integral_order syntax remains for compatibility, though obsolete.
DOS and Mac versions that can't pipe to processes, but rather
write directly to files, now recognize "+" at the start of the
file as meaning append.
The gravity_method named quantity now takes into account the
densities of the adjacent bodies, whereas in earlier versions
it just calculated for density 1, and the user had to account
for density in the modulus.
Added "target" attribute for body volumes, set and get. I.e.
set body[1].target 3
Added maximum(x,y) and minimum(x,y) to arithmetic. These have two
values for arguments, in contrast to the min() and max() functions
which take iterators.
Added "set element orientation -1 where ... " command to negate oriented
integrals on edges and facets. Useful when hacking up the surface
and sticking edges on constraints when they point the wrong way.
There are density_ versions of length and area named quantities that
multiply by density.
Streamlined asking for torus display mode.
End Newsletter 11.
Back to top of Surface Evolver documentation.