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

<!DOCTYPE HTML>
<HEAD><TITLE>Surface Evolver Documentation  Newsletter 8</title>
<link rel="stylesheet" type="text/css" href="evdocstyle.css" />
<meta httpequiv="ContentType" content="text/html;charset=utf8" >
</head>
<BODY>
<a id="newsletter8"></a>
<h1>Surface Evolver Newsletter no. 8</h1>
<a href="evolver.htm#doctop">Back to top of Surface Evolver documentation.</a>
<hr><pre>
Surface Evolver Newsletter Number 8
June 23, 1994
Editor: Ken Brakke, brakke@geom.umn.edu
Contents:
Xgeomview
Version 1.95
Bibliography
Xgeomview:
The Geometry Center has created an Xwindows version of geomview, which
Evolver has long used as its display program on Silicon Graphics systems.
Beware, though, that Xgeomview has to emulate all 3D graphics in software,
as Xwindows is a 2D system. Hence Xgeomview is slower, and does not use
any builtin 3D graphics hardware a machine may have. It is also still
under development, and may have a few bugs and porting problems.
Xgeomview is available by anonymous ftp from geom.umn.edu in
/pub/software/geomview. There are precompiled binaries in
geomviewnext.tar and geomviewsun.x11beta.tar.Z, and source in
geomviewsrc.x11beta.tar.Z for other systems.
Version 1.95 is now available for ftp. Still haven't been able to get
the Macintosh version updated since last summer. Any desperate mac
users should let me know if I should spend time trying to do that.
Version 1.95 features:
The Tutorial chapter of the manual has two new examples: a toroidal
liquid ring on a spinning rod, and a column of liquid solder between
two offset pads. The datafiles are ringblob.fe and column.fe.
Conjugate gradient option: A toggle command "ribiere" has been added
that makes the conjugate gradient method use the PolakRibiere version
instead of FletcherReeves. (The toggle doesn't turn on conjugate gradient.)
PolakRibiere seems to recover much better from stalling. If you have
to stop and restart conjugate gradient often, try "ribiere". It handles
the catenoid example in the manual very well. Pending further experience,
I will make PolakRibiere the default in future versions. Let me know if
you have any problems with it.
Conjugate gradient blowups: Sometimes conjugate gradient wants to move
so far and fast that it loses contact with volume constraints. Before,
Evolver did only one or two Newton method projections back to volume
constraints each iteration; now it will do up to 10. Ordinary iteration
does only one projection still, but you can get the extra projections
with the "post_project" toggle. If convergence fails after 10 iterations,
you will get a warning message, repeated iterations will stop, and the
variable "iteration_counter" will be negative.
Extra attributes: It is now possible to dynamically define extra attributes
for elements, which may be single values or vectors. The definition syntax is
DEFINE elementtype ATTRIBUTE name REALINTEGER [dim]
where elementtype is vertex, edge, facet, or body, name is an identifier
of your choice, and dim is an optional expression
for the vector dimension. There is no practical distinction between real
and integer types at the moment, since everything is stored internally
as reals. But there may be more datatypes added in the future. Examples:
define edge attribute charlie real
define vertex attribute newx real[3]
The same definition syntax works in the top section of the datafile as
well as from the command prompt. Use in the same way as builtin
attributes like color. The named quantity method hooke2_energy uses
an extra attribute hooke_size as the equilibrium length for each
individual edge.
General quantities: Named quantities for basic geometric integrals
are now available that work in both the linear and quadratic model,
and in the hessian command for optimization. The basic methods are:
vertex_scalar_integral: Function value at a vertex.
edge_tension or edge_length: Length of edge.
edge_scalar_integral: Integral of a scalar function over arclength.
edge_vector_integral: Integral of a vectorfield over an edge.
edge_general_integral: Integral of a scalar function of position and
tangent over an edge.
facet_tension or facet_area: Area of facet.
facet_scalar_integral: Integral of a scalar function over facet area.
facet_vector_integral: Integral of a vectorfield over a facet.
facet_general_integral: Integral of a scalar function of position and
normal vector over a facet.
See the manual for a full list, and further details.
Quadratic model: More has been added for the quadratic model, in particular
various named quantity methods (see above). Also the midv attribute for
an edge gets the midpoint of an edge in the quadratic model. Beware that
some oldfashioned things don't work in quadratic model, since they will
be replaced eventually with the named quantity methods internally.
Prominent among these are string length (use edge_length quantity) and
volume in the torus model (use facet_volume quantity). Further, the
edge midpoints are recorded in dump files as the third vertex for an
edge, so quadratic models can be reloaded.
PostScript labels: PostScript output now has an option to print element
numbers, for easy crossreferencing with datafiles. Edge orientation is
indicated by the labels being slightly displaced toward the edge head,
and face labels are signed according to which side you are seeing.
By responding with 'i' or 'o' at the labels prompt, you can get either
current id numbers or original id numbers.
Square mean curvature: Some extreme shapes caused problems for effective_area
and normal_curvature versions of square mean curvature, in detecting a
coherent local orientation for a surface. There is now an "assume_oriented"
toggle which lets Evolver assume facets are defined with consistent local
orientation, so it doesn't have to figure it out itself.
The size of PostScript output box has been corrected to 8x8 inches,
as was claimed in the PS file header. Had been 7.6x7.6 inches.
Minneview removed: Minneview, the precursor of geomview, has been
removed. The Makefile doesn't need DNO_MV anymore.
The "quietgo" toggle will suppress normal output from the 'g' command.
New math functions: tanh, asinh, acosh, atanh.
New readonly variable: "iteration_counter" is the index of the
current iteration loop (printed in the first column of 'g' output).
Named quantity methods for squared curvature: sq_mean_curvature,
eff_area_sq_mean_curvature, normal_sq_mean_curvature.
All work with prescribed curvature h_zero.
Underrelaxation: Optimizing scale iteration finds the energy minimum
in the direction of motion. You can set the variable "scale_scale",
which multiplies the optimum scale factor to get the actual motion,
to explore the effects of under or overrelaxation. Underrelaxation
might be good for reducing short wavelength oscillations.
Bibliography.
S.J. Townsend and C.S. Nichols, "The Geometry of Grain Disappearance in Thin
Polycrystalline Films" to appear in volume 343 of the Materials Research
Society Symposium Proceedings Series, 1994.
</pre><hr>
<a href="evolver.htm#doctop">Back to top of Surface Evolver documentation.</a>
</body>
</html>
