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
|
<!DOCTYPE HTML>
<HEAD><TITLE>Surface Evolver Documentation: miscellaneous </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>
<a href="index.htm">Index.</a>
<h1> Miscellaneous terms</h1>
This file provides some entries for various keywords that are not
used as name pointers elsewhere for ambiguity, incredible obscurity,
or some other reason.
<hr>
<a id="alice"></a> <h3>Alice</h3>
A keyword for a special purpose command not documented.
<hr>
<a id="area"></a><h3>Area</h3>
As a keyword, area is a read-only attribute of a facet.
<hr>
<a id="area_fixed"></a><a id="fixed_area"></a><h3>Area_fixed</h3>
An obsolete way of declaring the total area of the surface fixed in the
datafile. Synonym: fixed_area. The preferred way of doing this now is to define a fixed
<a href="quants.htm#named-quantities">named quantity</a> in the datafile,
such as<br>
<code>quantity the_area fixed = 2.3 global_method facet_area</code><br>
This permits all the named quantity features to be used.
<hr>
<a id="attribute"></a><h3>Attribute</h3>
As a keyword, "attribute" is used in the <a href="commands.htm#define">
define</a> command for element
<a href="elements.htm#extra-attributes">extra attributes</a>.
<hr>
<a id="bare"></a><h3>Bare</h3>
As a keyword, "bare" is a
<a href="elements.htm#bare,-vertex">vertex attribute</a> or an
<a href="elements.htm#bare,-edge">edge attribute</a> set by
the user that tells the Evolver not to expect the vertex or edge to
be attached to a facet.
<hr>
<a id="body"></a><h3>Body</h3>
A <a href="elements.htm#bodies">body</a> is a three dimensional geometric
element.
As a command keyword, "body" is an element name in
<a href="commands.htm#generators">element generators</a>,
either as the main element type, or as a subelement of a facet.
<hr>
<a id="burchard"></a><h3>Burchard</h3>
A keyword for a special purpose command not documented.
<hr>
<a id="color"></a><h3>Color</h3>
As a keyword, "color" is an attribute of edges and facets.
For the permitted values, see <a href="syntax.htm#colors">colors</a>.
<hr>
<a id="conducting_knot_energy"></a><h3>Conducting_knot_energy</h3>
Datafile keyword that automatically creates an energy named quantity
using the method
<a href="quants.htm#knot_energy">knot_energy</a> as a global method.
May be followed in the datafile with a modulus value.
<hr>
<a id="insulating_knot_energy"></a><h3>Insulating_knot_energy</h3>
Datafile keyword that automatically creates an energy named quantity
using the method
<a href="quants.htm#uniform_knot_energy">uniform_knot_energy</a> as a global method.
May be followed in the datafile with a modulus value.
<hr>
<a id="constraint"></a>
<a id="constraints"></a><h3>Constraint</h3>
"Constraint" can be used in a
<a href="constrnt.htm#general-constraints"> general</a> sense,
but as a keyword it refers to
<a href="constrnt.htm#level-set-constraints">level set constraints</a>.
"Constraint" and "constraints" are interchangeable.
<hr>
<a id="content"></a> <h3>Content</h3>
"Content" is used to mean volume (or area, in the string model)
in <a href="datafile.htm#constraint-decl">constraint integrals</a>.
<hr>
<a id="convex"></a><h3>Convex</h3>
A keyword used in declaring a
<a href="datafile.htm#constraint-decl">constraint</a>
in the datafile that causes
a <a href="energies.htm#gap-energy">gap energy</a> to be included.
The idea is to prevent straight edges and facets from
short-cutting curved constraints with big gaps.
<hr>
<a id="density"></a><h3>Density</h3>
A keyword referring either to the gravitational density of a body, or
to the surface tension of a facet, or to the linear tension of an edge.
In the latter two cases, "density" is synonymous with "tension".
<hr>
<a id="edge"></a><h3>Edge</h3>
In general, one of the basic geometric elements. As a keyword, it
is used in <a href="commands.htm#generators">element generators</a>.
Synonym: edges.
<hr>
<a id="efixed"></a><h3>Efixed</h3>
Obsolete datafile attribute to make an edge fixed without fixing its endpoints.
Keyword retained just for compatibility with old dump files.
<hr>
<a id="eprint"></a><h3>Eprint</h3>
Function that prints an expression and returns the value. Syntax: eprint expr.
Meant for debugging; probably an archaic leftover from when the command
language was not as developed. Example: <code>print sum(facet, eprint area)</code>
will print out all the facet areas and then the sum.
<hr>
<a id="facet"></a><h3>Facet</h3>>
In general, one of the basic geometric elements. In the soapfilm model,
it is a triangle defined by its three oriented edges. In the string model,
it is a connected sequence of edges of arbitrary number. In the simplex
model, it is a simplex of dimension given by the surface_dimension
item in the top of the datafile, and is defined by its vertices.
<a id="fixed"></a><h3>Fixed</h3>
Attribute that can be applied to
<a href="elements.htm#fixed,-vertex">vertices</a>,
<a href="elements.htm#fixed,-edge">edges</a>,
<a href="elements.htm#fixed,-facet">facets</a>, or
<a href="quants.htm#fixed-quantity">named quantities</a>.
<hr>
<a id="function"></a>
<a id="formula"></a><h3>Formula</h3>
Datafile keyword used in
<a href="datafile.htm#constraint-decl">level set constraints</a>
to introduce the function formula. Synonym: function
<hr>
<a id="gauss_curvature"></a><h3>Gauss_curvature</h3>
Datafile keyword that automatically creates an energy named quantity
using the method
<a href="quants.htm#gauss_curvature_integral">gauss_curvature_integral</a>
as a global method.
May be followed in the datafile with a modulus value.
<hr>
<a id="tolerance"></a><h3>Tolerance</h3>
As a keyword, "tolerance" refers to a
<a href="quants.htm#quantity-tolerance">fixed quantity attribute</a>
that is used as the criterion for convergence. Uses
<a href="syntax.htm#target_tolerance">target_tolerance</a> as the
default value.
<hr>
<a id="div_normal_curvature"></a><h3>Div_normal_curvature</h3>
Toggle to make sq_mean_curvature energy calculate the mean curvature
by the divergence of the normal vectors at the vertices of a facet.
<hr>
<a id="force_pos_def"></a><h3>Force_pos_def</h3>
Toggle. If this is on during YSMP factoring of Hessian and the Hessian
turns up indefinite, something will be added to the diagonal element
to make it positive definite. Left over from some experiment probably.
<hr>
<a id="h_inverse_metric"></a><h3>H_inverse_metric</h3>
Toggle. Replaces force by Laplacian of force. For doing motion
by Laplacian of mean curvature.
<hr>
<a id="modulus"></a><h3>Modulus</h3>
A keyword that is an attribute of a
<a href="quants.htm#named-quantities">named quantity</a>
or a <a href="quants.htm#method-instances">method instance</a>, which
is a multiplier for the calculated value.
<hr>
<a id="opacity"></a><h3>Opacity</h3>
Facet attribute for transparency on some geomview systems.
Syntax: <code>set facet opacity </code><i> value</i> where value
is between 0 and 1. Actually, this just sets a global variable
for all facets simultaneously. The value is passed to geomview in
the alpha slot of the color.
<hr>
<a id="parameters"></a>
<a id="parameter"></a><h3>Parameter</h3>
Refers to either a
<a href="constrnt.htm#parametric-boundaries">parametric boundary</a>
parameter, or a user-defined <a href="syntax.htm#variables">variable</a>.
<hr>
<a id="parameter_file"></a><h3>Parameter_file</h3>
In the top section of the datafile, a variable can be initialized
with a set of values in a file with the syntax
<pre>
PARAMETER name PARAMETER_FILE string
</pre>
I forget exactly how it is all supposed to work.
<hr>
<a id="pressure"></a>
<h3>Pressure</h3>
Usually means an attribute of
<a href="elements.htm#pressure,-body">fixed-volume bodies</a> or
<a href="quants.htm#quantity-pressure">fixed named
quantities</a> that is actually the Lagrange multiplier for the constraint.
As body attribute in the datafile, establishes
<a href="energies.htm#pressure-energy">fixed pressure</a> for the
body.
Also used rarely in the top section of the datafile to establish the
<a href="toggle.htm#ambient_pressure">ideal gas model</a>.
<hr>
<a id="surface_energy"></a><h3>Surface_energy</h3>
An obsolete way of including vector surface energy integrals in the
datafile. The present method is to use
a <a href="quants.htm#named-quantities">named quantity</a>
with the <a href="quants.htm#facet_vector_integral">facet_vector_integral</a>
method.
<hr>
<a id="total"></a><h3>Total</h3>
An obsolete syntax for the value of a named quantity (e.g. my_quant) is
"total my_quant". The present syntax is "my_quant.value".
<hr>
<a id="valence"></a><h3>Valence</h3>
An attribute of a vertex, which is the number of incident edges,
or an attribute of an edge, which is the number of incident facets,
or an attribute of a facet, which is the number of edges on the facet.
<hr>
<a id="vertex"></a><h3>Vertex</h3>
One of the basic <a href="elements.htm#vertices">geometric elements</a>.
As a keyword, it is used
in <a href="commands.htm#generators">element generators</a>.
<hr>
<a id="utest"></a><h3>Utest</h3>
Runs a test to see if triangulation is Delaunay. Meant for higher
dimensions and simplex model.
<hr>
<a id="stability_test"></a><h3>Stability_test</h3>
Command to find largest eigenvalue of
<a href="model.htm#mobility">mobility</a> matrix. Don't really
recall what this was for.
<hr>
<a id="tag"></a><h3>Tag</h3>
An obsolete facet attribute, once used to associate an arbitrary
value with a facet. Now superseded by
<a href="elements.htm#extra-attributes">extra attributes</a>.
<hr>
<a id="dynamic-load-library"></a><h2>Dynamic load libraries.</h2>
This feature hasn't been used much, but documentation is included here
for completeness.
Many Evolver features, such as <a href="constrnt.htm#level-set-constraints">
level set constraints</a>, <a href="constrnt.htm#parametric-boundaries">
parametric boundaries</a>, <a href="quants.htm#named-methods">
named method</a> integrands, and <a href="model.htm#metric"> Riemannian
metrics</a> require user-defined functions of a set of arguments.
The expressions for these functions are ordinarily stored as a parse tree
and interpreted each time needed, which can be much slower that evaluating
compiled expressions. There is a way to use a set of compiled functions
specific to a datafile through a mechanism known as dynamic loading.
Here a library of functions for a datafile is separately compiled,
and then loaded at runtime when a the datafile is loaded. Currently,
the Evolver only implements a dynamic loading mechanism found on
many unix systems, whose presence can be tested by looking for the
existence of the file /usr/include/dlfcn.h. If it exists, you can
enable dynamic loading by including -DENABLE_DLL in the CFLAGS line
in the Makefile. On some systems, you may need to include -ldl on
the GRAPHLIB line also, to link Evolver with functions such as
dlopen().
To create the library for a datafile, write a source file containing
C code for the desired functions, compile it, and link it into a
shared library. The function should be able to compute the value
and the partial derivatives of the function, and its second partials
if you are going to use any <a href="eigentut.htm">Hessian</a> features.
A sample source file for a 2-dimensional datafile:
<pre>
#define FUNC_VALUE 1
#define FUNC_DERIV 2
#define FUNC_SECOND 3
#define MAXCOORD 4 /* must be same as in Evolver!! */
#define REAL double /* long double if Evolver compiled with -DLONGDOUBLE */
struct dstack { REAL value;
REAL deriv[2*MAXCOORD];
REAL second[2*MAXCOORD][2*MAXCOORD]; };
void func1 ( mode, x, s )
int mode; /* FUNC_VALUE, FUNC_DERIV, FUNC_SECOND */
REAL *x; /* pointer to list of arguments */
struct dstack *s; /* for return values */
{ REAL value;
s->value = x[0] + x[1]*x[1];
if ( mode == FUNC_VALUE ) return;
/* first partials */
s->deriv[0] = 1.0;
s->deriv[1] = 2*x[1];
if ( mode == FUNC_DERIV ) return;
/* second partials */
s->second[0][0] = 0.0;
s->second[0][1] = 0.0;
s->second[1][0] = 0.0;
s->second[1][1] = 2.0;
return;
}
</pre>
Supposing the sourcefile name to be foo.c,
compile and link on SGI systems (IRIX 5.0.1 or above) with
<pre>
cc -c foo.c
ld -shared foo.o -o foo.so
</pre>
Sun systems are the same, but with -s in place of -shared. For
other systems, consult the ld documentation for the option to
make a shared library or dynamic load library.
<p>
To use the functions in a datafile, include a line at the top
of the datafile before any of the functions are used:
<pre>
load_library "foo.so"
</pre>
The current directory and the <a href="install.htm#EVOLVERPATH">EVOLVERPATH</a>
will be searched for the library.
Up to 10 libraries may be loaded.
Afterwards, any of the functions may be invoked just by using
their name, without an explicit argument list because the argument
list is always implicit where these functions are legal. Examples,
supposing func2 is also defined with one argument:
<pre>
constraint 1
formula: func1
boundary 1 parameters 2
x1: func2
x2: 3*func2 + sin(p1)
</pre>
It is up to you to make sure the number of arguments your function
expects is the same as the number implicit in the use of the function.
You do not need to explicitly declare your functions in the datafile.
Any undefined identifier is checked to see if it is a dynamically
loaded function.
<p>
NOTE: This implementation of dynamic loading is experimental, and the
interface described here may change in the future.
<hr>
<a id="__bhead_index"></a><h3>__bhead_index</h3>
A body attribute used internally by Hessian routines.
<hr>
<a id="__vhead_index"></a><h3>__vhead_index</h3>
A vertex attribute used internally by Hessian routines.
<hr>
<a id="form_factors"></a><h3>form_factors</h3>
A facet extra attribute vector used by several elastic energy named
methods: <a href="quants.htm#linear_elastic">linear_elastic</a>,
<a href="quants.htm#neo_hookean">neo_hookean</a>,
<a href="quants.htm#relaxed_elastic">relaxed_elastic</a>,
<a href="quants.htm#relaxed_elastic_A">relaxed_elastic_A</a>,
<a href="quants.htm#SVK_elastic">SVK_elastic</a>, and
<a href="quants.htm#dirichlet_elastic">dirichlet_elastic</a>.
The entries are the dot products of
the sides of the relaxed facet. Due to symmetry, there are only three
distinct dot products, so form_factors just has length 3. The entries
are {s11,s12,s22}, where s11 = dot(v2-v1,v2-v1), s12 = dot(v2-v1,v3-v1),
and s22 = dot(v3-v1,v3-v1). If form_factor is not defined by the user,
it will be created by Evolver, and the initial facet shape will be assumed
to be unstrained.
<hr>
<a id="poisson_ratio"></a><h3>poisson_ratio</h3>
Facet extra attribute used by various elastic named methods:
<a href="quants.htm#linear_elastic">linear_elastic</a>,
<a href="quants.htm#linear_elastic_B">linear_elastic_B</a>,
<a href="quants.htm#neo_hookean">neo_hookean</a>,
<a href="quants.htm#relaxed_elastic">relaxed_elastic</a>,
<a href="quants.htm#relaxed_elastic_A">relaxed_elastic_A</a>,
<a href="quants.htm#SVK_elastic">SVK_elastic</a>, and
<a href="quants.htm#dirichlet_elastic">dirichlet_elastic</a>.
This is the two-dimensional isotropic poisson ratio.
<a id="h_zero"></a>
<hr>
Some physical surfaces have their lowest energy state when their
mean curvature is some nonzero value. An example is a membrane
made of parallel stacked molecules which have one end bigger than
the other. Their curvature energy is thus proportional to (h-h0)^2,
where h is the actual mean curvature and h0 is the equilibrium or
intrinsic mean curvature. Several of the squared mean curvature
named methods can use h0, either in the form of a variable h_zero
or a real-valued vertex attribute h_zero. If the vertex attribute
exists, it takes precedence.
Methods using h_zero:
<ul>
<li><a href="quants.htm#sq_mean_curv_cyl">
sq_mean_curv_cyl</a>
<li><a href="quants.htm#sq_mean_curvature">
sq_mean_curvature</a>
<li><a href="quants.htm#eff_area_sq_mean_curvature">
eff_area_sq_mean_curvature</a>
<li><a href="quants.htm#normal_sq_mean_curvature">
normal_sq_mean_curvature</a>
<li><a href="quants.htm#star_normal_sq_mean_curvature">
star_normal_sq_mean_curvature</a>
<li><a href="quants.htm#star_perp_sq_mean_curvature">
star_perp_sq_mean_curvature</a>
<li><a href="quants.htm#sqcurve2_string">
sqcurve2_string</a>
</ul>
Methods not using h_zero:
<ul>
<li><a href="quants.htm#star_sq_mean_curvature">
star_sq_mean_curvature</a>
<li><a href="quants.htm#star_eff_area_sq_mean_curvature">
star_eff_area_sq_mean_curvature</a>
<li><a href="quants.htm#sqcurve_string">
sqcurve_string</a>
<li><a href="quants.htm#sqcurve_string_marked">
sqcurve_string_marked</a>
<li><a href="quants.htm#sqcurve3_string">
sqcurve3_string</a>
<li><a href="quants.htm#circle_willmore">
circle_willmore</a>
</ul>
<a id="knot_power"></a>
<hr>
<h3>knot_power</h3>
Internal read-write variable used as exponent on some term in
various knot energies. Named methods using knot_power are:
<ul>
<li><a href="quants.htm#buck_knot_energy">
buck_knot_energy</a>
<li><a href="quants.htm#charge_gradient">
charge_gradient</a>
<li><a href="quants.htm#facet_knot_energy">
facet_knot_energy</a>
<li><a href="quants.htm#facet_knot_energy_fix">
facet_knot_energy_fix</a>
<li><a href="quants.htm#knot_energy">
knot_energy</a>
<li><a href="quants.htm#knot_thickness_0">
knot_thickness_0</a>
<li><a href="quants.htm#knot_thickness_p">
knot_thickness_p</a>
<li><a href="quants.htm#knot_thickness_p2">
knot_thickness_p2</a>
<li><a href="quants.htm#proj_knot_energy">
proj_knot_energy</a>
<li><a href="quants.htm#sphere_knot_energy">
sphere_knot_energy</a>
<li><a href="quants.htm#uniform_knot_energy">
uniform_knot_energy</a>
<li><a href="quants.htm#uniform_knot_energy_normalizer">
uniform_knot_energy_normalizer</a>
<li><a href="quants.htm#uniform_knot_normalizer1">
uniform_knot_normalizer1</a>
<li><a href="quants.htm#uniform_knot_normalizer2">
uniform_knot_normalizer2</a>
</ul>
<a id="surface_knot_power"></a>
<hr>
<h3>surface_knot_power</h3>
Internal read-write variable used in the
<a href="quants.htm#facet_knot_energy">facet_knot_energy</a> and
<a href="quants.htm#sphere_knot_energy">sphere_knot_energy</a>
named methods
as the exponent of the denominator.
<hr>
<a id="LEBweight"></a>
<h3>LEBweight></h3>
Facet extra attribute used to weight individual facets in the
named methods <a href="quants.htm#linear_elastic_B">linear_elastic_B</a>,
named methods <a href="quants.htm#relaxed_elastic">relaxed_elastic</a>,
named methods <a href="quants.htm#relaxed_elastic_A">relaxed_elastic_A</a>,
<hr>
<a id="old_force_ribiere"></a>
<h3>old_force_ribiere</h3>
Vertex extra attribute used internally by conjugate gradient mode.
<hr>
<a id="parameter_1"></a><h3>parameter_1</h3>
A generic parameter used by a couple of named methods.
<hr>
<a href="evolver.htm#doc-top">Back to top of Surface Evolver documentation.</a>
<a href="index.htm">Index.</a>
</body>
</html>
|