Skip to content
Snippets Groups Projects
Commit 79e16438 authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

sync laptop and acm machine
parent f8c56574
No related branches found
No related tags found
No related merge requests found
%{
// $Id: Gmsh.l,v 1.46 2003-04-10 13:12:36 remacle Exp $
// $Id: Gmsh.l,v 1.47 2003-04-14 17:13:14 geuzaine Exp $
//
// Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle
//
......@@ -81,7 +81,7 @@ stepid {dieze}({digit})*
%%
[\ \t\n\r\f] /* none */ ;
[\ \t\n\r\f] /* none */;
";" return tEND;
"/*" skipcomments();
"//" skipline();
......@@ -93,31 +93,31 @@ stepid {dieze}({digit})*
"news" {yylval.d = NEWSURFACE(); return tDOUBLE;}
"newv" {yylval.d = NEWVOLUME(); return tDOUBLE;}
"=" return tAFFECT;
"+=" return tAFFECTPLUS ;
"-=" return tAFFECTMINUS ;
"*=" return tAFFECTTIMES ;
"/=" return tAFFECTDIVIDE ;
"+=" return tAFFECTPLUS;
"-=" return tAFFECTMINUS;
"*=" return tAFFECTTIMES;
"/=" return tAFFECTDIVIDE;
":" return tDOTS;
"..." return tDOTS;
"/\\" return tCROSSPRODUCT ;
"||" return tOR ;
"&&" return tAND ;
"++" return tPLUSPLUS ;
"--" return tMINUSMINUS ;
"==" return tEQUAL ;
"!=" return tNOTEQUAL ;
"~=" return tAPPROXEQUAL ;
"<=" return tLESSOREQUAL ;
">=" return tGREATEROREQUAL ;
Acos return tAcos ;
ArcCos return tAcos ;
"/\\" return tCROSSPRODUCT;
"||" return tOR;
"&&" return tAND;
"++" return tPLUSPLUS;
"--" return tMINUSMINUS;
"==" return tEQUAL;
"!=" return tNOTEQUAL;
"~=" return tAPPROXEQUAL;
"<=" return tLESSOREQUAL;
">=" return tGREATEROREQUAL;
Acos return tAcos;
ArcCos return tAcos;
Asin return tAsin;
ArcSin return tAsin;
Atan return tAtan ;
ArcTan return tAtan ;
Atan2 return tAtan2 ;
ArcTan2 return tAtan2 ;
Atan return tAtan;
ArcTan return tAtan;
Atan2 return tAtan2;
ArcTan2 return tAtan2;
Attractor return tAttractor;
Bezier return tBezier;
......@@ -125,9 +125,9 @@ Bump return tBump;
BSpline return tBSpline;
Bounds return tBounds;
Ceil return tCeil ;
Cosh return tCosh ;
Cos return tCos ;
Ceil return tCeil;
Cosh return tCosh;
Cos return tCos;
Characteristic return tCharacteristic;
Circle return tCircle;
Coherence return tCoherence;
......@@ -142,23 +142,22 @@ Dilate return tDilate;
Duplicata return tDuplicata;
Draw return tDraw;
Exp return tExp ;
Exp return tExp;
Ellipsis return tEllipse;
Ellipse return tEllipse;
Extrude return tExtrude;
Elliptic return tElliptic;
ELLIPSE return tELLIPSE;
EndFor return tEndFor;
EndIf return tEndIf;
Exit return tExit;
Fabs return tFabs ;
Floor return tFloor ;
Fmod return tFmod ;
Fabs return tFabs;
Floor return tFloor;
Fmod return tFmod;
For return tFor;
Function return tFunction;
Hypot return tHypot ;
Hypot return tHypot;
In return tIn;
If return tIf;
......@@ -169,11 +168,11 @@ Knots return tKnots;
Length return tLength;
Line return tLine;
Loop return tLoop;
Log return tLog ;
Log10 return tLog10 ;
Log return tLog;
Log10 return tLog10;
Layers return tLayers;
Modulo return tModulo ;
Modulo return tModulo;
Meshes return tMesh;
MPI_Rank return tMPI_Rank;
MPI_Size return tMPI_Size;
......@@ -198,20 +197,20 @@ Ruled return tRuled;
Rand return tRand;
Return return tReturn;
Sqrt return tSqrt ;
Sin return tSin ;
Sinh return tSinh ;
Sqrt return tSqrt;
Sin return tSin;
Sinh return tSinh;
Spline return tSpline;
Surface return tSurface;
Symmetry return tSymmetry;
Sprintf return tSprintf ;
StrCat return tStrCat ;
StrPrefix return tStrPrefix ;
Sprintf return tSprintf;
StrCat return tStrCat;
StrPrefix return tStrPrefix;
Triangulation return tTriangulation;
Transfinite return tTransfinite;
Translate return tTranslate;
Tanh return tTanh ;
Tanh return tTanh;
Tan return tTan;
Trimmed return tTrimmed;
......@@ -261,6 +260,7 @@ B_SPLINE_CURVE_WITH_KNOTS return tB_SPLINE_CURVE_WITH_KNOTS;
ORIENTED_EDGE return tORIENTED_EDGE;
EDGE_CURVE return tEDGE_CURVE;
EDGE_LOOP return tEDGE_LOOP;
ELLIPSE return tELLIPSE;
VERTEX_POINT return tVERTEX_POINT;
FACE_OUTER_BOUND return tFACE_OUTER_BOUND;
FACE_BOUND return tFACE_BOUND;
......@@ -326,7 +326,7 @@ void skipcomments(void) {
while (1) {
while ((c=yyinput()) != '*'){
if(c == EOF){
Msg(GERROR, "End of file in commented region") ;
Msg(GERROR, "End of file in commented region");
return;
}
}
......@@ -354,7 +354,7 @@ char *strsave(char *ptr){
}
void skipline(void){
while (yyinput() != '\n') ;
while (yyinput() != '\n');
}
void skip_until(char *skip, char *until){
......@@ -362,12 +362,12 @@ void skip_until(char *skip, char *until){
int l, l_skip, l_until;
char chars[256];
nb_skip = 0 ;
nb_skip = 0;
if(skip)
l_skip = strlen(skip);
else
l_skip = 0 ;
l_skip = 0;
l_until = strlen(until);
......@@ -375,15 +375,15 @@ void skip_until(char *skip, char *until){
while (1){
chars[0] = yyinput();
if(chars[0] == (char)EOF){
Msg(GERROR, "Unexpected end of file") ;
Msg(GERROR, "Unexpected end of file");
return;
}
if(chars[0] == until[0]) break;
if(skip && chars[0] == skip[0]) break;
}
l = MAX(l_skip,l_until) ;
for(i=1 ; i<l ; i++){
l = MAX(l_skip,l_until);
for(i=1; i<l; i++){
chars[i] = yyinput();
if(chars[i] == (char)EOF){
l = i;
......
Source diff could not be displayed: it is too large. Options to address this: view the blob.
......@@ -128,50 +128,50 @@ typedef union {
# define tCall 368
# define tFunction 369
# define tMesh 370
# define tB_SPLINE_SURFACE_WITH_KNOTS 371
# define tB_SPLINE_CURVE_WITH_KNOTS 372
# define tCARTESIAN_POINT 373
# define tTRUE 374
# define tFALSE 375
# define tUNSPECIFIED 376
# define tU 377
# define tV 378
# define tEDGE_CURVE 379
# define tVERTEX_POINT 380
# define tORIENTED_EDGE 381
# define tPLANE 382
# define tFACE_OUTER_BOUND 383
# define tEDGE_LOOP 384
# define tADVANCED_FACE 385
# define tVECTOR 386
# define tDIRECTION 387
# define tAXIS2_PLACEMENT_3D 388
# define tISO 389
# define tENDISO 390
# define tENDSEC 391
# define tDATA 392
# define tHEADER 393
# define tFILE_DESCRIPTION 394
# define tFILE_SCHEMA 395
# define tFILE_NAME 396
# define tMANIFOLD_SOLID_BREP 397
# define tCLOSED_SHELL 398
# define tADVANCED_BREP_SHAPE_REPRESENTATION 399
# define tFACE_BOUND 400
# define tCYLINDRICAL_SURFACE 401
# define tCONICAL_SURFACE 402
# define tCIRCLE 403
# define tTRIMMED_CURVE 404
# define tGEOMETRIC_SET 405
# define tCOMPOSITE_CURVE_SEGMENT 406
# define tCONTINUOUS 407
# define tCOMPOSITE_CURVE 408
# define tTOROIDAL_SURFACE 409
# define tPRODUCT_DEFINITION 410
# define tPRODUCT_DEFINITION_SHAPE 411
# define tSHAPE_DEFINITION_REPRESENTATION 412
# define tELLIPSE 413
# define tTrimmed 414
# define tTrimmed 371
# define tB_SPLINE_SURFACE_WITH_KNOTS 372
# define tB_SPLINE_CURVE_WITH_KNOTS 373
# define tCARTESIAN_POINT 374
# define tTRUE 375
# define tFALSE 376
# define tUNSPECIFIED 377
# define tU 378
# define tV 379
# define tEDGE_CURVE 380
# define tVERTEX_POINT 381
# define tORIENTED_EDGE 382
# define tPLANE 383
# define tFACE_OUTER_BOUND 384
# define tEDGE_LOOP 385
# define tADVANCED_FACE 386
# define tVECTOR 387
# define tDIRECTION 388
# define tAXIS2_PLACEMENT_3D 389
# define tISO 390
# define tENDISO 391
# define tENDSEC 392
# define tDATA 393
# define tHEADER 394
# define tFILE_DESCRIPTION 395
# define tFILE_SCHEMA 396
# define tFILE_NAME 397
# define tMANIFOLD_SOLID_BREP 398
# define tCLOSED_SHELL 399
# define tADVANCED_BREP_SHAPE_REPRESENTATION 400
# define tFACE_BOUND 401
# define tCYLINDRICAL_SURFACE 402
# define tCONICAL_SURFACE 403
# define tCIRCLE 404
# define tTRIMMED_CURVE 405
# define tGEOMETRIC_SET 406
# define tCOMPOSITE_CURVE_SEGMENT 407
# define tCONTINUOUS 408
# define tCOMPOSITE_CURVE 409
# define tTOROIDAL_SURFACE 410
# define tPRODUCT_DEFINITION 411
# define tPRODUCT_DEFINITION_SHAPE 412
# define tSHAPE_DEFINITION_REPRESENTATION 413
# define tELLIPSE 414
# define tSolid 415
# define tEndSolid 416
# define tVertex 417
......
%{
// $Id: Gmsh.y,v 1.136 2003-04-10 13:12:37 remacle Exp $
// $Id: Gmsh.y,v 1.137 2003-04-14 17:13:15 geuzaine Exp $
//
// Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle
//
......@@ -117,7 +117,7 @@ int PrintListOfDouble (char *format, List_T *list, char *buffer);
%token tText2D tText3D
%token tBSpline tBezier tNurbs tOrder tWith tBounds tKnots
%token tColor tColorTable tFor tIn tEndFor tIf tEndIf tExit
%token tReturn tCall tFunction tMesh
%token tReturn tCall tFunction tMesh tTrimmed
%token tB_SPLINE_SURFACE_WITH_KNOTS
%token tB_SPLINE_CURVE_WITH_KNOTS
......@@ -129,7 +129,7 @@ int PrintListOfDouble (char *format, List_T *list, char *buffer);
%token tFACE_BOUND tCYLINDRICAL_SURFACE tCONICAL_SURFACE tCIRCLE tTRIMMED_CURVE
%token tGEOMETRIC_SET tCOMPOSITE_CURVE_SEGMENT tCOMPOSITE_CURVE_SEGMENT tCONTINUOUS
%token tCOMPOSITE_CURVE tTOROIDAL_SURFACE tPRODUCT_DEFINITION tPRODUCT_DEFINITION_SHAPE
%token tSHAPE_DEFINITION_REPRESENTATION tELLIPSE tTrimmed
%token tSHAPE_DEFINITION_REPRESENTATION tELLIPSE
%token tSolid tEndSolid tVertex tFacet tNormal tOuter tLoopSTL tEndLoop tEndFacet
......
This diff is collapsed.
\input texinfo.tex @c -*-texinfo-*-
@c $Id: gmsh.texi,v 1.9 2003-04-11 23:36:18 geuzaine Exp $
@c $Id: gmsh.texi,v 1.10 2003-04-14 17:13:17 geuzaine Exp $
@c
@c Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle
@c
......@@ -165,8 +165,8 @@ the @cite{Gmsh Reference Manual}, for Gmsh @value{GMSH-VERSION}.
Introduction
* What Gmsh is good at...::
* ... and what Gmsh sucks at::
* What Gmsh is pretty good at...::
* ... and what it is not so good at::
* Syntactic rules::
Overview
......@@ -268,73 +268,119 @@ developments and download information, are always available on
@unnumbered Introduction
@cindex Introduction
@cindex Reading, guidelines
@cindex Overview
Gmsh is an automatic three-dimensional finite element mesh generator,
primarily Delaunay, with built-in pre- and post-processing facilities. Its
primal design goal is to provide a simple meshing tool for academic test
cases with parametric input and up to date visualization capabilities.
One of the strengths of Gmsh is its ability to respect a characteristic
length field for the generation of adapted meshes on lines, surfaces and
cases with parametric input and up to date visualization capabilities. One
of the strengths of Gmsh is its ability to respect a characteristic length
field for the generation of adapted meshes on lines, surfaces and
volumes. These adapted meshes can be mixed with simple structured
(transfinite, elliptic, etc.) meshes in order to augment the flexibility.
(transfinite, extruded, etc.) meshes in order to augment the flexibility.
All geometrical, mesh, solver and post-processing instructions are
prescribed in a language analyzed by Lex and Yacc. The code itself is
written in C++, while the graphics are rendered with OpenGL and the user
interface is based on the FLTK widget set. @xref{Programming comments}, for
some development comments.
prescribed either interactively using the graphical user interface or in
ASCII data files using Gmsh's own scripting language.
@menu
* What Gmsh is good at...::
* ... and what Gmsh sucks at::
* What Gmsh is pretty good at...::
* ... and what it is not so good at::
* Syntactic rules::
@end menu
@c -------------------------------------------------------------------------
@c What Gmsh is good at
@c What Gmsh is pretty good at
@c -------------------------------------------------------------------------
@node What Gmsh is good at..., ... and what Gmsh sucks at, Introduction, Introduction
@section What Gmsh is good at...
Gmsh should be pretty good at
@node What Gmsh is pretty good at..., ... and what it is not so good at, Introduction, Introduction
@section What Gmsh is pretty good at...
@itemize @bullet
@item
Describe quickly simple and/or ``repetitive'' geometries. Models are
constructed by defining successively points, curves, surfaces and volumes
(@pxref{Geometry}). Loops and includes can be used to perform repetitive
tasks (@pxref{Loops and tests}, @pxref{General commands}).
@item
Parameterize these geometries: the model is described in Gmsh's own
language, where all commands and command arguments can depend on previous
calculations.
@item
Generate 1D, 2D and 3D simplicial (i.e. using line segments, triangles and
tetrahedra) finite element meshes. The 1D and 2D algorithms should have
pretty good performance in most cases. The 3D algorithm is still more
experimental.
@item
Specify target element sizes: Gmsh provides several mechanisms to control
the size of the elements in the final (interpolation from geometrical point
characteristic lengths, explicit background mesh, attractors).
@item
Create simple extruded geometries and meshes.
@item
Interact with your solver: Gmsh provides C/C++ and perl interfaces, and
others can be easily added (@pxref{Solver}).
@item
Visualize computational results in a great variety of ways. Gmsh can
display scalar, vector and tensor data sets in many different ways.
@item
Perform various operations on the post-processing views using plugins
(@pxref{Post-processing}).
@item
Exports plots in many different formats (vector PostScript or encapsulated
PostScript, LaTeX, PNG, JPEG, GIF, etc.).
@item
Generate complex animations.
@item
Run on low end machines and/or machines without graphic systems: Gmsh can be
compiled with or without the graphical user interface; graphical versions
can be used either interactively or without graphicak output, directly from
the command-line.
@item
Configure your preferred options for all subsequent operations: Gmsh has a
large number of configurations options that can be set interactively,
scattered inside command files (and changed on the fly in scripts), set in
per-user configuration files, or specified on the command-line
(@pxref{Options}).
@end itemize
@c -------------------------------------------------------------------------
@c ... and what Gmsh sucks at
@c ... and what it is not so good at
@c -------------------------------------------------------------------------
@node ... and what Gmsh sucks at, Syntactic rules, What Gmsh is good at..., Introduction
@section ... and what Gmsh sucks at
Gmsh is not an primarily a structured mesh generator. You can transfinite,
extruded
Related to the previous point: there is no automatic quadrilateral or
hexahedral meshing algorithm implemented. If you want quads, you have to use
transfinite or extruded meshes (see XXX) or recombine unstructured
triangular meshes. For hexahedra, your only choice is transfinite or
extruded meshes.
@node ... and what it is not so good at, Syntactic rules, What Gmsh is pretty good at..., Introduction
@section ... and what it is not so good at
@itemize @bullet
@item
The bottom-up approach for describing geometries can become tedious for
complex structures.
@item
There is no support for NURBS and only very limited support for trimmed
surfaces.
@item
Gmsh is not primarily a structured mesh generator: no automatic
quadrilateral or hexahedral meshing algorithm is provided. If you want
quadrangles, you have to use transfinite or extruded meshes (@pxref{Mesh})
or recombine unstructured triangular meshes. For hexahedra, your only choice
is transfinite or extruded meshes.
@item
Gmsh is not a multibloc generator: all meshes produced by Gmsh are
conforming in the sense of finite element meshes
(see XXX)
Gmsh was designed for solving academic/verification test-cases, not
industrial-size problems. - very large problems: (> million elements) both
for geometry, mesh and post-processing. Gmsh is NOT optimized for
speed. Your mileage may vary, of course, depending of what you consider a
``large'' problem...
conforming in the sense of finite element meshes (@pxref{Mesh})
@item
There is not support for curved mesh elements as of this writing (Gmsh
1.44).
@item
Gmsh is designed for solving academic test-cases, not industrial-size
problems. You may find that Gmsh is too slow for large problems (with
thousands of geometric primitives; or millions of mesh/post-processing
elements).
@end itemize
@c -------------------------------------------------------------------------
@c Syntactic Rules Used in this Document
@c -------------------------------------------------------------------------
@node Syntactic rules, , ... and what Gmsh sucks at, Introduction
@node Syntactic rules, , ... and what it is not so good at, Introduction
@section Syntactic rules used in this document
@cindex Syntax, rules
......@@ -349,8 +395,7 @@ speed. Your mileage may vary, of course, depending of what you consider a
Here are the rules we tried to follow when writing this user's guide. Note
that metasyntactic variable definitions stay valid throughout all the manual
(and not only in the sections where the definitions
appear).
(and not only in the sections where the definitions appear).
@enumerate
@item
......@@ -368,9 +413,6 @@ Multiple choices are separated by @code{|}.
@item
Three dots (@dots{}) indicate a possible repetition of the preceding rule.
@item
For conciseness, the notation @code{@var{rule} <, @var{rule} > @dots{}}
is replaced by @code{@var{rule} <,@dots{}>}.
@item
The @var{etc} symbol replaces nonlisted rules.
@end enumerate
......@@ -386,18 +428,12 @@ The @var{etc} symbol replaces nonlisted rules.
Gmsh is structured around four modules: geometry, mesh, solver and
post-processing. The specification of any input to these modules is done
either interactively, or in text data files (interactive specifications
generate language bits in the input file, and XXXlatin vice versa). The
accessibility of most features in the ASCII text file makes it possible to
automate all treatments (loops, tests and external access methods permit
advanced scripting capabilities). The internal kernel of Gmsh reflects this
generate language bits in the input file, and vice versa). The accessibility
of most features in the ASCII text file makes it possible to automate all
treatments (loops, tests and external access methods permit advanced
scripting capabilities). The internal kernel of Gmsh reflects this
structure: it is built around a geometry, mesh, solver and post-processing
database. It is interesting to notice that the data can be provided to these
databases either in the native format or thanks to dynamically loadable
modules (plug-ins). This is most interesting to convert CAD data from other
description languages (e.g. DXF or STEP), to launch external applications
from inside Gmsh (e.g. GetDP or other solvers) or to apply complex
user-defined treatments to geometry, mesh or post-processing data. A brief
description of the four modules is given hereafter.
module. A brief description of these four modules is given hereafter.
@menu
* Geometry::
......@@ -430,17 +466,16 @@ of all geometrical entities.
@node Mesh, Solver, Geometry, Overview
@section Mesh: finite element mesh generation
A finite element mesh is a tessellation of a given subset of
R<sup>3</sup> by elementary geometrical elements of various shapes (in
this case lines, triangles, quadrangles, tetrahedra, prisms, hexahedra
and pyramids), arranged in such a way that if two of them intersect,
they do so along a face, an edge or a node, and never otherwise. All
the finite element meshes produced by Gmsh as unstructured, even if
they were generated in a structured way. This implies that the
elementary geometrical elements are defined only by an ordered list of
their vertices (which allows the orientation of all their lower order
geometrical entities) but no predefined relation is assumed between
any two elementary elements.
A finite element mesh is a tessellation of a given subset of R3 by
elementary geometrical elements of various shapes (in this case lines,
triangles, quadrangles, tetrahedra, prisms, hexahedra and pyramids),
arranged in such a way that if two of them intersect, they do so along a
face, an edge or a node, and never otherwise. All the finite element meshes
produced by Gmsh as unstructured, even if they were generated in a
structured way. This implies that the elementary geometrical elements are
defined only by an ordered list of their vertices (which allows the
orientation of all their lower order geometrical entities) but no predefined
relation is assumed between any two elementary elements.
The mesh generation is performed in the same order as the geometry
creation: curves are discretized first; the mesh of the curves is then
......@@ -458,23 +493,24 @@ as additional constraints for the unstructured parts. The implemented
Delaunay algorithm is subdivided in the following five steps for
surface/volume discretization:
1. trivial meshing of a box including the convex polygon/polyhedron
defined by the boundary nodes resulting from the discretization of the
curves/surfaces;
2. creation of the initial mesh by insertion of all the nodes on the
@enumerate
@item
trivial meshing of a box including the convex polygon/polyhedron defined by
the boundary nodes resulting from the discretization of the curves/surfaces;
@item
creation of the initial mesh by insertion of all the nodes on the
curves/surfaces thanks to the Bowyer algorithm;
3. boundary restoration to force all the edges/faces of the
curves/surfaces to be present in the initial mesh;
4. suppression of all the unwanted triangles/tetrahedra (in
particular those containing the nodes of the initial box);
5. insertion of new nodes by the Bowyer algorithm until the
characteristic size of each simplex is lower or equal to the
characteristic length field evaluated at the center of its
circumscribed circle/sphere.
@item
boundary restoration to force all the edges/faces of the curves/surfaces to
be present in the initial mesh;
@item
suppression of all the unwanted triangles/tetrahedra (in particular those
containing the nodes of the initial box);
@item
insertion of new nodes by the Bowyer algorithm until the characteristic size
of each simplex is lower or equal to the characteristic length field
evaluated at the center of its circumscribed circle/sphere.
@end enumerate
@c -------------------------------------------------------------------------
@c Solver: external solver interface
......@@ -483,14 +519,12 @@ circumscribed circle/sphere.
@node Solver, Post-processing, Mesh, Overview
@section Solver: external solver interface
External solvers can be interfaced with Gmsh through a socket
mechanism, which permits to easily launch computations either locally
or on remote computers, and to collect and exploit the simulation
results within Gmsh. The default solver interfaced with Gmsh is <a
href="/getdp/">GetDP</a>. Check the <a href="#mysolver">solver
examples</a> to see how to define your own solver (be sure to also
read the answer to the question 6.1 in the <a
HREF="/gmsh/doc/FAQ">FAQ</a>).
External solvers can be interfaced with Gmsh through Unix sockets, which
permits to easily launch computations either locally or on remote computers,
and to collect and exploit the simulation results within Gmsh. The default
solver interfaced with Gmsh is GetDP
(@uref{http://www.geuz.org/getdp/}). @xref{Solver}, to see how to define
your own solver.
@c -------------------------------------------------------------------------
@c Post-processing: scalar and vector field visualization
......@@ -499,17 +533,17 @@ HREF="/gmsh/doc/FAQ">FAQ</a>).
@node Post-processing, , Solver, Overview
@section Post-processing: scalar and vector field visualization
Multiple post-processing scalar or vector maps can be loaded and
manipulated (globally or individually) along with the geometry and the
mesh. Scalar fields are represented by iso-value curves/surfaces or
color maps and vector fields by three-dimensional arrows or
displacement maps. Post-processing functions include arbitrary section
computation, offset, elevation, boundary extraction, color map and
range modification, animation, <a href="/gl2ps/">vector graphic
output</a>, etc. All post-processing options can be accessed either
interactively or through the input ASCII text files. Scripting permits
to automate all the post-processing operations (e.g. for the creation
of complex animations).
Multiple post-processing scalar or vector maps can be loaded and manipulated
(globally or individually) along with the geometry and the mesh. Scalar
fields are represented by iso-value curves/surfaces or color maps and vector
fields by three-dimensional arrows or displacement maps. Post-processing
functions include arbitrary section computation, offset, elevation, boundary
extraction, color map and range modification, animation, vector graphic
output, etc. All post-processing options can be accessed either
interactively or through the input ASCII text files. Scripting permits to
automate all the post-processing operations (e.g. for the creation of
complex animations). User-defined operations can also be performed on
post-proessing views through to dynamically loadable modules (plug-ins).
@c =========================================================================
@c General tools
......@@ -835,14 +869,13 @@ i.e.@: @code{^} has the highest evaluation priority). Parentheses
@c -------------------------------------------------------------------------
@c Functions
@c Built-in functions
@c -------------------------------------------------------------------------
@node Functions, General commands, Operators, General tools
@section Functions
@node Built-in functions, General commands, Operators, General tools
@section Built-in functions
@cindex Function, definition
@cindex Built-in functions
@cindex Functions, built-in
@vindex @var{function-id}
......@@ -967,37 +1000,61 @@ Hyperbolic tangent of @var{expression}.
@end ftable
@c -------------------------------------------------------------------------
@c General commands
@c User-defined functions
@c -------------------------------------------------------------------------
@node General commands, Option database, Functions, General tools
@section General commands
@node User-defined functions, General commands, Operators, General tools
@section User-defined Functions
@cindex Function, user-defined
@ftable @code
@item Call
@code{"@var{expression-char}"}
@item EndFor
@item Function
@item EndIf
@item Return
@item Exit
@end ftable
@c -------------------------------------------------------------------------
@c Loops and tests
@c -------------------------------------------------------------------------
@node Loops and tests, General commands, Operators, General tools
@section Loops and tests
@ftable @code
@item For
@item Function
@item EndFor
@item EndIf
@item If
@end ftable
@c -------------------------------------------------------------------------
@c General commands
@c -------------------------------------------------------------------------
@node General commands, Option database, Functions, General tools
@section General commands
@ftable @code
@item Exit
@item MPI_Rank
@item MPI_Size
@item Printf
@item Return
@item Sprintf
@item StrCat
......@@ -1060,13 +1117,6 @@ same line is ignored. XXX verify this
@code{#include @var{expression-char}}
@end example
unused keywords:
Bounds
Complex
Ellipse
Extrude
ELLIPSE
@c -------------------------------------------------------------------------
@c Option database
@c -------------------------------------------------------------------------
......@@ -1103,12 +1153,14 @@ XXX
@item Delete
@item Dilate
@item Duplicata
@item Ellipsis
@item Ellipsis
(synonym: Ellipse)
@item Intersect
@item Knots
@item Line
@item Loop
@item Nurbs
@item Nurbs Surface
@item Nurbs Surface With Bounds
@item Order
@item Physical
@item Plane
......@@ -1121,7 +1173,8 @@ XXX
@item Triangulation
@item Translate
@item Trimmed
@item Volume
@item Volume
(synonym: Complex Volume)
@end ftable
@c =========================================================================
......@@ -1138,6 +1191,7 @@ XXX
@item Bump
@item Characteristic
@item Elliptic
@item Extrude
@item Length
@item Layers
@item Meshes
......@@ -1403,9 +1457,21 @@ dans Gmsh...
@cindex @code{yacc}
@cindex @code{bison}
The analysis of the syntax is performed by Lex and Yacc, the software being
written in C++ (but most of it was initially written in C, which results in
some hybrid code...).
The analysis of the syntax is performed by Lex and Yacc.
The code itself is in C++ (but most of it was initially written in C, which
results in some hybrid code...).
All graphics are rendered using OpenGL.
The user interface is based on the FLTK widget set.
@uref{http://www.opengl.org}
@uref{http://www.mesa3d.org}
@uref{http://www.fltk.org}
@uref{http://www.cygwin.com}
@c =========================================================================
@c Bugs, versions and contributors
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment