Back to top of Surface Evolver documentation.
Toggle commands
There are a large number of Surface Evolver features that can
be turned on or off with simple "toggle" commands. The
general syntax is "togglename ON" or "togglename OFF", with
just "togglename" being a synonym for "togglename ON".
The toggle names below have brief descriptions
of their actions in the ON state. Toggles will usually print
their previous state. A togglename used in an arithmetic
expression is the current value of the toggle, 0 for OFF and
1 for ON. The current value of a toggle may be
found by "print togglename".
All toggles are reset when a surface is loaded. Default values
are OFF unless otherwise noted.
These full-word toggle commands are not to be confused with
various single-letter toggle commands, which always
change the state. All single-letter toggles have full word
toggle equivalents.
AMBIENT_PRESSURE
Toggles ideal gas mode
with ambient pressure outside bodies.
The external pressure can be set with the
pressure
phrase in the topwith the top of the datafile, or at runtime
with the command, e.g. p 10.
APPROXIMATE_CURVATURE
Evolver toggle command.
Use
polyhedral curvature
(linear interpolation over facets for metric) for
mean curvature vector. Actually establishes the inner product
for forms or vectors to be integration over facets of euclidean
inner products of linear
interpolation of values at vertices. Synonyms: APPROX_CURV,
APPROX_CURVATURE.
AREA_NORMALIZATION
Evolver toggle command.
Convert
force on vertex to mean curvature vector by dividing force by
area of star around vertex.
ASSUME_ORIENTED
Evolver toggle command.
Tells squared mean curvature routines that they can assume the surface
is locally consistently oriented. Significant only for extreme shapes.
AUGMENTED_HESSIAN
Evolver toggle command.
Solves constrained Hessians by putting the body and quantity
constraint gradients in
an augmented matrix with the Hessian, and using sparse matrix techniques
to factor. Vastly speeds things up when there are thousands of
sparse constraints, as in a foam. Now the default.
AUTOCHOP
Evolver toggle command.
Do autochopping of long edges each iteration.
Use "AUTOCHOP := expr" to set autochop length.
Each iteration, any edge that is
projected to become longer than the cutoff is
bisected. If any bisections are done, the
motion calculation is redone.
AUTODISPLAY
Evolver toggle command.
Toggles automatic redrawing of graphics whenever the surface changes.
Default ON.
Same function as the 'D' command.
AUTOPOP
Evolver toggle command.
Toggles automatic deletion of short edges and
popping of improper vertices each iteration.
Before each iteration, any edge projected to
shorten to under the critical length is deleted
by identifying its endpoints. The critical length
is calculated as L = sqrt(2*dt), where
dt is the time step or
scale factor.
Hence this should be used only with a fixed
scale, not optimizing scale factor. The critical
length is chosen so that instabilities do not
arise in motion by mean curvature. If any edges
are deleted, then vertices are examined for
improper vertices as in the 'o'
command.
Useful in string
model. Not fully implemented in soapfilm model yet,
since it doesn't check facet areas.
AUTORECALC
Evolver toggle command.
Toggles automatic recalculation of the surface whenever adjustable
parameters or energy quantity moduli are changed. Default is OFF.
BACKCULL
Evolver toggle command.
Prevents display of facets with normal away from viewer. May have
different effects in different graphics displays. For example,
to see the inside back of a body only, "set frontcolor clear" alone works in
2D displays, but needs backcull also for direct 3D.
BEZIER_BASIS
Evolver toggle command.
When Evolver is using the
Lagrange model
for geometric elements, this
toggle replaces the Lagrange interpolation polynomials (which pass through
the control points) with Bezier basis polynomials (which do not pass
through interior control points, but have positive values, which guarantees
the edge or facet is within the convex hull of the control points).
This is experimental at the moment, and not all features such as
graphing or refinement have been suitably adjusted.
BLAS_FLAG
Evolver toggle command.
Toggles using BLAS versions of some matrix routines, if the Evolver program
has been compiled with the -DBLAS option and linked with some BLAS library.
For developer use only at the moment.
BOUNDARY_CURVATURE
Evolver toggle command.
When doing integrals of mean curvature or squared curvature,
the curvature of a boundary vertex cannot be defined by its
neighbor vertices, so the area of the boundary vertex star
instead is counted with an adjacent interior vertex.
BREAK_AFTER_WARNING
Causes Evolver to cease execution of commands and return to command
prompt after any warning message. Same effect as
option -y.
BUNCH_KAUFMAN
BUNCH_KAUFMAN
Evolver toggle command.
Toggles Bunch-Kaufman factoring of the
Hessian in the alternative minimal degree
factoring method (ysmp off).
This factors the Hessian as LBL^T
where L is lower triangular with ones on the diagonal, and B is
block diagonal, with 1x1 or 2x2 blocks. Supposed to be more stable
when factoring indefinite Hessians.
CHECK_INCREASE
Evolver toggle command.
Toggles checking for increase of energy in an
iteration step.
If energy increases, then
the step is undone and any iteration loop is halted.
Meant for early
detection of instabilities and other problems
causing the surface to misbehave. Useful in
doing a multiple iteration with a fixed scale.
Also applies to the hessian
command.
Caution: there are circumstances where an energy
increase is appropriate, for example when there
are volume or quantity constraints and conforming
to the constraints means an energy increase
initially.
CIRCULAR_ARC_DRAW
If on, then in quadratic string mode, an edge is drawn as a circular arc
(actually 16 subsegments) through the endpoints and midpoint, instead of a
quadratic spline.
CLIPPED
Evolver toggle command.
Sets torus model display to
clip to the fundamental region.
Not an on-off toggle. 3-way toggle with
raw_cells and
connected. Synonym: clipped_cells.
COLORMAP
Evolver toggle command.
Use colormap from file in certain graphics output.
See the P command.
Use COLORFILE := "filename" to set file.
CONF_EDGE
Evolver toggle command.
Calculation of squared curvature by fitting sphere to edge and adjacent
vertices (conformal curvature).
CONJ_GRAD
Evolver toggle command.
Use conjugate gradient method
in g command. See also
U command and RIBIERE.
CONNECTED
Evolver toggle command.
Sets torus model
display to do each body as a connected, wrapped
surface.
Not an on-off toggle. 3-way toggle with
clipped and
raw_cells. Synonym: connected_cells.
CONVERT_TO_QUANTITIES
Evolver toggle command.
This 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 sometime in the near future,
if it can be made sufficiently fast and reliable.
CROSSINGFLAG
Evolver toggle command.
When on and the string model
is in effect, the postscript
command will show background edges with a break where foreground edges
pass in front.
DEBUG
Evolver toggle command.
Print YACC debug trace of parsing of commands.
DETURCK
Evolver toggle command.
Motion by unit velocity along normal, instead of by curvature vector.
DIFFUSION
Evolver toggle command.
Activates diffusion step each
g command.
DIRICHLET_MODE
When the facet_area method is being used to calculate areas in hessian
commands, this toggles using an approximate facet_area hessian that
is positive definite. This permits hessian iteration to make big steps
in a far-from-minimal surface without fear of blowing up. However, since
it is only an approximate hessian, final convergence to the minimum
can be slow.
Linear model only. Does
convert_to_quantities implicitly.
Another variant of this is triggered by
sobolev_mode.
EFFECTIVE_AREA
Evolver toggle command.
In area normalization,
the resistance factor to motion is taken to
be only the projection of the vertex star area perpendicular to the
motion. If squared mean curvature is being calculated, this projected
area is used in calculating the curvature.
ESTIMATE
Evolver toggle command.
Activates estimation of energy decrease in each gradient descent step
(g command). For each "g" iteration, it
prints the estimated and actual change in energy. The estimate
is computed by the inner product of
energy gradient with actual motion. Useful
only for a fixed scale factor much less than optimizing, so linear
approximation is good. The internal variable estimated_change records
the estimated value.
FACET_COLORS
Evolver toggle command.
Enables coloring of facets in certain graphics interfaces (e.g. xgraph).
If off, facet color is white. Default on.
GRAVITY
Evolver toggle command.
Includes the gravitational energy
of bodies with density in total energy. The gravitational constant
can be set in the top of the datafile with "gravity_constant = value",
or with the runtime command "G value".
GRIDFLAG
Evolver toggle command.
If toggled on, the postscript
command will show all edges of displayed facets,
instead of just those satisfying the
current edge show condition.
GV_BINARY
Evolver toggle command.
Toggles sending data to geomview in binary format, which
is faster than ascii. Default is binary on SGI, ascii on other systems,
since there have been problems with binary format on some systems.
Ascii is also useful for debugging.
HESSIAN_DIFF
Evolver toggle command.
Toggles computing the hessian matrix by finite differences.
Used only for debugging, since it is very slow.
HESSIAN_DOUBLE_NORMAL
Evolver toggle command.
When hessian_normal is also on,
and the space dimension is even, then the normal vector components
in the last half of the dimensions are copies of the components in
the first half. Sounds weird, huh? But it is useful in calculating
the stability of cylindrically symmetric surfaces using a string
model in 4D.
HESSIAN_NORMAL
Evolver toggle command.
Constrains Hessian
to move each vertex perpendicular
to the surface. This eliminates all the fiddly sideways movement
of vertices that makes convergence difficult. Perpendicular is
usually defined as the volume gradient, but at triple (and higher)
junction lines it is a subspace perpendicular to the line, and singular
points where several triple lines meet have full degrees of freedom.
See hessian_normal_one to alter this
behavior.
HESSIAN_NORMAL_ONE
Evolver toggle command.
If this and hessian_normal are on,
then the normal at any point will be one dimensional. This is meant
for soap films with Plateau borders, where there are triple junctions
with tangent films. Ordinary hessian_normal permits lateral
movement of such triple junctions, but hessian_normal_one
does not. Valid only for string model
in 2D and soapfilm model in 3D.
The normal vector is computed as the eigenvector of the largest
eigenvalue of the sum of the normal projection matrices of all edges
or facets adjoining a vertex.
HESSIAN_NORMAL_PERP
Evolver toggle command.
If this is on, then the Hessian linear_metric
uses only the component of the normal perpendicular to the facet or edge.
This raises eigenvalues slightly.
HESSIAN_QUIET
Evolver toggle command.
Toggles suppression of printing of information during hessian calculations. Default is on.
HESSIAN_SPECIAL_NORMAL
Evolver toggle command.
When hessian_normal is on, this toggles
using a special vectorfield for the direction of the perturbation, rather
than the usual surface normal. The vectorfield is specified in the
hessian_special_normal_vector section of the datafile header.
HOMOTHETY
Evolver toggle command.
Adjust total volume of all bodies to fixed value after each
iteration
by uniformly scaling entire surface.
INTERP_BDRY_PARAM
Evolver toggle command.
For edges on
parametric boundaries, calculate the parameter values of
new vertices (introduced by refining) by interpolating parameter
values, rather than extrapolating from one endpoint. Useful only
when parameters are not periodic.
INTERP_NORMALS
Evolver toggle command.
Display using interpolated vertex normals for shading for those graphics
interfaces that support it.
ITDEBUG
Evolver toggle command.
Prints some debugging information during a 'g' step. For gurus only.
JIGGLE
Evolver toggle command.
Toggles jiggling on every iteration.
KRAYNIKPOPEDGE
Toggles edge-popping mode (O
or pop commands) in which poppable edges
look for adjacent facets of different edge_pop_attribute values to
split off from the original edge; failing that it reverts to the regular
mode of popping the edge. This is meant to give the user greater
control on how edge popping is done. It is up to the user to declare
the edge_pop_attribute integer facet attribute and assign values.
KRAYNIKPOPVERTEX
Toggles 3D vertex popping mode in which a poppable vertex is examined
to see if it is a special configuration of six edges and 9 facets. If it
is, a special pop is done that is much nicer than the default pop.
KUSNER
Evolver toggle command.
Calculation of squared curvature by edge formula rather than vertex formula.
LABELFLAG
Evolver toggle command.
When on, the postscript
command will print element labels in the
postscript file.
LINEAR_METRIC
Evolver toggle command.
Eigenvalues and eigenvectors of the
Hessian are defined with respect to
a metric.
This command toggles a metric that imitates the smooth
surface natural metric of L_2 integration on the surface. Use
with hessian_normal to get eigenvalues and eigenvectors
similar to those on smooth surfaces.
MEMDEBUG
Evolver toggle command.
When ON, the 'c' command prints
full memory usage statistics on some systems.
Also, each allocation or freeing of memory is printed. Causes heap checking
to be done on some systems at each memory operation.
METIS_FACTOR
Evolver toggle command.
Computes and uses an ordering for Hessian factoring using the
METIS
library of Karypis and Kumar, if this library has been compiled into
the Evolver.
METRIC_CONVERT
Evolver toggle command.
If a Riemannian metric
is defined, whether to use the metric
to do gradient form to vector conversions.
Synonym: metric_conversion.
NORMAL_CURVATURE
Evolver toggle command.
Calculation of squared curvature by taking area of vertex to be
the component of the volume gradient parallel to the mean curvature
vector.
NORMAL_MOTION
Evolver toggle command.
Projects motion to surface normal, defined as the volume gradient.
May be useful with squared curvature if vertices tend to slither
sideways into ugly patterns.
OLD_AREA
Evolver toggle command.
In the string model with area normalization, at a triple vertex
Evolver normally tries to calculate the motion so that Von Neumann's
Law will be obeyed, that is, the rate of area change is proportional
to the number of sides of a cell. If old_area is ON, then motion is
calculated simply by dividing force by star area.
PINNING
Evolver toggle command.
Check for vertices that can't move because adjacent
vertices are not on same constraint when they could be.
Obscure.
PSCOLORFLAG
Evolver toggle command.
When on, the postscript
command will do color.
QUANTITIES_ONLY
Evolver toggle command.
Inactivates all energies except named quantities. Meant for
programmer's debugging use.
QUIET
Evolver toggle command.
Suppresses all normal output messages automatically generated by commands.
Good while running scripts, or for loading datafiles with long read
sections.
Explicit output from print, printf, and list commands will still appear, as
will prompts for user input.
Applies to redirected output as well as console output.
An error or user interrupting a command (i.e. with CTRL-C) will turn QUIET off,
for sanity.
QUIETGO
Evolver toggle command.
Suppresses only g iteration step output.
POST_PROJECT
Evolver toggle command.
Introduces extra projections to volume and fixed quantity constraints
each g
iteration. If convergence fails after 10 iterations,
you will get a warning message, repeated iterations will stop, and the
internal variable iteration_counter
will be negative.
RAW_CELLS
Evolver toggle command.
Sets torus model
display for plain, unwrapped facets.
Not an on-off toggle; 3-way toggle with
clippedand
connected.
RGB_COLORS
Evolver toggle command.
Toggles graphics to use user-specified red-green-blue components of
color for elements rather than the color
attribute indexing the pre-defined 16 color palette. The individual
element rgb values are in element extra attributes: ergb for edges,
frgb for facets, and fbrgb for facet backcolor. It is up to the user
to define these attributes; if they are not defined, then they are not
used and do not take up space. If frgb is defined but not fbrgb, then
frgb is used for both front and back color. The attributes are real
of dimension 3 or 4; if 4 dimensional, the fourth component is passed
to the graphics system as the alpha value, but probably won't have
any effect. The value range is 0 to 1.
Be sure to initialize the rgb attributes, or else you
will get an all-black surface. The attribute definitions to use are:
define edge attribute ergb real[3]
define facet attribute frgb real[3]
define facet attribute fbrgb real[3]
RIBIERE
Evolver toggle command.
Makes the conjugate gradient method
use the Polak-Ribiere version
instead of Fletcher-Reeves. (The toggle doesn't turn on conjugate gradient.)
Polak-Ribiere seems to recover much better from stalling.
Ribiere is the default mode.
RUNGE_KUTTA
Evolver toggle command.
Use Runge-Kutta method in a g iteration step
(fixed scale factor only).
SELF_SIMILAR
Evolver toggle command.
If squared mean curvature energy is being used, this scales the
velocity toward a self-similar motion.
SHADING
Evolver toggle command.
Toggles facet shading in certain graphics interfaces
(xgraph, psgraph). Darkness of facet depends on angle of
normal from vertical, simulating a light source above surface.
Default is ON.
SHOW_ALL_QUANTITIES
Evolver toggle command.
By default, only explicitly user-defined
named quantities are
shown by the A or
v commands. If show_all_quantities
is on, then all internal quantities created by option
-q or by doing
convert_to_quantities
are also shown.
SHOW_INNER
Evolver toggle command.
Display interior facets, those on 2 bodies.
SHOW_OUTER
Evolver toggle command.
Display outer facets, those on 0 or 1 body.
SOBOLEV_MODE
Evolver toggle command.
When the facet_area method is being used to calculate areas in hessian
commands, this toggles using an approximate facet_area hessian that
is positive definite. This permits hessian iteration to make big steps
in a far-from-minimal surface without fear of blowing up. However, since
it is only an approximate hessian, final convergence to the minimum
can be slow.
Linear model only. Does
convert_to_quantities implicitly.
Another variant of this is triggered by
dirichlet_mode.
SPARSE_CONSTRAINTS
Evolver toggle command.
Toggles using sparse matrix techniques to accumulate and handle
body and quantity gradients in iteration and hessian commands.
Now the default.
SQUARED_GRADIENT
Evolver toggle command.
In hessian_seek,
use minimizing the square of the gradient of the energy as
the objective rather than minimizing the energy.
THICKEN
Evolver toggle command.
Whether to display differently colored sides of a facet separated
by thickness. Default on.
This helps prevent weird striping due to limited resolution of
depth buffers.
TORUS_FILLED
Evolver toggle command.
Whether Evolver should treat one fixed volume as not fixed,
for the purpose of avoiding redundant constraints in the
case of a torus space being completely filled with bodies
of fixed volume, for example a periodic foam.
TRANSFORMS
Evolver toggle command.
Toggles graphing multiple images of the surface, according to
the view transforms defined
in the datafile, or according to the current
transform expression
applied to the view transform
generators defined in the datafile.
VIEW_4D
Evolver toggle command.
Toggles sending 4D information to geomview.
VERBOSE
Evolver toggle command.
Toggles printing of progress messages during surface modification
commands such as refine, delete, notch, edgeswap, o, O.
VISIBILITY_TEST
Evolver toggle command.
Toggles an occluded-triangle test for graphics output that uses the
Painter's Algorithm to produce 2D output (PostScript, Xwindows). This
can greatly reduce the size of a PostScript file, but inspect the output
since the implementation of the algorithm may have flaws.
VOLGRADS_EVERY
Evolver toggle command.
Toggles recalculating volume constraint gradients every projection
step during constraint enforcement. Good for stiff problems.
YSMP
Evolver toggle command.
Toggles between Yale Sparse Matrix Package routines for factoring hessians,
and my own minimal degree factoring. Default is YSMP.
ZENER_DRAG
Evolver toggle command.
Toggles Zener drag feature, in which the velocity of the surface is
reduced by a magnitude given by the variable zener_coeff, and the
velocity is set to zero if it is smaller than zener_coeff.
Back to top of Surface Evolver documentation.