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.


Toggles


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.

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.

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.

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.

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 COLORMAP := "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.

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). Computes inner product of energy gradient with actual motion. Useful only for a fixed scale factor much less than optimizing, so linear approximation is good.

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. Toggles a private Hessian normal mode.

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.

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. Good while running scripts. nterrupting a command 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.

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.

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.

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.