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
Branches
Tags
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 // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle
// //
...@@ -147,7 +147,6 @@ Ellipsis return tEllipse; ...@@ -147,7 +147,6 @@ Ellipsis return tEllipse;
Ellipse return tEllipse; Ellipse return tEllipse;
Extrude return tExtrude; Extrude return tExtrude;
Elliptic return tElliptic; Elliptic return tElliptic;
ELLIPSE return tELLIPSE;
EndFor return tEndFor; EndFor return tEndFor;
EndIf return tEndIf; EndIf return tEndIf;
Exit return tExit; Exit return tExit;
...@@ -261,6 +260,7 @@ B_SPLINE_CURVE_WITH_KNOTS return tB_SPLINE_CURVE_WITH_KNOTS; ...@@ -261,6 +260,7 @@ B_SPLINE_CURVE_WITH_KNOTS return tB_SPLINE_CURVE_WITH_KNOTS;
ORIENTED_EDGE return tORIENTED_EDGE; ORIENTED_EDGE return tORIENTED_EDGE;
EDGE_CURVE return tEDGE_CURVE; EDGE_CURVE return tEDGE_CURVE;
EDGE_LOOP return tEDGE_LOOP; EDGE_LOOP return tEDGE_LOOP;
ELLIPSE return tELLIPSE;
VERTEX_POINT return tVERTEX_POINT; VERTEX_POINT return tVERTEX_POINT;
FACE_OUTER_BOUND return tFACE_OUTER_BOUND; FACE_OUTER_BOUND return tFACE_OUTER_BOUND;
FACE_BOUND return tFACE_BOUND; FACE_BOUND return tFACE_BOUND;
......
Source diff could not be displayed: it is too large. Options to address this: view the blob.
...@@ -128,50 +128,50 @@ typedef union { ...@@ -128,50 +128,50 @@ typedef union {
# define tCall 368 # define tCall 368
# define tFunction 369 # define tFunction 369
# define tMesh 370 # define tMesh 370
# define tB_SPLINE_SURFACE_WITH_KNOTS 371 # define tTrimmed 371
# define tB_SPLINE_CURVE_WITH_KNOTS 372 # define tB_SPLINE_SURFACE_WITH_KNOTS 372
# define tCARTESIAN_POINT 373 # define tB_SPLINE_CURVE_WITH_KNOTS 373
# define tTRUE 374 # define tCARTESIAN_POINT 374
# define tFALSE 375 # define tTRUE 375
# define tUNSPECIFIED 376 # define tFALSE 376
# define tU 377 # define tUNSPECIFIED 377
# define tV 378 # define tU 378
# define tEDGE_CURVE 379 # define tV 379
# define tVERTEX_POINT 380 # define tEDGE_CURVE 380
# define tORIENTED_EDGE 381 # define tVERTEX_POINT 381
# define tPLANE 382 # define tORIENTED_EDGE 382
# define tFACE_OUTER_BOUND 383 # define tPLANE 383
# define tEDGE_LOOP 384 # define tFACE_OUTER_BOUND 384
# define tADVANCED_FACE 385 # define tEDGE_LOOP 385
# define tVECTOR 386 # define tADVANCED_FACE 386
# define tDIRECTION 387 # define tVECTOR 387
# define tAXIS2_PLACEMENT_3D 388 # define tDIRECTION 388
# define tISO 389 # define tAXIS2_PLACEMENT_3D 389
# define tENDISO 390 # define tISO 390
# define tENDSEC 391 # define tENDISO 391
# define tDATA 392 # define tENDSEC 392
# define tHEADER 393 # define tDATA 393
# define tFILE_DESCRIPTION 394 # define tHEADER 394
# define tFILE_SCHEMA 395 # define tFILE_DESCRIPTION 395
# define tFILE_NAME 396 # define tFILE_SCHEMA 396
# define tMANIFOLD_SOLID_BREP 397 # define tFILE_NAME 397
# define tCLOSED_SHELL 398 # define tMANIFOLD_SOLID_BREP 398
# define tADVANCED_BREP_SHAPE_REPRESENTATION 399 # define tCLOSED_SHELL 399
# define tFACE_BOUND 400 # define tADVANCED_BREP_SHAPE_REPRESENTATION 400
# define tCYLINDRICAL_SURFACE 401 # define tFACE_BOUND 401
# define tCONICAL_SURFACE 402 # define tCYLINDRICAL_SURFACE 402
# define tCIRCLE 403 # define tCONICAL_SURFACE 403
# define tTRIMMED_CURVE 404 # define tCIRCLE 404
# define tGEOMETRIC_SET 405 # define tTRIMMED_CURVE 405
# define tCOMPOSITE_CURVE_SEGMENT 406 # define tGEOMETRIC_SET 406
# define tCONTINUOUS 407 # define tCOMPOSITE_CURVE_SEGMENT 407
# define tCOMPOSITE_CURVE 408 # define tCONTINUOUS 408
# define tTOROIDAL_SURFACE 409 # define tCOMPOSITE_CURVE 409
# define tPRODUCT_DEFINITION 410 # define tTOROIDAL_SURFACE 410
# define tPRODUCT_DEFINITION_SHAPE 411 # define tPRODUCT_DEFINITION 411
# define tSHAPE_DEFINITION_REPRESENTATION 412 # define tPRODUCT_DEFINITION_SHAPE 412
# define tELLIPSE 413 # define tSHAPE_DEFINITION_REPRESENTATION 413
# define tTrimmed 414 # define tELLIPSE 414
# define tSolid 415 # define tSolid 415
# define tEndSolid 416 # define tEndSolid 416
# define tVertex 417 # 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 // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle
// //
...@@ -117,7 +117,7 @@ int PrintListOfDouble (char *format, List_T *list, char *buffer); ...@@ -117,7 +117,7 @@ int PrintListOfDouble (char *format, List_T *list, char *buffer);
%token tText2D tText3D %token tText2D tText3D
%token tBSpline tBezier tNurbs tOrder tWith tBounds tKnots %token tBSpline tBezier tNurbs tOrder tWith tBounds tKnots
%token tColor tColorTable tFor tIn tEndFor tIf tEndIf tExit %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_SURFACE_WITH_KNOTS
%token tB_SPLINE_CURVE_WITH_KNOTS %token tB_SPLINE_CURVE_WITH_KNOTS
...@@ -129,7 +129,7 @@ int PrintListOfDouble (char *format, List_T *list, char *buffer); ...@@ -129,7 +129,7 @@ int PrintListOfDouble (char *format, List_T *list, char *buffer);
%token tFACE_BOUND tCYLINDRICAL_SURFACE tCONICAL_SURFACE tCIRCLE tTRIMMED_CURVE %token tFACE_BOUND tCYLINDRICAL_SURFACE tCONICAL_SURFACE tCIRCLE tTRIMMED_CURVE
%token tGEOMETRIC_SET tCOMPOSITE_CURVE_SEGMENT tCOMPOSITE_CURVE_SEGMENT tCONTINUOUS %token tGEOMETRIC_SET tCOMPOSITE_CURVE_SEGMENT tCOMPOSITE_CURVE_SEGMENT tCONTINUOUS
%token tCOMPOSITE_CURVE tTOROIDAL_SURFACE tPRODUCT_DEFINITION tPRODUCT_DEFINITION_SHAPE %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 %token tSolid tEndSolid tVertex tFacet tNormal tOuter tLoopSTL tEndLoop tEndFacet
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
/* A lexical scanner generated by flex */ /* A lexical scanner generated by flex */
/* Scanner skeleton version: /* Scanner skeleton version:
* $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.154 2003-04-10 13:12:37 remacle Exp $ * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.155 2003-04-14 17:13:16 geuzaine Exp $
*/ */
#define FLEX_SCANNER #define FLEX_SCANNER
...@@ -300,96 +300,96 @@ static yyconst short int yy_accept[1041] = ...@@ -300,96 +300,96 @@ static yyconst short int yy_accept[1041] =
203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
203, 203, 203, 203, 203, 203, 73, 72, 203, 203, 203, 203, 203, 203, 203, 203, 72, 71, 203, 203,
203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
203, 203, 203, 203, 203, 89, 203, 203, 203, 203, 203, 203, 203, 203, 203, 88, 203, 203, 203, 203,
203, 203, 203, 134, 137, 122, 119, 128, 131, 125,
140, 203, 203, 203, 203, 203, 203, 143, 144, 136,
139, 124, 203, 121, 130, 203, 133, 127, 142, 203,
203, 203, 203, 135, 138, 123, 120, 129, 132, 126, 203, 203, 203, 135, 138, 123, 120, 129, 132, 126,
141, 203, 203, 203, 203, 203, 203, 144, 145, 137, 141, 203, 203, 203, 203, 203, 203, 203, 203, 203,
140, 125, 203, 122, 131, 203, 134, 128, 143, 203,
203, 203, 203, 136, 139, 124, 121, 130, 133, 127,
142, 203, 203, 203, 203, 203, 203, 203, 203, 203,
203, 20, 26, 0, 0, 18, 0, 151, 152, 153, 203, 20, 26, 0, 0, 18, 0, 150, 151, 152,
154, 200, 0, 0, 202, 203, 203, 203, 203, 203, 153, 200, 0, 0, 202, 203, 203, 203, 203, 203,
203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
203, 203, 203, 44, 203, 203, 203, 203, 203, 203, 203, 203, 203, 44, 203, 203, 203, 203, 203, 203,
203, 203, 203, 203, 203, 203, 57, 203, 203, 203, 203, 203, 203, 203, 203, 203, 57, 203, 203, 203,
203, 203, 203, 69, 203, 203, 203, 203, 203, 203, 203, 203, 203, 68, 203, 203, 203, 203, 203, 203,
203, 203, 203, 203, 203, 79, 203, 203, 203, 203, 203, 203, 203, 203, 203, 78, 203, 203, 203, 203,
203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
103, 203, 203, 203, 203, 203, 203, 203, 203, 115, 102, 203, 203, 203, 203, 203, 203, 203, 203, 114,
203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
203, 203, 203, 203, 203, 0, 0, 0, 201, 0, 203, 203, 203, 203, 203, 0, 0, 0, 201, 0,
0, 200, 203, 203, 203, 203, 29, 203, 203, 203, 0, 200, 203, 203, 203, 203, 29, 203, 203, 203,
31, 33, 203, 203, 203, 203, 203, 39, 203, 203, 31, 33, 203, 203, 203, 203, 203, 39, 203, 203,
203, 203, 203, 203, 52, 203, 42, 203, 203, 203, 203, 203, 203, 203, 52, 203, 42, 203, 203, 203,
203, 203, 43, 168, 203, 203, 203, 56, 203, 203, 203, 203, 43, 168, 203, 203, 203, 56, 203, 203,
203, 0, 203, 203, 203, 203, 65, 203, 203, 203, 203, 0, 203, 203, 203, 203, 64, 203, 203, 203,
66, 203, 68, 203, 203, 203, 203, 0, 203, 203, 65, 203, 67, 203, 203, 203, 203, 0, 203, 203,
162, 203, 203, 77, 203, 78, 203, 203, 203, 203, 162, 203, 203, 76, 203, 77, 203, 203, 203, 203,
203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
203, 203, 203, 100, 203, 203, 203, 203, 203, 104, 203, 203, 203, 99, 203, 203, 203, 203, 203, 103,
203, 203, 102, 203, 203, 203, 203, 203, 203, 114, 203, 203, 101, 203, 203, 203, 203, 203, 203, 113,
203, 203, 203, 203, 203, 203, 203, 119, 203, 203, 203, 203, 203, 203, 203, 203, 203, 118, 203, 203,
203, 203, 193, 9, 8, 203, 10, 11, 203, 203, 203, 203, 193, 9, 8, 203, 10, 11, 203, 203,
203, 203, 0, 0, 0, 200, 203, 203, 203, 203, 203, 203, 0, 0, 0, 200, 203, 203, 203, 203,
203, 203, 203, 35, 203, 203, 203, 203, 203, 203, 203, 203, 203, 35, 203, 203, 203, 203, 203, 203,
203, 203, 203, 203, 203, 203, 203, 203, 203, 49, 203, 203, 203, 203, 203, 203, 203, 203, 203, 49,
203, 203, 203, 203, 203, 203, 203, 0, 203, 203, 203, 203, 203, 203, 203, 203, 203, 0, 203, 203,
203, 64, 203, 203, 203, 67, 203, 203, 203, 71, 203, 63, 203, 203, 203, 66, 203, 203, 203, 70,
0, 203, 75, 203, 203, 80, 203, 203, 203, 203, 0, 203, 74, 203, 203, 79, 203, 203, 203, 203,
203, 86, 203, 87, 166, 203, 203, 203, 90, 203, 203, 85, 203, 86, 166, 203, 203, 203, 89, 203,
91, 92, 203, 203, 203, 203, 203, 99, 203, 203, 90, 91, 203, 203, 203, 203, 203, 98, 203, 203,
203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
117, 203, 203, 203, 203, 203, 203, 190, 203, 203, 116, 203, 203, 203, 203, 203, 203, 190, 203, 203,
192, 197, 203, 0, 0, 203, 203, 203, 203, 30, 192, 197, 203, 0, 0, 203, 203, 203, 203, 30,
32, 34, 203, 203, 203, 38, 41, 203, 181, 203, 32, 34, 203, 203, 203, 38, 41, 203, 181, 203,
203, 203, 203, 203, 203, 46, 203, 203, 203, 203, 203, 203, 203, 203, 203, 46, 203, 203, 203, 203,
53, 54, 203, 203, 203, 203, 0, 174, 203, 203, 53, 54, 203, 203, 203, 203, 0, 174, 203, 203,
63, 203, 203, 203, 203, 203, 203, 203, 203, 167, 62, 203, 203, 203, 203, 203, 203, 203, 203, 167,
0, 203, 81, 76, 203, 203, 203, 83, 82, 203, 0, 203, 80, 75, 203, 203, 203, 82, 81, 203,
203, 203, 203, 96, 95, 203, 203, 101, 98, 203, 203, 203, 203, 95, 94, 203, 203, 100, 97, 203,
105, 203, 109, 203, 203, 203, 203, 203, 203, 203, 104, 203, 108, 203, 203, 203, 203, 203, 203, 203,
203, 203, 163, 203, 118, 203, 203, 203, 7, 191, 203, 203, 163, 203, 117, 203, 203, 203, 7, 191,
189, 0, 0, 203, 203, 203, 203, 36, 203, 40, 189, 0, 0, 203, 203, 203, 203, 36, 203, 40,
203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
48, 203, 203, 203, 203, 62, 0, 59, 203, 203, 48, 203, 203, 203, 203, 157, 0, 59, 203, 203,
60, 203, 203, 203, 203, 203, 203, 203, 0, 203, 60, 203, 203, 203, 203, 203, 203, 203, 0, 203,
203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
108, 203, 106, 203, 203, 203, 203, 203, 203, 116, 107, 203, 105, 203, 203, 203, 203, 203, 203, 115,
203, 203, 194, 203, 0, 0, 203, 203, 203, 203, 203, 203, 194, 203, 0, 0, 203, 203, 203, 203,
203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
203, 203, 203, 203, 203, 0, 58, 61, 203, 203, 203, 203, 203, 203, 203, 0, 58, 61, 203, 203,
203, 203, 203, 70, 203, 0, 203, 203, 84, 85, 203, 203, 203, 69, 203, 0, 203, 203, 83, 84,
203, 203, 203, 88, 203, 203, 203, 203, 107, 203, 203, 203, 203, 87, 203, 203, 203, 203, 106, 203,
203, 203, 203, 203, 203, 195, 196, 0, 0, 203, 203, 203, 203, 203, 203, 195, 196, 0, 0, 203,
203, 203, 203, 37, 203, 203, 203, 203, 203, 203, 203, 203, 203, 37, 203, 203, 203, 203, 203, 203,
203, 203, 47, 203, 164, 55, 203, 157, 0, 203, 203, 203, 47, 203, 164, 55, 203, 156, 0, 203,
203, 203, 170, 203, 203, 0, 74, 203, 203, 203, 203, 203, 170, 203, 203, 0, 73, 203, 203, 203,
203, 203, 97, 203, 110, 203, 203, 203, 113, 203, 203, 203, 96, 203, 109, 203, 203, 203, 112, 203,
203, 0, 0, 203, 203, 203, 203, 203, 203, 203, 203, 0, 0, 203, 203, 203, 203, 203, 203, 203,
203, 203, 203, 203, 203, 51, 203, 50, 156, 0, 203, 203, 203, 203, 203, 51, 203, 50, 155, 0,
160, 203, 203, 203, 203, 0, 203, 203, 203, 94, 160, 203, 203, 203, 203, 0, 203, 203, 203, 93,
203, 203, 203, 203, 203, 203, 203, 0, 0, 203, 203, 203, 203, 203, 203, 203, 203, 0, 0, 203,
203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
203, 203, 0, 203, 203, 169, 203, 0, 203, 203, 203, 203, 0, 203, 203, 169, 203, 0, 203, 203,
203, 93, 203, 203, 203, 112, 203, 203, 150, 0, 203, 92, 203, 203, 203, 111, 203, 203, 149, 0,
150, 203, 203, 203, 203, 203, 203, 203, 175, 203, 149, 203, 203, 203, 203, 203, 203, 203, 175, 203,
203, 203, 203, 0, 203, 203, 203, 172, 203, 203, 203, 203, 203, 0, 203, 203, 203, 172, 203, 203,
203, 203, 203, 203, 203, 158, 149, 203, 161, 149, 203, 203, 203, 203, 203, 158, 148, 203, 161, 148,
203, 203, 203, 203, 203, 203, 203, 203, 0, 203, 203, 203, 203, 203, 203, 203, 203, 203, 0, 203,
203, 183, 203, 155, 203, 203, 203, 182, 111, 203, 203, 183, 203, 154, 203, 203, 203, 182, 110, 203,
203, 203, 203, 203, 203, 203, 203, 45, 0, 203, 203, 203, 203, 203, 203, 203, 203, 45, 0, 203,
203, 203, 203, 203, 203, 203, 203, 203, 203, 146, 203, 203, 203, 203, 203, 203, 203, 203, 203, 145,
185, 179, 203, 0, 203, 203, 203, 203, 203, 203, 185, 179, 203, 0, 203, 203, 203, 203, 203, 203,
203, 203, 203, 203, 203, 203, 173, 159, 171, 203, 203, 203, 203, 203, 203, 203, 173, 159, 171, 203,
203, 203, 180, 203, 203, 203, 203, 203, 203, 203, 203, 203, 180, 203, 203, 203, 203, 203, 203, 203,
...@@ -398,8 +398,8 @@ static yyconst short int yy_accept[1041] = ...@@ -398,8 +398,8 @@ static yyconst short int yy_accept[1041] =
203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203, 203,
184, 203, 203, 203, 203, 203, 187, 203, 203, 148, 184, 203, 203, 203, 203, 203, 187, 203, 203, 147,
203, 203, 203, 203, 203, 203, 147, 203, 203, 203, 203, 203, 203, 203, 203, 203, 146, 203, 203, 203,
203, 203, 203, 203, 203, 188, 203, 203, 176, 0 203, 203, 203, 203, 203, 188, 203, 203, 176, 0
} ; } ;
...@@ -1012,7 +1012,7 @@ char *yytext; ...@@ -1012,7 +1012,7 @@ char *yytext;
#define INITIAL 0 #define INITIAL 0
#line 2 "Gmsh.l" #line 2 "Gmsh.l"
// $Id: Gmsh.yy.cpp,v 1.154 2003-04-10 13:12:37 remacle Exp $ // $Id: Gmsh.yy.cpp,v 1.155 2003-04-14 17:13:16 geuzaine Exp $
// //
// Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle
// //
...@@ -1619,152 +1619,152 @@ return tElliptic; ...@@ -1619,152 +1619,152 @@ return tElliptic;
case 62: case 62:
YY_RULE_SETUP YY_RULE_SETUP
#line 150 "Gmsh.l" #line 150 "Gmsh.l"
return tELLIPSE; return tEndFor;
YY_BREAK YY_BREAK
case 63: case 63:
YY_RULE_SETUP YY_RULE_SETUP
#line 151 "Gmsh.l" #line 151 "Gmsh.l"
return tEndFor; return tEndIf;
YY_BREAK YY_BREAK
case 64: case 64:
YY_RULE_SETUP YY_RULE_SETUP
#line 152 "Gmsh.l" #line 152 "Gmsh.l"
return tEndIf; return tExit;
YY_BREAK YY_BREAK
case 65: case 65:
YY_RULE_SETUP YY_RULE_SETUP
#line 153 "Gmsh.l" #line 154 "Gmsh.l"
return tExit; return tFabs;
YY_BREAK YY_BREAK
case 66: case 66:
YY_RULE_SETUP YY_RULE_SETUP
#line 155 "Gmsh.l" #line 155 "Gmsh.l"
return tFabs ; return tFloor;
YY_BREAK YY_BREAK
case 67: case 67:
YY_RULE_SETUP YY_RULE_SETUP
#line 156 "Gmsh.l" #line 156 "Gmsh.l"
return tFloor ; return tFmod;
YY_BREAK YY_BREAK
case 68: case 68:
YY_RULE_SETUP YY_RULE_SETUP
#line 157 "Gmsh.l" #line 157 "Gmsh.l"
return tFmod ; return tFor;
YY_BREAK YY_BREAK
case 69: case 69:
YY_RULE_SETUP YY_RULE_SETUP
#line 158 "Gmsh.l" #line 158 "Gmsh.l"
return tFor; return tFunction;
YY_BREAK YY_BREAK
case 70: case 70:
YY_RULE_SETUP YY_RULE_SETUP
#line 159 "Gmsh.l" #line 160 "Gmsh.l"
return tFunction; return tHypot;
YY_BREAK YY_BREAK
case 71: case 71:
YY_RULE_SETUP YY_RULE_SETUP
#line 161 "Gmsh.l" #line 162 "Gmsh.l"
return tHypot ; return tIn;
YY_BREAK YY_BREAK
case 72: case 72:
YY_RULE_SETUP YY_RULE_SETUP
#line 163 "Gmsh.l" #line 163 "Gmsh.l"
return tIn; return tIf;
YY_BREAK YY_BREAK
case 73: case 73:
YY_RULE_SETUP YY_RULE_SETUP
#line 164 "Gmsh.l" #line 164 "Gmsh.l"
return tIf; return tIntersect;
YY_BREAK YY_BREAK
case 74: case 74:
YY_RULE_SETUP YY_RULE_SETUP
#line 165 "Gmsh.l" #line 166 "Gmsh.l"
return tIntersect; return tKnots;
YY_BREAK YY_BREAK
case 75: case 75:
YY_RULE_SETUP YY_RULE_SETUP
#line 167 "Gmsh.l" #line 168 "Gmsh.l"
return tKnots; return tLength;
YY_BREAK YY_BREAK
case 76: case 76:
YY_RULE_SETUP YY_RULE_SETUP
#line 169 "Gmsh.l" #line 169 "Gmsh.l"
return tLength; return tLine;
YY_BREAK YY_BREAK
case 77: case 77:
YY_RULE_SETUP YY_RULE_SETUP
#line 170 "Gmsh.l" #line 170 "Gmsh.l"
return tLine; return tLoop;
YY_BREAK YY_BREAK
case 78: case 78:
YY_RULE_SETUP YY_RULE_SETUP
#line 171 "Gmsh.l" #line 171 "Gmsh.l"
return tLoop; return tLog;
YY_BREAK YY_BREAK
case 79: case 79:
YY_RULE_SETUP YY_RULE_SETUP
#line 172 "Gmsh.l" #line 172 "Gmsh.l"
return tLog ; return tLog10;
YY_BREAK YY_BREAK
case 80: case 80:
YY_RULE_SETUP YY_RULE_SETUP
#line 173 "Gmsh.l" #line 173 "Gmsh.l"
return tLog10 ; return tLayers;
YY_BREAK YY_BREAK
case 81: case 81:
YY_RULE_SETUP YY_RULE_SETUP
#line 174 "Gmsh.l" #line 175 "Gmsh.l"
return tLayers; return tModulo;
YY_BREAK YY_BREAK
case 82: case 82:
YY_RULE_SETUP YY_RULE_SETUP
#line 176 "Gmsh.l" #line 176 "Gmsh.l"
return tModulo ; return tMesh;
YY_BREAK YY_BREAK
case 83: case 83:
YY_RULE_SETUP YY_RULE_SETUP
#line 177 "Gmsh.l" #line 177 "Gmsh.l"
return tMesh; return tMPI_Rank;
YY_BREAK YY_BREAK
case 84: case 84:
YY_RULE_SETUP YY_RULE_SETUP
#line 178 "Gmsh.l" #line 178 "Gmsh.l"
return tMPI_Rank; return tMPI_Size;
YY_BREAK YY_BREAK
case 85: case 85:
YY_RULE_SETUP YY_RULE_SETUP
#line 179 "Gmsh.l" #line 180 "Gmsh.l"
return tMPI_Size; return tNurbs;
YY_BREAK YY_BREAK
case 86: case 86:
YY_RULE_SETUP YY_RULE_SETUP
#line 181 "Gmsh.l" #line 182 "Gmsh.l"
return tNurbs; return tOrder;
YY_BREAK YY_BREAK
case 87: case 87:
YY_RULE_SETUP YY_RULE_SETUP
#line 183 "Gmsh.l" #line 184 "Gmsh.l"
return tOrder; return tPhysical;
YY_BREAK YY_BREAK
case 88: case 88:
YY_RULE_SETUP YY_RULE_SETUP
#line 185 "Gmsh.l" #line 185 "Gmsh.l"
return tPhysical; return tPi;
YY_BREAK YY_BREAK
case 89: case 89:
YY_RULE_SETUP YY_RULE_SETUP
#line 186 "Gmsh.l" #line 186 "Gmsh.l"
return tPi; return tPlane;
YY_BREAK YY_BREAK
case 90: case 90:
YY_RULE_SETUP YY_RULE_SETUP
#line 187 "Gmsh.l" #line 187 "Gmsh.l"
return tPlane; return tPoint;
YY_BREAK YY_BREAK
case 91: case 91:
YY_RULE_SETUP YY_RULE_SETUP
#line 188 "Gmsh.l" #line 188 "Gmsh.l"
return tPoint; return tProgression;
YY_BREAK YY_BREAK
case 92: case 92:
YY_RULE_SETUP YY_RULE_SETUP
...@@ -1774,327 +1774,327 @@ return tProgression; ...@@ -1774,327 +1774,327 @@ return tProgression;
case 93: case 93:
YY_RULE_SETUP YY_RULE_SETUP
#line 190 "Gmsh.l" #line 190 "Gmsh.l"
return tProgression; return tParametric;
YY_BREAK YY_BREAK
case 94: case 94:
YY_RULE_SETUP YY_RULE_SETUP
#line 191 "Gmsh.l" #line 191 "Gmsh.l"
return tParametric; return tPrintf;
YY_BREAK YY_BREAK
case 95: case 95:
YY_RULE_SETUP YY_RULE_SETUP
#line 192 "Gmsh.l" #line 192 "Gmsh.l"
return tPrintf; return tPlugin;
YY_BREAK YY_BREAK
case 96: case 96:
YY_RULE_SETUP YY_RULE_SETUP
#line 193 "Gmsh.l" #line 194 "Gmsh.l"
return tPlugin; return tRecombine;
YY_BREAK YY_BREAK
case 97: case 97:
YY_RULE_SETUP YY_RULE_SETUP
#line 195 "Gmsh.l" #line 195 "Gmsh.l"
return tRecombine; return tRotate;
YY_BREAK YY_BREAK
case 98: case 98:
YY_RULE_SETUP YY_RULE_SETUP
#line 196 "Gmsh.l" #line 196 "Gmsh.l"
return tRotate; return tRuled;
YY_BREAK YY_BREAK
case 99: case 99:
YY_RULE_SETUP YY_RULE_SETUP
#line 197 "Gmsh.l" #line 197 "Gmsh.l"
return tRuled; return tRand;
YY_BREAK YY_BREAK
case 100: case 100:
YY_RULE_SETUP YY_RULE_SETUP
#line 198 "Gmsh.l" #line 198 "Gmsh.l"
return tRand; return tReturn;
YY_BREAK YY_BREAK
case 101: case 101:
YY_RULE_SETUP YY_RULE_SETUP
#line 199 "Gmsh.l" #line 200 "Gmsh.l"
return tReturn; return tSqrt;
YY_BREAK YY_BREAK
case 102: case 102:
YY_RULE_SETUP YY_RULE_SETUP
#line 201 "Gmsh.l" #line 201 "Gmsh.l"
return tSqrt ; return tSin;
YY_BREAK YY_BREAK
case 103: case 103:
YY_RULE_SETUP YY_RULE_SETUP
#line 202 "Gmsh.l" #line 202 "Gmsh.l"
return tSin ; return tSinh;
YY_BREAK YY_BREAK
case 104: case 104:
YY_RULE_SETUP YY_RULE_SETUP
#line 203 "Gmsh.l" #line 203 "Gmsh.l"
return tSinh ; return tSpline;
YY_BREAK YY_BREAK
case 105: case 105:
YY_RULE_SETUP YY_RULE_SETUP
#line 204 "Gmsh.l" #line 204 "Gmsh.l"
return tSpline; return tSurface;
YY_BREAK YY_BREAK
case 106: case 106:
YY_RULE_SETUP YY_RULE_SETUP
#line 205 "Gmsh.l" #line 205 "Gmsh.l"
return tSurface; return tSymmetry;
YY_BREAK YY_BREAK
case 107: case 107:
YY_RULE_SETUP YY_RULE_SETUP
#line 206 "Gmsh.l" #line 206 "Gmsh.l"
return tSymmetry; return tSprintf;
YY_BREAK YY_BREAK
case 108: case 108:
YY_RULE_SETUP YY_RULE_SETUP
#line 207 "Gmsh.l" #line 207 "Gmsh.l"
return tSprintf ; return tStrCat;
YY_BREAK YY_BREAK
case 109: case 109:
YY_RULE_SETUP YY_RULE_SETUP
#line 208 "Gmsh.l" #line 208 "Gmsh.l"
return tStrCat ; return tStrPrefix;
YY_BREAK YY_BREAK
case 110: case 110:
YY_RULE_SETUP YY_RULE_SETUP
#line 209 "Gmsh.l" #line 210 "Gmsh.l"
return tStrPrefix ; return tTriangulation;
YY_BREAK YY_BREAK
case 111: case 111:
YY_RULE_SETUP YY_RULE_SETUP
#line 211 "Gmsh.l" #line 211 "Gmsh.l"
return tTriangulation; return tTransfinite;
YY_BREAK YY_BREAK
case 112: case 112:
YY_RULE_SETUP YY_RULE_SETUP
#line 212 "Gmsh.l" #line 212 "Gmsh.l"
return tTransfinite; return tTranslate;
YY_BREAK YY_BREAK
case 113: case 113:
YY_RULE_SETUP YY_RULE_SETUP
#line 213 "Gmsh.l" #line 213 "Gmsh.l"
return tTranslate; return tTanh;
YY_BREAK YY_BREAK
case 114: case 114:
YY_RULE_SETUP YY_RULE_SETUP
#line 214 "Gmsh.l" #line 214 "Gmsh.l"
return tTanh ; return tTan;
YY_BREAK YY_BREAK
case 115: case 115:
YY_RULE_SETUP YY_RULE_SETUP
#line 215 "Gmsh.l" #line 215 "Gmsh.l"
return tTan; return tTrimmed;
YY_BREAK YY_BREAK
case 116: case 116:
YY_RULE_SETUP YY_RULE_SETUP
#line 216 "Gmsh.l" #line 217 "Gmsh.l"
return tTrimmed; return tUsing;
YY_BREAK YY_BREAK
case 117: case 117:
YY_RULE_SETUP YY_RULE_SETUP
#line 218 "Gmsh.l" #line 219 "Gmsh.l"
return tUsing; return tVolume;
YY_BREAK YY_BREAK
case 118: case 118:
YY_RULE_SETUP YY_RULE_SETUP
#line 220 "Gmsh.l" #line 221 "Gmsh.l"
return tVolume; return tWith;
YY_BREAK YY_BREAK
case 119: case 119:
YY_RULE_SETUP YY_RULE_SETUP
#line 222 "Gmsh.l" #line 223 "Gmsh.l"
return tWith; return tScalarPoint;
YY_BREAK YY_BREAK
case 120: case 120:
YY_RULE_SETUP YY_RULE_SETUP
#line 224 "Gmsh.l" #line 224 "Gmsh.l"
return tScalarPoint; return tVectorPoint;
YY_BREAK YY_BREAK
case 121: case 121:
YY_RULE_SETUP YY_RULE_SETUP
#line 225 "Gmsh.l" #line 225 "Gmsh.l"
return tVectorPoint; return tTensorPoint;
YY_BREAK YY_BREAK
case 122: case 122:
YY_RULE_SETUP YY_RULE_SETUP
#line 226 "Gmsh.l" #line 226 "Gmsh.l"
return tTensorPoint; return tScalarLine;
YY_BREAK YY_BREAK
case 123: case 123:
YY_RULE_SETUP YY_RULE_SETUP
#line 227 "Gmsh.l" #line 227 "Gmsh.l"
return tScalarLine; return tVectorLine;
YY_BREAK YY_BREAK
case 124: case 124:
YY_RULE_SETUP YY_RULE_SETUP
#line 228 "Gmsh.l" #line 228 "Gmsh.l"
return tVectorLine; return tTensorLine;
YY_BREAK YY_BREAK
case 125: case 125:
YY_RULE_SETUP YY_RULE_SETUP
#line 229 "Gmsh.l" #line 229 "Gmsh.l"
return tTensorLine; return tScalarTriangle;
YY_BREAK YY_BREAK
case 126: case 126:
YY_RULE_SETUP YY_RULE_SETUP
#line 230 "Gmsh.l" #line 230 "Gmsh.l"
return tScalarTriangle; return tVectorTriangle;
YY_BREAK YY_BREAK
case 127: case 127:
YY_RULE_SETUP YY_RULE_SETUP
#line 231 "Gmsh.l" #line 231 "Gmsh.l"
return tVectorTriangle; return tTensorTriangle;
YY_BREAK YY_BREAK
case 128: case 128:
YY_RULE_SETUP YY_RULE_SETUP
#line 232 "Gmsh.l" #line 232 "Gmsh.l"
return tTensorTriangle; return tScalarQuadrangle;
YY_BREAK YY_BREAK
case 129: case 129:
YY_RULE_SETUP YY_RULE_SETUP
#line 233 "Gmsh.l" #line 233 "Gmsh.l"
return tScalarQuadrangle; return tVectorQuadrangle;
YY_BREAK YY_BREAK
case 130: case 130:
YY_RULE_SETUP YY_RULE_SETUP
#line 234 "Gmsh.l" #line 234 "Gmsh.l"
return tVectorQuadrangle; return tTensorQuadrangle;
YY_BREAK YY_BREAK
case 131: case 131:
YY_RULE_SETUP YY_RULE_SETUP
#line 235 "Gmsh.l" #line 235 "Gmsh.l"
return tTensorQuadrangle; return tScalarTetrahedron;
YY_BREAK YY_BREAK
case 132: case 132:
YY_RULE_SETUP YY_RULE_SETUP
#line 236 "Gmsh.l" #line 236 "Gmsh.l"
return tScalarTetrahedron; return tVectorTetrahedron;
YY_BREAK YY_BREAK
case 133: case 133:
YY_RULE_SETUP YY_RULE_SETUP
#line 237 "Gmsh.l" #line 237 "Gmsh.l"
return tVectorTetrahedron; return tTensorTetrahedron;
YY_BREAK YY_BREAK
case 134: case 134:
YY_RULE_SETUP YY_RULE_SETUP
#line 238 "Gmsh.l" #line 238 "Gmsh.l"
return tTensorTetrahedron; return tScalarHexahedron;
YY_BREAK YY_BREAK
case 135: case 135:
YY_RULE_SETUP YY_RULE_SETUP
#line 239 "Gmsh.l" #line 239 "Gmsh.l"
return tScalarHexahedron; return tVectorHexahedron;
YY_BREAK YY_BREAK
case 136: case 136:
YY_RULE_SETUP YY_RULE_SETUP
#line 240 "Gmsh.l" #line 240 "Gmsh.l"
return tVectorHexahedron; return tTensorHexahedron;
YY_BREAK YY_BREAK
case 137: case 137:
YY_RULE_SETUP YY_RULE_SETUP
#line 241 "Gmsh.l" #line 241 "Gmsh.l"
return tTensorHexahedron; return tScalarPrism;
YY_BREAK YY_BREAK
case 138: case 138:
YY_RULE_SETUP YY_RULE_SETUP
#line 242 "Gmsh.l" #line 242 "Gmsh.l"
return tScalarPrism; return tVectorPrism;
YY_BREAK YY_BREAK
case 139: case 139:
YY_RULE_SETUP YY_RULE_SETUP
#line 243 "Gmsh.l" #line 243 "Gmsh.l"
return tVectorPrism; return tTensorPrism;
YY_BREAK YY_BREAK
case 140: case 140:
YY_RULE_SETUP YY_RULE_SETUP
#line 244 "Gmsh.l" #line 244 "Gmsh.l"
return tTensorPrism; return tScalarPyramid;
YY_BREAK YY_BREAK
case 141: case 141:
YY_RULE_SETUP YY_RULE_SETUP
#line 245 "Gmsh.l" #line 245 "Gmsh.l"
return tScalarPyramid; return tVectorPyramid;
YY_BREAK YY_BREAK
case 142: case 142:
YY_RULE_SETUP YY_RULE_SETUP
#line 246 "Gmsh.l" #line 246 "Gmsh.l"
return tVectorPyramid; return tTensorPyramid;
YY_BREAK YY_BREAK
case 143: case 143:
YY_RULE_SETUP YY_RULE_SETUP
#line 247 "Gmsh.l" #line 247 "Gmsh.l"
return tTensorPyramid; return tText2D;
YY_BREAK YY_BREAK
case 144: case 144:
YY_RULE_SETUP YY_RULE_SETUP
#line 248 "Gmsh.l" #line 248 "Gmsh.l"
return tText2D; return tText3D;
YY_BREAK YY_BREAK
case 145: case 145:
YY_RULE_SETUP YY_RULE_SETUP
#line 249 "Gmsh.l" #line 251 "Gmsh.l"
return tText3D; return tCARTESIAN_POINT;
YY_BREAK YY_BREAK
case 146: case 146:
YY_RULE_SETUP YY_RULE_SETUP
#line 252 "Gmsh.l" #line 252 "Gmsh.l"
return tCARTESIAN_POINT; return tB_SPLINE_SURFACE_WITH_KNOTS;
YY_BREAK YY_BREAK
case 147: case 147:
YY_RULE_SETUP YY_RULE_SETUP
#line 253 "Gmsh.l" #line 253 "Gmsh.l"
return tB_SPLINE_SURFACE_WITH_KNOTS; return tB_SPLINE_CURVE_WITH_KNOTS;
YY_BREAK YY_BREAK
case 148: case 148:
YY_RULE_SETUP YY_RULE_SETUP
#line 254 "Gmsh.l" #line 254 "Gmsh.l"
return tB_SPLINE_CURVE_WITH_KNOTS; return tUNSPECIFIED;
YY_BREAK YY_BREAK
case 149: case 149:
YY_RULE_SETUP YY_RULE_SETUP
#line 255 "Gmsh.l" #line 255 "Gmsh.l"
return tUNSPECIFIED; return tCONTINUOUS;
YY_BREAK YY_BREAK
case 150: case 150:
YY_RULE_SETUP YY_RULE_SETUP
#line 256 "Gmsh.l" #line 256 "Gmsh.l"
return tCONTINUOUS; return tFALSE;
YY_BREAK YY_BREAK
case 151: case 151:
YY_RULE_SETUP YY_RULE_SETUP
#line 257 "Gmsh.l" #line 257 "Gmsh.l"
return tFALSE; return tTRUE;
YY_BREAK YY_BREAK
case 152: case 152:
YY_RULE_SETUP YY_RULE_SETUP
#line 258 "Gmsh.l" #line 258 "Gmsh.l"
return tTRUE; return tU;
YY_BREAK YY_BREAK
case 153: case 153:
YY_RULE_SETUP YY_RULE_SETUP
#line 259 "Gmsh.l" #line 259 "Gmsh.l"
return tU; return tV;
YY_BREAK YY_BREAK
case 154: case 154:
YY_RULE_SETUP YY_RULE_SETUP
#line 260 "Gmsh.l" #line 260 "Gmsh.l"
return tV; return tORIENTED_EDGE;
YY_BREAK YY_BREAK
case 155: case 155:
YY_RULE_SETUP YY_RULE_SETUP
#line 261 "Gmsh.l" #line 261 "Gmsh.l"
return tORIENTED_EDGE; return tEDGE_CURVE;
YY_BREAK YY_BREAK
case 156: case 156:
YY_RULE_SETUP YY_RULE_SETUP
#line 262 "Gmsh.l" #line 262 "Gmsh.l"
return tEDGE_CURVE; return tEDGE_LOOP;
YY_BREAK YY_BREAK
case 157: case 157:
YY_RULE_SETUP YY_RULE_SETUP
#line 263 "Gmsh.l" #line 263 "Gmsh.l"
return tEDGE_LOOP; return tELLIPSE;
YY_BREAK YY_BREAK
case 158: case 158:
YY_RULE_SETUP YY_RULE_SETUP
......
\input texinfo.tex @c -*-texinfo-*- \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
@c Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle @c Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle
@c @c
...@@ -165,8 +165,8 @@ the @cite{Gmsh Reference Manual}, for Gmsh @value{GMSH-VERSION}. ...@@ -165,8 +165,8 @@ the @cite{Gmsh Reference Manual}, for Gmsh @value{GMSH-VERSION}.
Introduction Introduction
* What Gmsh is good at...:: * What Gmsh is pretty good at...::
* ... and what Gmsh sucks at:: * ... and what it is not so good at::
* Syntactic rules:: * Syntactic rules::
Overview Overview
...@@ -268,73 +268,119 @@ developments and download information, are always available on ...@@ -268,73 +268,119 @@ developments and download information, are always available on
@unnumbered Introduction @unnumbered Introduction
@cindex Introduction @cindex Introduction
@cindex Reading, guidelines @cindex Overview
Gmsh is an automatic three-dimensional finite element mesh generator, Gmsh is an automatic three-dimensional finite element mesh generator,
primarily Delaunay, with built-in pre- and post-processing facilities. Its primarily Delaunay, with built-in pre- and post-processing facilities. Its
primal design goal is to provide a simple meshing tool for academic test primal design goal is to provide a simple meshing tool for academic test
cases with parametric input and up to date visualization capabilities. cases with parametric input and up to date visualization capabilities. One
of the strengths of Gmsh is its ability to respect a characteristic length
One of the strengths of Gmsh is its ability to respect a characteristic field for the generation of adapted meshes on lines, surfaces and
length field for the generation of adapted meshes on lines, surfaces and
volumes. These adapted meshes can be mixed with simple structured 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 All geometrical, mesh, solver and post-processing instructions are
prescribed in a language analyzed by Lex and Yacc. The code itself is prescribed either interactively using the graphical user interface or in
written in C++, while the graphics are rendered with OpenGL and the user ASCII data files using Gmsh's own scripting language.
interface is based on the FLTK widget set. @xref{Programming comments}, for
some development comments.
@menu @menu
* What Gmsh is good at...:: * What Gmsh is pretty good at...::
* ... and what Gmsh sucks at:: * ... and what it is not so good at::
* Syntactic rules:: * Syntactic rules::
@end menu @end menu
@c ------------------------------------------------------------------------- @c -------------------------------------------------------------------------
@c What Gmsh is good at @c What Gmsh is pretty good at
@c ------------------------------------------------------------------------- @c -------------------------------------------------------------------------
@node What Gmsh is good at..., ... and what Gmsh sucks at, Introduction, Introduction @node What Gmsh is pretty good at..., ... and what it is not so good at, Introduction, Introduction
@section What Gmsh is good at... @section What Gmsh is pretty good at...
Gmsh should be 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 -------------------------------------------------------------------------
@c ... and what Gmsh sucks at @c ... and what it is not so good at
@c ------------------------------------------------------------------------- @c -------------------------------------------------------------------------
@node ... and what Gmsh sucks at, Syntactic rules, What Gmsh is good at..., Introduction @node ... and what it is not so good at, Syntactic rules, What Gmsh is pretty good at..., Introduction
@section ... and what Gmsh sucks at @section ... and what it is not so good 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.
@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 Gmsh is not a multibloc generator: all meshes produced by Gmsh are
conforming in the sense of finite element meshes conforming in the sense of finite element meshes (@pxref{Mesh})
(see XXX) @item
There is not support for curved mesh elements as of this writing (Gmsh
Gmsh was designed for solving academic/verification test-cases, not 1.44).
industrial-size problems. - very large problems: (> million elements) both @item
for geometry, mesh and post-processing. Gmsh is NOT optimized for Gmsh is designed for solving academic test-cases, not industrial-size
speed. Your mileage may vary, of course, depending of what you consider a problems. You may find that Gmsh is too slow for large problems (with
``large'' problem... thousands of geometric primitives; or millions of mesh/post-processing
elements).
@end itemize
@c ------------------------------------------------------------------------- @c -------------------------------------------------------------------------
@c Syntactic Rules Used in this Document @c Syntactic Rules Used in this Document
@c ------------------------------------------------------------------------- @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 @section Syntactic rules used in this document
@cindex Syntax, rules @cindex Syntax, rules
...@@ -349,8 +395,7 @@ speed. Your mileage may vary, of course, depending of what you consider a ...@@ -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 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 that metasyntactic variable definitions stay valid throughout all the manual
(and not only in the sections where the definitions (and not only in the sections where the definitions appear).
appear).
@enumerate @enumerate
@item @item
...@@ -368,9 +413,6 @@ Multiple choices are separated by @code{|}. ...@@ -368,9 +413,6 @@ Multiple choices are separated by @code{|}.
@item @item
Three dots (@dots{}) indicate a possible repetition of the preceding rule. Three dots (@dots{}) indicate a possible repetition of the preceding rule.
@item @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. The @var{etc} symbol replaces nonlisted rules.
@end enumerate @end enumerate
...@@ -386,18 +428,12 @@ The @var{etc} symbol replaces nonlisted rules. ...@@ -386,18 +428,12 @@ The @var{etc} symbol replaces nonlisted rules.
Gmsh is structured around four modules: geometry, mesh, solver and Gmsh is structured around four modules: geometry, mesh, solver and
post-processing. The specification of any input to these modules is done post-processing. The specification of any input to these modules is done
either interactively, or in text data files (interactive specifications either interactively, or in text data files (interactive specifications
generate language bits in the input file, and XXXlatin vice versa). The generate language bits in the input file, and vice versa). The accessibility
accessibility of most features in the ASCII text file makes it possible to of most features in the ASCII text file makes it possible to automate all
automate all treatments (loops, tests and external access methods permit treatments (loops, tests and external access methods permit advanced
advanced scripting capabilities). The internal kernel of Gmsh reflects this scripting capabilities). The internal kernel of Gmsh reflects this
structure: it is built around a geometry, mesh, solver and post-processing 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 module. A brief description of these four modules is given hereafter.
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.
@menu @menu
* Geometry:: * Geometry::
...@@ -430,17 +466,16 @@ of all geometrical entities. ...@@ -430,17 +466,16 @@ of all geometrical entities.
@node Mesh, Solver, Geometry, Overview @node Mesh, Solver, Geometry, Overview
@section Mesh: finite element mesh generation @section Mesh: finite element mesh generation
A finite element mesh is a tessellation of a given subset of A finite element mesh is a tessellation of a given subset of R3 by
R<sup>3</sup> by elementary geometrical elements of various shapes (in elementary geometrical elements of various shapes (in this case lines,
this case lines, triangles, quadrangles, tetrahedra, prisms, hexahedra triangles, quadrangles, tetrahedra, prisms, hexahedra and pyramids),
and pyramids), arranged in such a way that if two of them intersect, arranged in such a way that if two of them intersect, they do so along a
they do so along a face, an edge or a node, and never otherwise. All face, an edge or a node, and never otherwise. All the finite element meshes
the finite element meshes produced by Gmsh as unstructured, even if produced by Gmsh as unstructured, even if they were generated in a
they were generated in a structured way. This implies that the structured way. This implies that the elementary geometrical elements are
elementary geometrical elements are defined only by an ordered list of defined only by an ordered list of their vertices (which allows the
their vertices (which allows the orientation of all their lower order orientation of all their lower order geometrical entities) but no predefined
geometrical entities) but no predefined relation is assumed between relation is assumed between any two elementary elements.
any two elementary elements.
The mesh generation is performed in the same order as the geometry The mesh generation is performed in the same order as the geometry
creation: curves are discretized first; the mesh of the curves is then 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 ...@@ -458,23 +493,24 @@ as additional constraints for the unstructured parts. The implemented
Delaunay algorithm is subdivided in the following five steps for Delaunay algorithm is subdivided in the following five steps for
surface/volume discretization: surface/volume discretization:
1. trivial meshing of a box including the convex polygon/polyhedron @enumerate
defined by the boundary nodes resulting from the discretization of the @item
curves/surfaces; 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 @item
creation of the initial mesh by insertion of all the nodes on the
curves/surfaces thanks to the Bowyer algorithm; curves/surfaces thanks to the Bowyer algorithm;
@item
3. boundary restoration to force all the edges/faces of the boundary restoration to force all the edges/faces of the curves/surfaces to
curves/surfaces to be present in the initial mesh; be present in the initial mesh;
@item
4. suppression of all the unwanted triangles/tetrahedra (in suppression of all the unwanted triangles/tetrahedra (in particular those
particular those containing the nodes of the initial box); containing the nodes of the initial box);
@item
5. insertion of new nodes by the Bowyer algorithm until the insertion of new nodes by the Bowyer algorithm until the characteristic size
characteristic size of each simplex is lower or equal to the of each simplex is lower or equal to the characteristic length field
characteristic length field evaluated at the center of its evaluated at the center of its circumscribed circle/sphere.
circumscribed circle/sphere. @end enumerate
@c ------------------------------------------------------------------------- @c -------------------------------------------------------------------------
@c Solver: external solver interface @c Solver: external solver interface
...@@ -483,14 +519,12 @@ circumscribed circle/sphere. ...@@ -483,14 +519,12 @@ circumscribed circle/sphere.
@node Solver, Post-processing, Mesh, Overview @node Solver, Post-processing, Mesh, Overview
@section Solver: external solver interface @section Solver: external solver interface
External solvers can be interfaced with Gmsh through a socket External solvers can be interfaced with Gmsh through Unix sockets, which
mechanism, which permits to easily launch computations either locally permits to easily launch computations either locally or on remote computers,
or on remote computers, and to collect and exploit the simulation and to collect and exploit the simulation results within Gmsh. The default
results within Gmsh. The default solver interfaced with Gmsh is <a solver interfaced with Gmsh is GetDP
href="/getdp/">GetDP</a>. Check the <a href="#mysolver">solver (@uref{http://www.geuz.org/getdp/}). @xref{Solver}, to see how to define
examples</a> to see how to define your own solver (be sure to also your own solver.
read the answer to the question 6.1 in the <a
HREF="/gmsh/doc/FAQ">FAQ</a>).
@c ------------------------------------------------------------------------- @c -------------------------------------------------------------------------
@c Post-processing: scalar and vector field visualization @c Post-processing: scalar and vector field visualization
...@@ -499,17 +533,17 @@ HREF="/gmsh/doc/FAQ">FAQ</a>). ...@@ -499,17 +533,17 @@ HREF="/gmsh/doc/FAQ">FAQ</a>).
@node Post-processing, , Solver, Overview @node Post-processing, , Solver, Overview
@section Post-processing: scalar and vector field visualization @section Post-processing: scalar and vector field visualization
Multiple post-processing scalar or vector maps can be loaded and Multiple post-processing scalar or vector maps can be loaded and manipulated
manipulated (globally or individually) along with the geometry and the (globally or individually) along with the geometry and the mesh. Scalar
mesh. Scalar fields are represented by iso-value curves/surfaces or fields are represented by iso-value curves/surfaces or color maps and vector
color maps and vector fields by three-dimensional arrows or fields by three-dimensional arrows or displacement maps. Post-processing
displacement maps. Post-processing functions include arbitrary section functions include arbitrary section computation, offset, elevation, boundary
computation, offset, elevation, boundary extraction, color map and extraction, color map and range modification, animation, vector graphic
range modification, animation, <a href="/gl2ps/">vector graphic output, etc. All post-processing options can be accessed either
output</a>, etc. All post-processing options can be accessed either interactively or through the input ASCII text files. Scripting permits to
interactively or through the input ASCII text files. Scripting permits automate all the post-processing operations (e.g. for the creation of
to automate all the post-processing operations (e.g. for the creation complex animations). User-defined operations can also be performed on
of complex animations). post-proessing views through to dynamically loadable modules (plug-ins).
@c ========================================================================= @c =========================================================================
@c General tools @c General tools
...@@ -835,14 +869,13 @@ i.e.@: @code{^} has the highest evaluation priority). Parentheses ...@@ -835,14 +869,13 @@ i.e.@: @code{^} has the highest evaluation priority). Parentheses
@c ------------------------------------------------------------------------- @c -------------------------------------------------------------------------
@c Functions @c Built-in functions
@c ------------------------------------------------------------------------- @c -------------------------------------------------------------------------
@node Functions, General commands, Operators, General tools @node Built-in functions, General commands, Operators, General tools
@section Functions @section Built-in functions
@cindex Function, definition @cindex Functions, built-in
@cindex Built-in functions
@vindex @var{function-id} @vindex @var{function-id}
...@@ -967,37 +1000,61 @@ Hyperbolic tangent of @var{expression}. ...@@ -967,37 +1000,61 @@ Hyperbolic tangent of @var{expression}.
@end ftable @end ftable
@c ------------------------------------------------------------------------- @c -------------------------------------------------------------------------
@c General commands @c User-defined functions
@c ------------------------------------------------------------------------- @c -------------------------------------------------------------------------
@node General commands, Option database, Functions, General tools @node User-defined functions, General commands, Operators, General tools
@section General commands @section User-defined Functions
@cindex Function, user-defined
@ftable @code @ftable @code
@item Call @item Call
@code{"@var{expression-char}"} @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 For
@item Function @item EndFor
@item EndIf
@item If @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_Rank
@item MPI_Size @item MPI_Size
@item Printf @item Printf
@item Return
@item Sprintf @item Sprintf
@item StrCat @item StrCat
...@@ -1060,13 +1117,6 @@ same line is ignored. XXX verify this ...@@ -1060,13 +1117,6 @@ same line is ignored. XXX verify this
@code{#include @var{expression-char}} @code{#include @var{expression-char}}
@end example @end example
unused keywords:
Bounds
Complex
Ellipse
Extrude
ELLIPSE
@c ------------------------------------------------------------------------- @c -------------------------------------------------------------------------
@c Option database @c Option database
@c ------------------------------------------------------------------------- @c -------------------------------------------------------------------------
...@@ -1104,11 +1154,13 @@ XXX ...@@ -1104,11 +1154,13 @@ XXX
@item Dilate @item Dilate
@item Duplicata @item Duplicata
@item Ellipsis @item Ellipsis
(synonym: Ellipse)
@item Intersect @item Intersect
@item Knots @item Knots
@item Line @item Line
@item Loop @item Loop
@item Nurbs @item Nurbs Surface
@item Nurbs Surface With Bounds
@item Order @item Order
@item Physical @item Physical
@item Plane @item Plane
...@@ -1122,6 +1174,7 @@ XXX ...@@ -1122,6 +1174,7 @@ XXX
@item Translate @item Translate
@item Trimmed @item Trimmed
@item Volume @item Volume
(synonym: Complex Volume)
@end ftable @end ftable
@c ========================================================================= @c =========================================================================
...@@ -1138,6 +1191,7 @@ XXX ...@@ -1138,6 +1191,7 @@ XXX
@item Bump @item Bump
@item Characteristic @item Characteristic
@item Elliptic @item Elliptic
@item Extrude
@item Length @item Length
@item Layers @item Layers
@item Meshes @item Meshes
...@@ -1403,9 +1457,21 @@ dans Gmsh... ...@@ -1403,9 +1457,21 @@ dans Gmsh...
@cindex @code{yacc} @cindex @code{yacc}
@cindex @code{bison} @cindex @code{bison}
The analysis of the syntax is performed by Lex and Yacc, the software being The analysis of the syntax is performed by Lex and Yacc.
written in C++ (but most of it was initially written in C, which results in
some hybrid code...). 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 =========================================================================
@c Bugs, versions and contributors @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