Surface Evolver Documentation

Back to top of Surface Evolver documentation.       Index.

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".

Almost all toggles are reset when a surface is loaded. Default values are OFF unless otherwise noted. A few toggles are initialized to an "unset" state, which prints as -1. These will generally prompt for a value when needed.

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 ideal gas mode with ambient pressure outside bodies. The external pressure can be set with the pressure phrase in the top of the datafile, or at runtime with the p command, e.g. p 10.


Evolver toggle command. Uses 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.


Evolver toggle command. Convert the force on vertex to a mean curvature velocity vector by dividing the force by the area associated to the vertex, which is one-third of the area of its adjacent vertices. The string model divides by one-half of the sum of the lengths of adjacent edges. Useful in doing grain growth simulations.


Evolver toggle command. Tells squared mean curvature routines that they can assume the surface is locally consistently oriented. Significant only for extreme shapes.


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. The default state is unset (prints as a value of -1), in which case augmentation is used for 50 or more constraints, but not for less.


Evolver toggle command. Evolver toggle command. Do automatic refining of long edges each iteration. Use "autochop_length := expr" to set autochop length. Each iteration, any edge that projected to become longer than the cutoff is bisected. If any bisections are done, the motion calculation is redone. The autochop length may be accessed by the read/write internal variable autochop_length; but note that simply assigning a value to autochop_length does not toggle autochop on.


Evolver toggle command. Toggles automatic redrawing of graphics whenever the surface changes. Default ON. Same function as the 'D' command.


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.

Autopop is also implemented for small facets as of Evolver version 2.30. The critical area is calculated as sqrt(2*dt)*perimeter/2, where perimeter is the sum of the lengths of the three sides of the facet.

See also the immediate_autopop and autopop_quartic toggles.


Toggle. Modifies the autopop mode. The critical length for edges is set to 2*sqrt(sqrt(dt)) and the critical area for facets is 2*sqrt(sqrt(dt))*perimeter/2; meant for quantities such as laplacian_mean_curvature where velocity is proportional to fourth derivative of surface.


Evolver toggle command. Toggles automatic recalculation of the surface whenever adjustable parameters or energy quantity moduli are changed. Default is OFF.


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.


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.


Evolver toggle command. Controls the order of bytes in binary_printf numerical output. Big-endian is most significant byte first. To change to little-endian, use little_endian, not "little_endian off".


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.


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.


Causes Evolver to cease execution of commands and return to command prompt after any warning message. The break does not happen until the executing command or subcommand completes; use break_on_warning for an instantanous break. Same effect as option -y.


Runtime toggle command. Causes Evolver to cease execution of commands and return to command prompt immediately after any warning message. Does not delay until completion of current command as break_after_warning does.


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.


Evolver toggle command. The squared mean curvature named methods star_sq_mean_curvature, star_eff_area_sq_mean_curvature, star_normal_mean_curvature, and star_perp_sq_mean_curvature work in any dimension space, but if for some reason the space has an ambient dimension greater than 3, and you want to restrict the calculation of curvature to the first three coordinates, the toggle "calculate_in_3d" will do that.


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.


Evolver toggle command. 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.


Evolver toggle command. Toggles use of clipping planes in graphics display.


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. The origin (lower left back corner) of the clip parallelogram can be set by setting entries in the display_origin vector. Default is unset, so it prompts the user when graphics are first displayed. The setting persists when loading a new surface. But loading a torus model when a non-torus model is currently displayed will not prompt.


Evolver toggle command. Use colormap from file in certain graphics output. See the P command. Use COLORFILE := "filename" to set file.


Evolver toggle command. Calculation of squared curvature by fitting sphere to edge and adjacent vertices (conformal curvature).


Evolver toggle command. Use conjugate gradient method in g command. See also U command and RIBIERE.


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. Since slight motions during evolution can cause the wrap to change suddenly, there is a body boolean attribute "centerofmass" that causes the center of mass of a body to be remembered, and the next time a body is plotted, the wrap is adjusted so the center of mass is close to the previous center of mass. Default is ON.


Evolver toggle command. Controls whether the detorus command will identify coincident vertices, edges, and facets. The tolerance for identifying vertices is given by the variable detorus_epsilon.


Evolver toggle command. Motion by unit velocity along normal, instead of by curvature vector.


Evolver toggle command. Activates diffusion step each g 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 sobolev_mode.


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.


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.


Evolver toggle command. Enables coloring of facets in certain graphics interfaces (e.g. xgraph). If off, facet color is white. Default on.


Evolver toggle command. In the soapfilm model, overrides the refusal of the delete command to delete edges or facets when that would create two edges with the same endpoints. Sometimes it is necessary to have such edges, for example in pinching off necks. But usually it is a bad idea. Also see star_finagling. Default is off.


Evolver toggle command. Toggle. Makes the "u" or "equiangulate" or "edgeswap" commands skip certain tests and do the swap anyway. The skipped tests are: (1) the two vertices of the flipped edge are distinct, (2) creating two facets with the same vertices. Meant only for rare cases when you really know what you are doing. You should not leave this toggle in the ON state; turn it OFF after you have done the recalcitrant edge swap.


Evolver toggle command. Causes bounding box in PostScript output to be the full window, rather than the actual extent of the surface within the window. Default off.


Evolver toggle command. For named quantities defined as functions of named methods, this toggles the use of sparse matrices in calculating hessians.


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".


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.


Evolver toggle command. Toggles computing the hessian matrix by finite differences. Used only for debugging, since it is very slow.


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.


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.


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.


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.


Evolver toggle command. Toggles suppression of printing of information during hessian calculations. Default is on.


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. Beware that hessian_special_normal also applies to the normal calculated by the vertex_normal attribute and the normal used by regular vertex averaging.


Evolver toggle command. Adjust total volume of all bodies to fixed value after each iteration by uniformly scaling entire surface.


Evolver toggle command. Modifies the autopop mode. Causes deletion of a short edge or small facet immediately upon detection, before proceeding with further detection of small edges or facets. Original behavior was to do all detection before any elimination, which could cause bad results if a lot of edges got short simultaneously. Default off for backward compatibility, but you should probably turn it on.


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.


Evolver toggle command. Display using interpolated vertex normals for shading for those graphics interfaces that support it.


Evolver toggle command. Prints some debugging information during a 'g' step. For gurus only.


Evolver toggle command. Toggles jiggling on every iteration.


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.


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.


Evolver toggle command. When on, the 'K' command uses the altitude from a vertex rather than the median to subdivide a skinny triangle.


Evolver toggle command. Calculation of squared curvature by edge formula rather than vertex formula.


Evolver toggle command. When on, the postscript command will print element labels in the postscript file. Synonym for ps_labelflag.


Evolver toggle command. Controls the order of bytes in binary_printf numerical output. Little-endian is least significant byte first. To change to big-endian, use big_endian, not "little_endian off".


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.


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.


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.


Evolver toggle command. If a Riemannian metric is defined, whether to use the metric to do gradient form to vector conversions. Synonym: metric_conversion.


This is a per-edge or per-facet toggle, or boolean attribute. When set, it prevents the value of a variable from being written out by the "dump" or "d" commands. Useful with the "replace_load" and "add_load" commands when reloading dumps of the current file and you want to preserve variable values that would otherwise be overwritten by loading the dump file, which has variables declared in the top of the datafile by default. "no_dump" variables are instead written in the "read" section of the dump file, so the dump file will load as a stand-alone file Works on global variables and arrays. Syntax (run-time commands; not in top of datafile):
   variable.no_dump on
   variable.no_dump off
The no_dump declaration must come after the variable exists. Example:
   frame := 1;
   dump "temp.dmp";
   frame := 2;
replace_load "temp.dmp"


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. This applies to the sqcurve vertex attribute and the old-style specification of squared mean curvature in the top of the datafile by the keyword squared_curvature.


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.


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.


Evolver toggle command. Check for vertices that can't move because adjacent vertices are not on same constraint when they could be. Obscure.


Evolver toggle command. Changes the behavior of popping edges and vertices to act like merging Plateau borders, i.e. produce disjoined films instead of films joined with cross-facets. In the edge case, if four facets meet along an edge and two opposite bodies are the same body, then popping the edge will join the bodies if pop_disjoin is in effect. In the vertex case, if the vertex has one body as an annulus around it, then the vertex will be separated into two vertices so the annulus becomes a continuous disk. This is all done regardless of the angles at which facets meet. Applies to pop, o, and O commands.


Evolver toggle command. Changes the behavior of popping vertices in the soapfilm model so that when two distinct cones are detected meeting at a common vertex, the popping result is a widening of the cone vertex into a neck rather than a disjoining of the cones. meet. Applies to pop and o commands.


Evolver toggle command. The non-minimal cone over a triangular prism frame can pop in two ways. If this toggle is on, then popping to an edge rather that a facet will be done. Default off.


Evolver toggle command. The non-minimal cone over a triangular prism frame can pop in two ways. If this toggle is on, then popping to a facet rather that an edge will be done. Default off.


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. "crossingflag" is an old name for "ps_crossingflag".


Evolver toggle command. Print YACC debug trace of parsing of commands. You really don't want to do this; it is for my private use in development.


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. "gridflag" is an old name for "ps_gridflag".


Evolver toggle command. When on, the postscript command will print element labels in the postscript file. Synonym for labelflag.


Evolver toggle command. When on, the postscript command will do CMYK color instead of RGB in the file it creates. Default is OFF.


Evolver toggle command. When on, the postscript command will do color.


Evolver toggle command. Inactivates all energies except named quantities. Meant for programmer's debugging use.


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.


Evolver toggle command. Suppresses only g iteration step output.


Evolver toggle command. Suppresses echoing of files being read in. This applies to the read section at the end of the datafile and any files read in with the read command. This toggle does not get reset at the start of a new datafile. This toggle can be set with the -Q command line option, to suppress echoing in the first datafile loaded. Default is OFF.


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.


Evolver toggle command. Sets torus model display for plain, unwrapped facets. Not an on-off toggle; 3-way toggle with clipped and connected.


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]


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.


Evolver toggle command. When ON, this makes the lights rotate with the object in the graphics display. Default OFF.


Evolver toggle command. Use Runge-Kutta method in a g iteration step (fixed scale factor only).


Evolver toggle command. If squared mean curvature energy is being used, this scales the velocity toward a self-similar motion. Applies only when the old top-of-datafile "squared_curvature" declaration is used, or the sqcurve named method. The global read-write variable self_sim_coeff is used as a multiplier.


Evolver toggle command. For the "pop" command, this toggle will force the insertion of a dividing surface when the pop would otherwise leave an open passage between two sides.


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.


Evolver toggle command. Controls the showing of all edges in the graphics window, regardless of the current "show edges ..." condition. Same as the 'e' key in the graphics window.


Evolver toggle command. By default, only explicitly user-defined named quantities are shown by the Q 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.


Evolver toggle command. Controls showing the bounding box in graphics. Corresponds to the "o" key in the graphics window and the "b" command at the graphics prompt. Its advantage is that it lets a script set the bounding box state to a definite value.


Evolver toggle command. Display interior facets, those on 2 bodies.


Evolver toggle command. Display outer facets, those on 0 or 1 body.


Toggles use of slice view in graphics display.


Evolver toggle command. In string quadratic and Lagrange model, causes edges to be plotted with many subdivisions for smooth look. In soapfilm Lagrange model, causes edges and facets to be plotted with 8-fold subdivision rather than Lagrange order subdivision. Is not implemented in quadratic soapfilm model. Default off.


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.


Evolver toggle command. Toggles using sparse matrix techniques to accumulate and handle body and quantity gradients in iteration and hessian commands. Now the default.


Evolver toggle command. In hessian_seek, use minimizing the square of the gradient of the energy as the objective rather than minimizing the energy.


Evolver toggle command. In the soapfilm model, the delete command for edges or facets normally will not do the deletion if it would result in the creation of two edges with the same endpoints. Some simple configurations that cause this are detected and handled automatically, namely a "star" configuration in which there are three facets forming a triangle adjacent to the edge being deleted. Such a star is automatically removed by deleting one of its internal edges before deleting the original edge. But sometimes there are more complicated configurations that such unstarring won't handle, and then Evolver will not delete the edge unless the force_deletion toggle is on. An alternative is to first refine the edges that would have the common endpoints, and this is what the star_finagling toggle enables. Default off.


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.


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.


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.


Evolver toggle command. Toggles sending 4D information to geomview.


Evolver toggle command. When view transforms are generated with transform_expr, Evolver weeds out duplicate transforms. By default, "duplicate" means the same transform matrix, but there are circumstances where different transform matrices carry the surface to the same spot. This toggle enables a mode whereby two transform matrices are deemed identical if they transform the point given by the vector view_transforms_unique_point[] to the same image point. The standard use is to make view_transforms_unique_point[] a vertex on the surface being transformed, for example
   view_transforms_unique_point := vertex[5].__x;
   view_transforms_use_unique_point on;
   transform_expr "abababa";
The vector view_transforms_unique_point[] is pre-defined, so the use does not need to define it.


Evolver toggle command. Toggles printing of progress messages during surface modification commands such as refine, delete, notch, edgeswap, o, O.


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.


Evolver toggle command. Toggles recalculating volume constraint gradients every projection step during constraint enforcement. Good for stiff problems.


Evolver toggle command. Toggles between Yale Sparse Matrix Package routines for factoring hessians, and my own minimal degree factoring. Default is YSMP off.


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.       Index.
Susquehanna University assumes no responsibility for the content of this personal website. Please read the disclaimer.