.\" .de Id .. .de Sp .if n .sp .if t .sp 0.4 .. .TH geo 1rheolef "rheolef-7.0" "rheolef-7.0" "rheolef-7.0" .\" label: /*Prog:geo .SH NAME \fBgeo\fP - plot a finite element mesh .\" skip: @pindex geo .\" skip: @cindex plotting .\" skip: @cindex plotting mesh .\" skip: @cindex mesh graphic representation .\" skip: @clindex geo .SH SYNOPSIS .\" begin_example .Sp .nf geo \fIoptions\fP \fImesh\fP[.geo[.gz]] .Sp .fi .\" end_example .SH DESCRIPTION Plot or upgrade a finite element mesh. .SH EXAMPLES Plot a mesh: .\" begin_example .Sp .nf geo square.geo geo box.geo geo box.geo -full .Sp .fi .\" end_example Plot a mesh into a file: .\" begin_example .Sp .nf geo square.geo -image-format png .Sp .fi .\" end_example Convert from a old geo file format to the new one: .\" begin_example .Sp .nf geo -upgrade - < square-old.geo > square.geo .Sp .fi .\" end_example See below for the geo file format scpecification. The old file format does not contains edges and faces connectivity in 3d geometries, or edges connectivity in 2d geometries. The converter add it automatically into the upgraded file format. Conversely, the old file format is useful when combined with a translator from another file format that do not provides edges and faces connectivity. .PP .SH INPUT FILE SPECIFICATION .\" begin table .\" start item .TP .B \fIfilename\fP specifies the name of the file containing the input mesh. The ".geo" suffix extension is assumed. .\" start item .TP .B - read mesh on standard input instead on a file. .\" start item .TP .B -name when mesh comes from standard input, the mesh name is not known and is set to "output" by default. This option allows one to change this default. Useful when dealing with output formats (graphic, format conversion) that creates auxiliary files, based on this name. .\" skip: @cindex RHEOPATH environment variable .\" start item .TP .B -I\fIdir\fP .\" start item .TP .B -I \fIdir\fP Add \fIdir\fP to the rheolef file search path. This mechanism initializes a search path given by the environment variable `\fBRHEOPATH'\fP. If the environment variable `\fBRHEOPATH'\fP is not set, the default value is the current directory. .\" start item .TP .B -check Check that element orientation is positive. .\" end table .PP .SH INPUT FORMAT OPTIONS .\" skip: @toindex @code{bamg} .\" skip: @fiindex @file{.bamg} mesh file .\" skip: @toindex @code{vtk} .\" skip: @fiindex @file{.vtk} mesh file .\" begin table .\" start item .TP .B -if \fIformat\fP .\" start item .TP .B -input-format \fIformat\fP load mesh in \fIformat\fP file format, instead of plotting it. Supported output formats are: \fBgeo\fP, \fBbamg\fP, \fBvtk\fP. When loading from a file, the corresponding suffix extension is assumed. .\" end table .PP .SH RENDER SPECIFICATION .\" skip: @cindex graphic render .\" skip: @toindex @code{gnuplot} .\" begin table .\" start item .TP .B -gnuplot Use gnuplot tool. This is the default for 1D and 2D geometries. .\" skip: @toindex @code{paraview} .\" start item .TP .B -paraview Use \fBparaview\fP tool. This is the default for 3D geometries. .\" skip: @toindex @code{mayavi} .\" start item .TP .B -mayavi Use \fBmayavi\fP tool. This tool has been supersetted by \fBparaview\fP for 3D geometries. It its maintained for backward compatibility purpose. .\" end table .PP .SH RENDER OPTIONS .\" begin table .\" start item .TP .B -[no]lattice When using a high order geometry, the lattice inside any element appears. Default is on; .\" start item .TP .B -[no]full All internal edges appears, for 3d meshes. Default is off; .\" start item .TP .B -[no]fill Fill mesh faces using light effects, when available. .\" skip: @cindex @code{stereo 3D rendering} .\" start item .TP .B -[no]stereo Rendering mode suitable for red-blue anaglyph 3D stereoscopic glasses. Option only available with \fBmayavi\fP or \fBparaview\fP. .\" start item .TP .B -[no]shrink shrink elements (with \fBparaview\fP only). .\" start item .TP .B -[no]cut cut by plane and clip (with \fBmayavi\fP or \fBparaview\fP only). .\" start item .TP .B -[no]label Show or hide labels, boundary domains and various annotations. By default, domains are showed with a specific color. .\" start item .TP .B -round [\fIfloat\fP] Round the input up to the specified precision. This option, combined with \fB-geo\fP, leads to a round filter. Useful for non-regression test purpose, in order to compare numerical results between files with a limited precision, since the full double precision is machine-dependent. .\" end table .PP .SH OUTPUT FILE FORMAT OPTIONS .\" begin table .\" start item .TP .B -geo output mesh on standard output stream in geo text file format, instead of plotting it. .\" start item .TP .B -upgrade Convert from a old geo file format to the new one. .\" skip: @toindex @code{gmsh} .\" skip: @fiindex @file{.gmsh} mesh file .\" start item .TP .B -gmsh output mesh on standard output stream in gmsh text file format, instead of plotting it. .\" skip: @cindex graphic render .\" skip: @cindex image file format .\" skip: @cindex graphic render .\" skip: @fiindex @file{.png} image .\" skip: @fiindex @file{.jpg} image .\" skip: @fiindex @file{.gif} image .\" skip: @fiindex @file{.tif} image .\" skip: @fiindex @file{.ppm} image .\" skip: @fiindex @file{.bmp} image .\" skip: @fiindex @file{.pdf} image .\" skip: @fiindex @file{.eps} image .\" skip: @fiindex @file{.ps} image .\" skip: @fiindex @file{.svg} image .\" start item .TP .B -image-format \fBstring\fP The argument is any valid image format, such as bitmap \fBpng\fP, \fBjpg\fP, \fBgif\fP, \fBtif\fP, \fBppm\fP, \fBbmp\fP or vectorial \fBpdf\fP, \fBeps\fP, \fBps\fP, \fBsvg\fP image file formats. this option can be used with the \fBparaview\fP and the \fBgnuplot\fP renders. The output file is e.g. \fIbasename\fP.\fBpng\fP when \fIbasename\fP is the name of the mesh, or can be set with the \fB-name\fP option. .\" start item .TP .B -resolution \fBint\fP \fBint\fP The argument is a couple of sizes, for the image resolution. This option can be used together with the \fB-image-format\fP for any of the bitmap image formats. This option requires the \fBparaview\fP render. .\" end table .PP .SH OTHERS OPTIONS .\" begin table .\" start item .TP .B -subdivide int .\" skip: @cindex mesh subdividing Subdivide each edge in \fIk\fP parts, where \fIk\fP is the prescribed argument. The new vertices are numbered so that they coincide with the P\fIk\fP Lagrange nodes. It can be combined with the \fB-geo\fP option to get the subdivided mesh. In that case, default value is 1, i.e. no subdividing. It can also be combined with a graphic option, such that \fB-gnuplot\fP or \fBparaview\fP: When dealing with a curved high order geometry, \fIk\fP corresponds to the number of points per edge used to draw a curved element. In that case, this option is activated by default and value is the curved mesh order. .\" start item .TP .B -add-boundary check for a domain named "boundary"; If this domain does not exists, extract the boundary of the geometry and append it to the domain list. .\" skip: @toindex @code{bamg} This command is useful for mesh converted from generators, as \fBbamg\fP, that cannot have more than one domain specification per boundary edge. .\" start item .TP .B -rz .\" start item .TP .B -zr Specifies the coordinate system. Useful when converting from bamg or gmsh format,. .\" start item .TP .B -verbose print messages related to graphic files created and command system calls (this is the default). .\" start item .TP .B -noverbose does not print previous messages. .\" start item .TP .B -clean clear temporary graphic files (this is the default). .\" start item .TP .B -noclean does not clear temporary graphic files. .\" start item .TP .B -execute execute graphic command (this is the default). .\" start item .TP .B -noexecute does not execute graphic command. Generates only graphic files. This is useful in conjunction with the "-noclean" command. .\" start item .TP .B -check .\" start item .TP .B -dump used for debug purpose. .\" end table .PP .SH INQUIRE OPTIONS .\" begin table .\" start item .TP .B -size .\" start item .TP .B -n-element print the mesh size, i.e. the number of elements and then exit. .\" start item .TP .B -n-vertex print the number of elements and then exit. .\" start item .TP .B -sys-coord print the coordinate systemm and then exit. .\" start item .TP .B -hmin .\" start item .TP .B -hmax print the smallest (resp. largest) edge length and then exit. .\" start item .TP .B -xmin .\" start item .TP .B -xmax print the bounding box lower-left (resp. top-right) corner and exit. .\" start item .TP .B -min-element-measure .\" start item .TP .B -max-element-measure print the smallest (resp. largest) element measure and then exit. .\" end table .PP .SH GEO FILE FORMAT This is the default mesh file format. It contains two entities, namely a mesh and a list of domains. The mesh entity starts with the \fBmesh\fP keyword, that should be at the beginning of a line. It is followed by the geo format version number: the current mesh format version number is 4. Next comes the header, containing global information: the space dimension (e.g. 1, 2 or 3), the number of nodes and the number of elements, for each type of element (tetrahedra, etc). When dimension is three, the number of faces (triangles, quadranggles) is specified, and then, when dimension is two or three, the number of edges is also specified. Follows the node coordinates list and the elements connectivity list. Each element starts with a letter indicating the element type: .\" begin table .\" start item .TP .B p point .\" start item .TP .B e edge .\" start item .TP .B t triangle .\" start item .TP .B q quadrangle .\" start item .TP .B T tetrahedron .\" start item .TP .B P prism .\" start item .TP .B H hexaedron .\" end table Then, for each element, comes the vertex indexes. A vertex index is numbered in the C-style, i.e. the first index started at 0 and the larger one is the number of vertices minus one. A sample mesh writes: .\" begin_example .Sp .nf mesh 4 header dimension 2 nodes 4 triangles 2 edges 5 end header 0 0 1 0 1 1 0 1 t 0 1 3 t 1 2 3 e 0 1 e 1 2 e 2 3 e 3 0 e 1 3 .Sp .fi .\" end_example .PP Note that information about edges for 2d meshes and faces for 3d one are required for maintaining P2 and higher order approximation fields in a consistent way: degrees of freedom associated to sides requires that sides are well defined. .PP The second entity is a list of domains, that finishes with the end of file. A domain starts with the \fBdomain\fP keyword, that should be at the beginning of a line. It is followed by the domain name, a simple string. Then, comes the domain format version: the current domain version number is 2. Next, the domain dimension and its number of elements. Finally, the list of elements: they are specified by the element index in the mesh, preceded by its orientation. A minus sign specifies that the element (generaly a side) has the opposite orientation, while the plus sign is omitted. A sample domain list writes: .\" begin_example .Sp .nf domain bottom 2 1 1 0 .PP domain top 2 1 1 2 .Sp .fi .\" end_example Copy and paste the previous sample mesh data in a file, e.g. "square.geo". Be carreful for the "mesh" and "domain" to be at the beginning of a line. Then enter: .\" begin_example .Sp .nf geo square.geo .Sp .fi .\" end_example and the mesh is displayed. .PP .SH FILE FORMAT CONVERSION AND SIMPLIFIED GEO FILE FORMAT .\" skip: @toindex @code{gmsh} .\" skip: @toindex @code{bamg} Information about edges for 2d meshes and faces for 3d one is not provided by most mesh generators (e.g. gmsh or bamg). It could be complex to build this list, so a simplified file format is also supported, without faces and/or edges connectvity, and the geo command proposes to build it automatically and save it in a more complete, upgraded geo file. .PP The simplified version of the previous mesh is: .\" begin_example .Sp .nf mesh 4 header dimension 2 nodes 4 triangles 2 end header 0 0 1 0 1 1 0 1 t 0 1 3 t 1 2 3 .Sp .fi .\" end_example The domain list is no more able to refer to existing sides: edges are simply listed by their complete connectivity, thanks to the domain format version number 1. For the previous example, we have: .\" begin_example .Sp .nf domain bottom 1 1 1 e 0 1 .PP domain top 1 1 1 e 2 3 .Sp .fi .\" end_example Copy and paste the previous simplified sample mesh data in a file, e.g. "square0.geo". Be carreful for the "mesh" and "domain" to be at the beginning of a line. Then enter: .\" begin_example .Sp .nf geo -upgrade -geo square0.geo .Sp .fi .\" end_example and the previous mesh with its complete conectivity is displayed: edges has been automatically identified and numbered, and domains now refers to edge indexes. .PP Note that, for the \fBgms\fP and \fBbamg\fP mesh generators, automatic file conversion is provided by the \fBmsh2geo\fP and \fBbamg2geo\fP commands. .PP .\" skip start:AUTHOR: .\" skip start:DATE: .\" END .SH COPYRIGHT Copyright (C) 2000-2018 Pierre Saramito GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.