File: toggle.htm

package info (click to toggle)
evolver 2.70%2Bds-4
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 17,148 kB
  • sloc: ansic: 127,395; makefile: 209; sh: 98
file content (1289 lines) | stat: -rw-r--r-- 54,239 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
<!DOCTYPE HTML>
<HEAD><TITLE>Surface Evolver Documentation: toggle commands </title>
<link rel="stylesheet" type="text/css" href="evdoc-style.css" />
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
</head>

<BODY>

<h1 class="center">
<a href="http://www.susqu.edu/brakke/evolver/evolver.htm" class="comic">
Surface Evolver</a> Documentation</h1>

<a href="evolver.htm#doc-top">Back to top of Surface Evolver documentation.</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="index.htm">Index.</a>


<hr><a   id="toggle-commands"> </a>
<a   id="on"></a>on<a id="off"></a>
<h2 class="keyword">Toggle commands</h2>

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".
<p>
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.
<p>
 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.
<hr>
<table border><caption><b>Toggles</b></caption>
<tr ><td style="vertical-align:text-top"><ul>
<li><a href="#ambient_pressure">ambient_pressure</a>
<li><a href="#approximate_curvature">approximate_curvature</a>
<li><a href="#area_normalization">area_normalization</a>
<li><a href="#assume_oriented">assume_oriented</a>
<li><a href="#augmented_hessian">augmented_hessian</a>
<li><a href="#autochop">autochop</a>
<li><a href="#autodisplay">autodisplay</a>
<li><a href="#autopop">autopop</a>
<li><a href="#autopop_quartic">autopop_quartic</a>
<li><a href="#autorecalc">autorecalc</a>
<li><a href="#backcull">backcull</a>
<li><a href="#bezier_basis">bezier_basis</a>
<li><a href="#big_endian">big_endian</a>
<li><a href="#blas_flag">blas_flag</a>
<li><a href="#boundary_curvature">boundary_curvature</a>
<li><a href="#break_after_warning">break_after_warning</a>
<li><a href="#break_on_warning">break_on_warning</a>
<li><a href="#bunch_kaufman">bunch-kauffman</a>
<li><a href="#calculate_in_3d">calculate_in_3d-kauffman</a>
<li><a href="#check_increase">check_increase</a>
<li><a href="#circular_arc_draw">circular_arc_draw</a>
<li><a href="#clip_view">clip_view</a>
<li><a href="#clipped">clipped</a>
<li><a href="#colormap">colormap</a>
<li><a href="#conf_edge">conf_edge</a>
<li><a href="#conj_grad">conj_grad</a>
<li><a href="#connected">connected</a>
<li><a href="#debug">debug</a>
<li><a href="#detorus_sticky">detorus_sticky</a>
<li><a href="#deturck">deturck</a>
<li><a href="#diffusion-toggle">diffusion</a>
<li><a href="#dirichlet_mode">dirichlet_mode</a>
<li><a href="#effective_area">effective_area</a>

</ul></td><td style="vertical-align:text-top"><ul>
<li><a href="#estimate">estimate</a>
<li><a href="#facet_colors">facet_colors</a>
<li><a href="#force_deletion">force_deletion</a>
<li><a href="#force_edgeswap">force_edgeswap</a>
<li><a href="#full_bounding_box">full_bounding_box</a>
<li><a href="#function_quantity_sparse">nction_quantity_sparse</a>
<li><a href="#gravity">gravity</a>
<li><a href="#gv_binary">gv_binary</a>
<li><a href="#hessian_diff">hessian_diff</a>
<li><a href="#hessian_normal">hessian_normal</a>
<li><a href="#hessian_normal_one">hessian_normal_one</a>
<li><a href="#hessian_normal_perp">hessian_normal_perp</a>
<li><a href="#hessian_quiet">hessian_quiet</a>
<li><a href="#hessian_special_normal">hessian_special_normal</a>
<li><a href="#homothety">homothety</a>
<li><a href="#immediate_autopop">immediate_autopop</a>
<li><a href="#interp_normals">interp_normals</a>
<li><a href="#interp_bdry_param">interp_bdry_param</a>
<li><a href="#itdebug">itdebug</a>
<li><a href="#jiggle">jiggle</a>
<li><a href="#k_altitude_mode">k_altitude_mode</a>
<li><a href="#kusner">kusner</a>
<li><a href="#linear_metric">linear_metric</a>
<li><a href="#little_endian">little_endian</a>
<li><a href="#memdebug">memdebug</a>
<li><a href="#metis_factor">metis_factor</a>
<li><a href="#metric_convert">metric_convert</a>
<li><a href="#no_dump">no_dump</a>
<li><a href="#normal_motion">normal_motion</a>
<li><a href="#old_area">old_area</a>
<li><a href="#quantities_only">quantities_only</a>
<li><a href="#quiet">quiet</a>
<li><a href="#quietgo">quietgo</a>
<li><a href="#quietload">quietload</a>
<li><a href="#pinning">pinning</a>
</ul></td><td style="vertical-align:text-top"><ul>
<li><a href="#pop_disjoin">pop_disjoin</a>
<li><a href="#pop_enjoin">pop_enjoin</a>
<li><a href="#post_project">post_project</a>
<li><a href="#ps_cmykflag">ps_cmykflag</a>
<li><a href="#ps_colorflag">ps_colorflag</a>
<li><a href="#ps_crossingflag">ps_crossingflag</a>
<li><a href="#ps_gridflag">ps_gridflag</a>
<li><a href="#ps_labelflag">ps_labelflag</a>
<li><a href="#raw_cells">raw_cells</a>
<li><a href="#rgb_colors">rgb_colors</a>
<li><a href="#ribiere">ribiere</a>
<li><a href="#rotate_lights">rotate_lights</a>
<li><a href="#runge_kutta">runge_kutta</a>
<li><a href="#self_similar">self_similar</a>
<li><a href="#shading">shading</a>
<li><a href="#show_all_edges">show_all_edges</a>
<li><a href="#show_all_quantities">show_all_quantities</a>
<li><a href="#show_inner">show_inner</a>
<li><a href="#show_outer">show_outer</a>
<li><a href="#slice_view">slice_view</a>
<li><a href="#smooth_graph">smooth_graph</a>
<li><a href="#sobolev_mode">sobolev_mode</a>
<li><a href="#sparse_constraints">sparse_constraints</a>
<li><a href="#squared_gradient">squared_gradient</a>
<li><a href="#star_finagling">star_finagling</a>
<li><a href="#thicken">thicken</a>
<li><a href="#torus_filled">torus_filled</a>
<li><a href="#transforms">transforms</a>
<li><a href="#view_4d">view_4D</a>
<li><a href="#view_transforms_use_unique_point">view_transforms_use_unique_point</a>
<li><a href="#verbose">verbose</a>
<li><a href="#visibility_test">visibility_test</a>
<li><a href="#volgrads_every">volgrads_every</a>
<li><a href="#ysmp">ysmp</a>
</ul></td></tr></table>
<hr>
<a   id="ambient_pressure"></a><h2 class="keyword">AMBIENT_PRESSURE</h2>
Toggles <a href="datafile.htm#ideal-gas-decl">ideal gas mode</a>
with ambient pressure outside bodies.
The external pressure can be set with the 
<a href="datafile.htm#ideal-gas-decl">pressure</a>
phrase in the top of the datafile, or at runtime
with the <a href="single.htm#p">p</a> command, e.g. <code>p 10</code>.
<hr>
<a   id="approx_curv"></a>
<a   id="approx_curvature"></a>
<a   id="approximate_curvature"></a><h2 class="keyword">APPROXIMATE_CURVATURE</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Uses 
<a href="model.htm#polyhedral-curvature">polyhedral curvature</a>
 (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: <code>APPROX_CURV,
APPROX_CURVATURE</code>.

<hr>
<a   id="area_normalization"></a><h2 class="keyword">AREA_NORMALIZATION</h2>

Evolver <a href="#toggle-commands">toggle command</a>.

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.

<hr>
<a   id="assume_oriented"></a><h2 class="keyword">ASSUME_ORIENTED</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Tells squared mean curvature routines that they can assume the surface
is locally consistently oriented.  Significant only for extreme shapes.

<hr>
<a   id="augmented_hessian"></a><h2 class="keyword">AUGMENTED_HESSIAN</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
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.
 

<hr>
<a   id="autochop_length"></a>
<a   id="autochop"></a><h2 class="keyword">AUTOCHOP</h2>


Evolver <a href="#toggle-commands">toggle command</a>.
Evolver toggle command. Do automatic refining of long edges each iteration. Use
"autochop_length := <em>expr</em>" 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.

<hr>
<a   id="autodisplay"></a><h2 class="keyword">AUTODISPLAY</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Toggles automatic redrawing of graphics whenever the surface changes.
Default ON.
Same function as the '<a href="single.htm#d">D</a>' command.
<hr>
<a   id="autopop"></a><h2 class="keyword">AUTOPOP</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
        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 
<a href="iterate.htm#scale-factor">scale factor</a>.
                   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 '<a href="single.htm#o">o</a>' 
command.
                   Useful in string
                   model.
<p>
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.
<p>
See also the 
<a href="#immediate_autopop">immediate_autopop</a> and
<a href="#autopop_quartic">autopop_quartic</a> toggles.                   

<hr>
<a   id="autopop_quartic"></a><h2 class="keyword">AUTOPOP_QUARTIC</h2>

Toggle.  Modifies the <a href="toggle.htm">autopop</a> 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 
<a href="quants.htm#laplacian_mean_curvature">laplacian_mean_curvature</a>
 where velocity is proportional to fourth derivative of surface.



<hr>
<a   id="autorecalc"></a><h2 class="keyword">AUTORECALC</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Toggles automatic recalculation of the surface whenever adjustable
parameters or energy quantity moduli are changed.  Default is OFF.

<hr>
<a   id="backcull"></a><h2 class="keyword">BACKCULL</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
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.

<hr>
<a   id="bezier_basis"></a><h2 class="keyword">BEZIER_BASIS</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
When Evolver is using the
<a href="model.htm#Lagrange-model">Lagrange model</a>
 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.

<hr>
<a   id="big_endian"></a><h2 class="keyword">BIG_ENDIAN</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Controls the order of bytes in 
<a href="commands.htm#binary_printf">binary_printf</a> numerical output.
Big-endian is most significant byte first.
To change to little-endian, use <a href="#little_endian">little_endian</a>,
not "little_endian off".

<hr>
<a   id="blas_flag"></a><h2 class="keyword">BLAS_FLAG</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
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.

<hr>
<a   id="boundary_curvature"></a><h2 class="keyword">BOUNDARY_CURVATURE</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
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.

<hr>
<a   id="break_after_warning"></a><h2 class="keyword">BREAK_AFTER_WARNING</h2>

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
<a href="general.htm#break-after-warning-option">option -y</a>.

<hr>
<a   id="break_on_warning"></a><h2 class="keyword">BREAK_ON_WARNING</h2>
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.
<hr>

<a   id="bunch_kaufman"></a>
<a   id="bunch_kauffman"></a><h2 class="keyword">BUNCH_KAUFMAN</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Toggles Bunch-Kaufman factoring of the 
<a href="eigentut.htm">Hessian</a> in the alternative minimal degree 
factoring method (<a href="#ysmp">ysmp</a> 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.

<a   id="calculate_in_3d"></a>
<h2 class="keyword">CALCULATE_IN_3D</h2>

Evolver <a href="#toggle-commands">toggle command</a>.

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.



<hr>
<a   id="check_increase"></a><h2 class="keyword">CHECK_INCREASE</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
 Toggles checking for increase of energy in an
   <a href="iterate.htm#iteration-step">iteration step</a>. 
 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 <a href="commands.htm#hessian-command">hessian</a>
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.

<hr>
<a   id="circular_arc_draw"></a><h2 class="keyword">CIRCULAR_ARC_DRAW</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
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.

<hr>
<a   id="clip_view"></a>
<h2 class="keyword">CLIP_VIEW</h2>
Evolver <a href="#toggle-commands">toggle command</a>.
Toggles use of <a href="graphics.htm#clip-view">clipping planes</a> 
in graphics display.
 
<hr>
<a   id="clipped_cells"></a>
<a   id="clipped"></a><h2 class="keyword">CLIPPED</h2>
 
Evolver <a href="#toggle-commands">toggle command</a>.
 Sets <a href="model.htm#torus-display">torus model display</a> to 
clip to the fundamental region. 
 Not an on-off toggle. 3-way toggle with 
<a href="#raw_cells">raw_cells</a> and
 <a href="#connected">connected</a>.  Synonym: clipped_cells.
The origin (lower left back corner) of the clip parallelogram can
be set by setting entries in the <a href="model.htm#display_origin">
display_origin</a> 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.

<hr>
<a   id="colorfile"></a>
<a   id="colormap"></a><h2 class="keyword">COLORMAP</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
 Use colormap from file in certain graphics output. 
See the <a href="single.htm#P">P</a> command.
 Use <code>COLORFILE := "filename"</code> to set file.

<hr>
<a   id="conf_edge"></a><h2 class="keyword">CONF_EDGE</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
 Calculation of squared curvature by fitting sphere to edge and adjacent
 vertices (conformal curvature).  

<hr>
<a   id="conj_grad"></a><h2 class="keyword">CONJ_GRAD</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Use <a href="iterate.htm#conjugate-gradient">conjugate gradient method</a>
in <a href="single.htm#g">g</a> command.   See also 
<a href="single.htm#U">U</a> command and <a href="#ribiere">RIBIERE</a>.

<hr>
<a   id="connected_cells"></a>
<a   id="connected"></a><h2 class="keyword">CONNECTED</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
 Sets <a href="model.htm#torus-display">torus model</a> 
display to do each body as a connected, wrapped
 surface.
 Not an on-off toggle. 3-way toggle with 
<a href="#clipped">clipped</a> and
<a href="#raw_cells">raw_cells</a>.  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.

<hr>
<a   id="detorus_sticky"></a><h2 class="keyword">DETORUS_STICKY</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Controls whether the detorus command will identify
coincident vertices, edges, and facets.  The tolerance for
identifying vertices is given by the variable detorus_epsilon.

<hr>
<a   id="deturck"></a><h2 class="keyword">DETURCK</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Motion by unit velocity along normal, instead of by curvature vector.

<hr>
<a   id="diffusion-toggle"></a><h2 class="keyword">DIFFUSION</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Activates <a href="iterate.htm#diffusion">diffusion</a> step each 
<a href="single.htm#g">g</a> command.

<hr>
<a   id="dirichlet_mode"></a><h2 class="keyword">DIRICHLET_MODE</h2>

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.  
<a href="model.htm#linear-model">Linear model</a> only.  Does 
<a href="commands.htm#convert_to_quantities">convert_to_quantities</a>
 implicitly. Another variant of this is triggered by 
<a href="#sobolev_mode">sobolev_mode</a>.

<hr>
<a   id="effective_area"></a><h2 class="keyword">EFFECTIVE_AREA</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
In <a href="model.htm#area-normalization">area normalization</a>,
 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.

<hr>
<a   id="estimate"></a><h2 class="keyword">ESTIMATE</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Activates estimation of energy decrease in each gradient descent step
(<a href="single.htm#g">g</a> 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.

<hr>
<a   id="facet_colors"></a><h2 class="keyword">FACET_COLORS</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Enables coloring of facets in certain graphics interfaces (e.g. xgraph).  
If off, facet color is white.  Default on.

<hr>
<a   id="force_deletion"></a><h2 class="keyword">FORCE_DELETION</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
In the soapfilm model, overrides the refusal of the 
<a href="commands.htm#delete">delete</a> 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 
<a href="#star_finagling">star_finagling</a>. Default is off.

<hr>
<a   id="force_edgeswap"></a><h2 class="keyword">FORCE_EDGESWAP</h2>

Evolver <a href="#toggle-commands">toggle command</a>.

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.

<hr>
<a   id="full_bounding_box"></a><h2 class="keyword">FULL_BOUNDING_BOX</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Causes bounding box in PostScript output to be the full window, rather
than the actual extent of the surface within the window.  Default off.

<hr>
<a   id="function_quantity_sparse"></a><h2 class="keyword">FUNCTION_QUANTITY_SPARSE</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
For named quantities defined as functions of named methods,
this toggles the use of sparse matrices in calculating hessians.



<hr>
<a   id="gravity"></a><h2 class="keyword">GRAVITY</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Includes the  <a href="energies.htm#gravity-energy">gravitational energy</a>
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".
<hr>
<a   id="gv_binary"></a><h2 class="keyword">GV_BINARY</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
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.

<hr> 
<a   id="hessian_diff"></a><h2 class="keyword">HESSIAN_DIFF</h2>
Evolver <a href="#toggle-commands">toggle command</a>.
Toggles computing the hessian matrix by finite differences.
Used only for debugging, since it is very slow.
<hr>
<a   id="hessian_double_normal"></a><h2 class="keyword">HESSIAN_DOUBLE_NORMAL</h2>
   
Evolver <a href="#toggle-commands">toggle command</a>.
When <a href="#hessian_normal">hessian_normal</a> 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.

<hr>
<a   id="hessian_normal"></a><h2 class="keyword">HESSIAN_NORMAL</h2>
   
Evolver <a href="#toggle-commands">toggle command</a>.
   Constrains <a href="eigentut.htm#hessian-tutorial">Hessian</a>
   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 <a href="#hessian_normal_one">hessian_normal_one</a> to alter this
behavior.

<hr>
<a   id="hessian_normal_one"></a><h2 class="keyword">HESSIAN_NORMAL_ONE</h2>
Evolver <a href="#toggle-commands">toggle command</a>.
If this and <a href="#hessian_normal">hessian_normal</a> 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 <code>hessian_normal</code> permits lateral
movement of such triple junctions, but <code>hessian_normal_one</code>
does not.  Valid only for <a href="model.htm#string-model">string model</a>
in 2D and <a href="model.htm#soapfilm-model">soapfilm model</a> 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.

<hr>
<a   id="hessian_normal_perp"></a><h2 class="keyword">HESSIAN_NORMAL_PERP</h2>
Evolver <a href="#toggle-commands">toggle command</a>.
   If this is on, then the Hessian <a href="#linear_metric">linear_metric</a>
   uses only the component of the normal perpendicular to the facet or edge.
   This raises eigenvalues slightly.


<hr>
<a   id="hessian_quiet"></a><h2 class="keyword">HESSIAN_QUIET</h2>
Evolver <a href="#toggle-commands">toggle command</a>.
Toggles suppression of  printing of information during hessian calculations.  Default is on.

<hr>
<a   id="hessian_special_normal"></a><h2 class="keyword">HESSIAN_SPECIAL_NORMAL</h2>
Evolver <a href="#toggle-commands">toggle command</a>.
When <a href="#hessian_normal">hessian_normal</a> 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
<a href="datafile.htm#hessian_special_normal_vector">
hessian_special_normal_vector</a> section of the datafile header.
Beware that hessian_special_normal also applies to the normal calculated by
the  <a href="elements.htm#vertex_normal">vertex_normal</a> attribute and the normal
 used by regular <a href="commands.htm#vertex_average">vertex averaging</a>. 

<hr>
<a   id="homothety"></a><h2 class="keyword">HOMOTHETY</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Adjust total volume of all bodies to fixed value after each 
<a href="single.htm#g">iteration</a>
by uniformly scaling entire surface.

<hr>
<a   id="immediate_autopop"></a><h2 class="keyword">IMMEDIATE_AUTOPOP</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
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.

<hr>
<a   id="interp_bdry_param"></a><h2 class="keyword">INTERP_BDRY_PARAM</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
For edges on <a href="constrnt.htm#parametric-boundaries">
parametric boundaries</a>, 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.  

<hr>
<a   id="interp_normals"></a><h2 class="keyword">INTERP_NORMALS</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
 Display using interpolated vertex normals for shading for those graphics
 interfaces that support it.

<hr>
<a   id="itdebug"></a><h2 class="keyword">ITDEBUG</h2>
Evolver <a href="#toggle-commands">toggle command</a>.
Prints some debugging information during a 'g' step.  For gurus only.

<hr>
<a   id="jiggle"></a><h2 class="keyword">JIGGLE</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
 Toggles <a href="single.htm#j">jiggling</a> on every iteration.

<hr>
<a   id="edge_pop_attribute"></a>
<a   id="kraynikpopedge"></a><h2 class="keyword">KRAYNIKPOPEDGE</h2>

Toggles edge-popping mode (<a href="single.htm#O">O</a>
 or <a href="commands.htm#pop">pop</a> 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.

<hr>
<a   id="kraynikpopvertex"></a><h2 class="keyword">KRAYNIKPOPVERTEX</h2>

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.


<hr>
<a   id="k_altitude_mode"></a><h2 class="keyword">K_ALTITUDE_MODE</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
When on, the 'K' command uses the altitude from a
vertex rather than the median to subdivide a skinny triangle.

<hr>
<a   id="kusner"></a><h2 class="keyword">KUSNER</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
 Calculation of squared curvature by edge formula rather than vertex formula.

<hr>
<a   id="labelflag"></a><h2 class="keyword">LABELFLAG</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
When on, the <a href="commands.htm#postscript-command">postscript</a>
command will print element labels in the <a href="graphics.htm#postscript">
postscript</a> file.   Synonym for ps_labelflag.

<hr>
<a   id="little_endian"></a><h2 class="keyword">LITTLE_ENDIAN</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Controls the order of bytes in 
<a href="commands.htm#binary_printf">binary_printf</a> numerical output.
Little-endian is least significant byte first.
To change to big-endian, use <a href="#big_endian">big_endian</a>,
not "little_endian off".

<hr>
<a   id="linear_metric"></a><h2 class="keyword">LINEAR_METRIC</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Eigenvalues and eigenvectors of the 
<a href="eigentut.htm">Hessian</a> are defined with respect to
a <a href="eigentut.htm#hessian-metric">metric</a>. 
 This command toggles a metric that imitates the smooth
surface natural metric of L_2 integration on the surface.  Use
with <a href="#hessian_normal">hessian_normal</a> to get eigenvalues and eigenvectors
similar to those on smooth surfaces.
<hr>
<a   id="memdebug"></a><h2 class="keyword">MEMDEBUG</h2>
Evolver <a href="#toggle-commands">toggle command</a>.
When ON, the '<a href="single.htm#c">c</a>' 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.

<hr>
<a   id="metis_factor"></a><h2 class="keyword">METIS_FACTOR</h2>
Evolver <a href="#toggle-commands">toggle command</a>.
Computes and uses an ordering for Hessian factoring using the 
<a href="http://www.cs.umn.edu/~karypis/metis/metis/index.html">METIS</a>
library of Karypis and Kumar, if this library has been compiled into
the Evolver. 

<hr>
<a   id="metric_convert"></a>
<a   id="metric_conversion"></a>
<h2 class="keyword">METRIC_CONVERT</h2>
Evolver <a href="#toggle-commands">toggle command</a>.
If a <a href="model.htm#metric">Riemannian metric</a>
is defined, whether to use the metric
to do gradient form to vector conversions.
Synonym: metric_conversion.

<hr>
<a   id="no_dump"></a>
<h2 class="keyword">NO_DUMP</h2>
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):
<pre>   variable.no_dump on
   variable.no_dump off
</pre>
The no_dump declaration must come after the variable exists.
Example:
<pre>
   frame := 1;
   frame.no_dump;
   dump "temp.dmp";
   frame := 2;
</pre>
   replace_load "temp.dmp"



<hr>
<a   id="normal_curvature"></a><h2 class="keyword">NORMAL_CURVATURE</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
 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 
 <a href="elements.htm#sqcurve,-vertex" class="keyword">
sqcurve</a> vertex attribute and the old-style specification
of squared mean curvature in the top of the datafile by the keyword
<code>squared_curvature</code>.

<hr>
<a   id="normal_motion"></a><h2 class="keyword">NORMAL_MOTION</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
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.


<hr>
<a   id="old_area"></a><h2 class="keyword">OLD_AREA</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
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.

<hr>
<a   id="pinning"></a><h2 class="keyword">PINNING</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Check for vertices that can't move because adjacent
	vertices are not on same constraint when they could be.
	Obscure.

<hr>
<a   id="pop_disjoin"></a><h2 class="keyword">POP_DISJOIN</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
 Changes the behavior of 
<a href="commands.htm#pop">popping</a> 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 <a href="commands.htm#pop">pop</a>, 
<a href="single.htm#o">o</a>, and <a href="single.htm#O">O</a> commands.

<hr>
<a   id="pop_enjoin"></a><h2 class="keyword">POP_ENJOIN</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
 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 <a href="commands.htm#pop">pop</a> and
<a href="single.htm#o">o</a> commands.

<hr>
<a   id="pop_to_edge"></a><h2 class="keyword">POP_TO_EDGE</h2>

Evolver <a href="#toggle-commands">toggle command</a>.

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.

<hr>
<a   id="pop_to_face"></a><h2 class="keyword">POP_TO_FACE</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
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.


<hr>
<a   id="ps_crossingflag"></a><a   id="crossingflag"></a>
<h2 class="keyword">PS_CROSSINGFLAG</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
When on and the <a href="model.htm#string-model">string model</a>
is in effect, the <a href="commands.htm#postscript-command">postscript</a>
command will show background edges with a break where foreground edges
pass in front.  "crossingflag" is an old name for "ps_crossingflag".
<hr>
<a   id="debug"></a><h2 class="keyword">DEBUG</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Print YACC debug trace of parsing of commands.  You really don't want to
do this; it is for my private use in development.


<hr>
<a   id="ps_gridflag"></a>
<a   id="gridflag"></a><h2 class="keyword">PS_GRIDFLAG</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
If toggled on, the <a href="commands.htm#postscript-command">postscript</a>
command will show all edges of displayed facets,
 instead of just those satisfying the
current <a href="commands.htm#show">edge show condition</a>.
"gridflag" is an old name for "ps_gridflag".

<hr>
<a   id="ps_labelflag"></a><h2 class="keyword">PS_LABELFLAG</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
When on, the <a href="commands.htm#postscript-command">postscript</a>
command will print element labels in the <a href="graphics.htm#postscript">
postscript</a> file.   Synonym for labelflag.
<hr>

<a   id="ps_cmykflag"></a><h2 class="keyword">PS_CMYKFLAG</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
When on, the <a href="commands.htm#postscript-command">postscript</a>
command will do CMYK color instead of RGB in the file it creates.
Default is OFF.

<hr>
<a   id="ps_colorflag"></a><h2 class="keyword">PS_COLORFLAG</h2>
<a   id="pscolorflag"></a>

Evolver <a href="#toggle-commands">toggle command</a>.
When on, the <a href="commands.htm#postscript-command">postscript</a>
command will do color.

<hr>
<a   id="quantities_only"></a><h2 class="keyword">QUANTITIES_ONLY</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Inactivates all energies except named quantities.  Meant for
programmer's debugging use.

<hr>
<a   id="quiet"></a><h2 class="keyword">QUIET</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Suppresses all normal output messages automatically generated by commands.
  Good while running scripts, or for loading datafiles with long <code>read</code>
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.

<hr>
<a   id="quietgo"></a><h2 class="keyword">QUIETGO</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Suppresses only <a href="single.htm#g">g</a> iteration step output.

<hr>
<a   id="quietload"></a><h2 class="keyword">QUIETLOAD</h2>

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

<hr>
<a   id="post_project"></a><h2 class="keyword">POST_PROJECT</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Introduces extra projections to volume and fixed quantity constraints
each <a href="single.htm#g">g</a> 
iteration. If convergence fails after 10 iterations,
you will get a warning message, repeated iterations will stop, and the
internal variable  <a href="syntax.htm#iteration_counter">iteration_counter</a>
 will be negative.

<hr>
<a   id="raw_cells"></a><h2 class="keyword">RAW_CELLS</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
 Sets <a href="model.htm#torus-display">torus model</a>
 display for plain, unwrapped facets.
 Not an on-off toggle; 3-way toggle with 
<a href="#clipped" class="keyword">clipped</a> and
<a href="#connected" class="keyword">connected</a>.

<hr>
<a   id="rgb_colors"></a>
<a   id="frgb"></a><a   id="fbrgb"></a><a   id="ergb"></a>
<h2 class="keyword">RGB_COLORS</h2>
Evolver <a href="#toggle-commands">toggle command</a>.
Toggles graphics to use user-specified red-green-blue components of
color for elements rather than the <a href="misc.htm#color">color</a>
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:
<pre>
   define edge attribute ergb real[3]
   define facet attribute frgb real[3]
   define facet attribute fbrgb real[3]
</pre>


<hr>
<a   id="ribiere"></a><h2 class="keyword">RIBIERE</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Makes the <a href="iterate.htm#conjugate-gradient">conjugate gradient method</a>
 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.

<hr>
<a   id="rotate_lights"></a><h2 class="keyword">ROTATE_LIGHTS</h2>
 
Evolver toggle command.  When ON, this makes the lights rotate with the
object in the graphics display.  Default OFF.

<hr>
<a   id="runge_kutta"></a><h2 class="keyword">RUNGE_KUTTA</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Use Runge-Kutta method in a <a href="single.htm#g">g</a> iteration step
 (fixed <a href="iterate.htm#scale-factor">scale factor</a> only).

<hr>
<a   id="self_similar"></a><h2 class="keyword">SELF_SIMILAR</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
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.
<hr>

<a   id="septum_flag"></a><h2 class="keyword">SEPTUM_FLAG</h2>
Evolver <a href="#toggle-commands">toggle command</a>.
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.

<hr>

<a   id="shading"></a><h2 class="keyword">SHADING</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
  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.

<hr>
<a   id="show_all_edges"></a><h2 class="keyword">SHOW_ALL_EDGES</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
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.

<hr>
<a   id="show_all_quantities"></a><h2 class="keyword">SHOW_ALL_QUANTITIES</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
By default, only explicitly user-defined 
<a href="quants.htm#named-quantities">named quantities</a> are
shown by the <a href="single.htm#Q">Q</a> or 
<a href="single.htm#v">v</a> commands.  If show_all_quantities
is on, then all internal quantities created by option
<a href="general.htm#options">-q</a> or by doing
<a href="commands.htm#convert_to_quantities">convert_to_quantities</a>
are also shown.

<hr>
<a   id="show_bounding_box"></a><h2 class="keyword">SHOW_BOUNDING_BOX</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
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.

<hr>
<a   id="show_inner"></a><h2 class="keyword">SHOW_INNER</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
   Display interior facets, those on 2 bodies.

<hr>
<a   id="show_outer"></a><h2 class="keyword">SHOW_OUTER</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
   Display outer facets, those on 0 or 1 body.

<hr>
<a   id="slice_view"></a>
<h2 class="keyword">SLICE_VIEW</h2>
Toggles use of <a href="graphics.htm#slice-view">slice view</a> 
in graphics display.
 
<hr>
<a   id="smooth_graph"></a><h2 class="keyword">SMOOTH_GRAPH</h2>

Evolver <a href="#toggle-commands">toggle command</a>.

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.

<hr>
<a   id="sobolev_mode"></a><h2 class="keyword">SOBOLEV_MODE</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
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.  
<a href="model.htm#linear-model">Linear model</a> only.  Does 
<a href="commands.htm#convert_to_quantities">convert_to_quantities</a> 
implicitly. Another variant of this is triggered by 
<a href="#dirichlet_mode">dirichlet_mode</a>.

<hr>
<a   id="sparse_constraints"></a><h2 class="keyword">SPARSE_CONSTRAINTS</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Toggles using sparse matrix techniques to accumulate and handle
body and quantity gradients in iteration and hessian commands.
Now the default.

<hr>
<a   id="squared_gradient"></a><h2 class="keyword">SQUARED_GRADIENT</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
In <a href="commands.htm#hessian_seek">hessian_seek</a>,
use minimizing the square of the gradient of the energy as
the objective rather than minimizing the energy. 

<hr>
<a   id="star_finagling"></a><h2 class="keyword">STAR_FINAGLING</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
In the soapfilm model, the
 <a href="commands.htm">delete</a> 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 
<a href="#force_deletion">force_deletion</a> 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.

<hr>
<a   id="thicken"></a><h2 class="keyword">THICKEN</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Whether to display differently colored sides of a facet separated
by <a href="syntax.htm#thickness">thickness</a>.  Default on.
This helps prevent weird striping due to limited resolution of
depth buffers.


<hr>
<a   id="torus_filled"></a><h2 class="keyword">TORUS_FILLED</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
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.

<hr>
<a   id="transforms"></a><h2 class="keyword">TRANSFORMS</h2>
Evolver <a href="#toggle-commands">toggle command</a>.
Toggles graphing multiple images of the surface, according to
the <a href="datafile.htm#view-transforms">view transforms</a> defined
in the datafile, or according to the current
<a href="commands.htm#transform_expr">transform expression</a>
applied to the <a href="datafile.htm#view-generators">view transform
generators</a> defined in the datafile.

<hr>
<a   id="view_4d"></a><h2 class="keyword">VIEW_4D</h2>
Evolver <a href="#toggle-commands">toggle command</a>.
Toggles sending 4D information to <a href="graphics.htm#geomview">geomview</a>.

<hr>
<a   id="view_transforms_use_unique_point"></a><h2 class="keyword">VIEW_TRANSFORMS_USE_UNIQUE_POINT</h2>
Evolver <a href="#toggle-commands">toggle command</a>.
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
<pre>
   view_transforms_unique_point := vertex[5].__x;
   view_transforms_use_unique_point on;
   transform_expr "abababa";
</pre>
The vector view_transforms_unique_point[] is pre-defined, so the use does not
need to define it.
 
<hr>
<a   id="verbose"></a><h2 class="keyword">VERBOSE</h2>
Evolver <a href="#toggle-commands">toggle command</a>.
Toggles printing of progress messages during surface modification
commands such as refine, delete, notch, edgeswap, o, O.


<hr>
<a   id="visibility_test"></a><h2 class="keyword">VISIBILITY_TEST</h2>
Evolver <a href="#toggle-commands">toggle command</a>.
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.

<hr>
<a   id="volgrads_every"></a><h2 class="keyword">VOLGRADS_EVERY</h2>
Evolver <a href="#toggle-commands">toggle command</a>.
Toggles recalculating volume constraint gradients every projection
 step during constraint enforcement. Good for stiff problems. 

<hr>
<a   id="ysmp"></a><h2 class="keyword">YSMP</h2>

Evolver <a href="#toggle-commands">toggle command</a>.
Toggles between Yale Sparse Matrix Package routines for factoring hessians,
and my own minimal degree factoring.  Default is YSMP off.

<hr>
<a   id="zener_drag"></a>
<a   id="zener_coeff"></a>
<h2 class="keyword">ZENER_DRAG</h2>
Evolver <a href="#toggle-commands">toggle command</a>.
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.
<hr>
<a href="evolver.htm#doc-top">Back to top of Surface Evolver documentation.</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="index.htm">Index.</a>
</body>
</html>