.TH "geo" 1rheolef "Sat Mar 13 2021" "Version 7.1" "rheolef" \" -*- nroff -*- .ad l .nh .SH NAME geo \- plot a finite element mesh (rheolef-7\&.1) .PP .SH "SYNOPSIS" .PP .PP .nf geo [options] file[.geo[.gz]] .fi .PP .SH "DESCRIPTION" .PP Plot or upgrade a finite element mesh\&. .SH "EXAMPLES" .PP Plot a mesh: .PP .nf geo square.geo geo box.geo geo box.geo -full .fi .PP Plot a mesh into a file: .PP .nf geo square.geo -image-format png .fi .PP Convert from a old geo file format to the new one: .PP .nf geo -upgrade - < square-old.geo > square.geo .fi .PP See below for the geo file format specification\&. 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\&. .SH "INPUT FILE SPECIFICATION" .PP filename .PP .RS 4 Specifies the name of the file containing the input mesh\&. The '\&.geo' suffix extension is assumed\&. .RE .PP \fC-\fP .PP .RS 4 Read mesh on standard input instead on a file\&. .RE .PP \fC-name\fP \fIstring\fP .PP .RS 4 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\&. This option is useful when dealing with output formats (graphic, format conversion) that creates auxiliary files, based on this name\&. .RE .PP \fC-I\fP\fIdir\fP .br \fC-I\fP \fIdir\fP .PP .RS 4 Add \fIdir\fP to the Rheolef file search path\&. This mechanism initializes a search path given by the environment variable \fCRHEOPATH\fP\&. If the environment variable \fCRHEOPATH\fP is not set, the default value is the current directory\&. .RE .PP \fC-check\fP .PP .RS 4 Check the mesh file: numbering, bounds and that for all element, its orientation is positive\&. .RE .PP .SH "INPUT FORMAT OPTIONS" .PP .PP \fC-if\fP \fIformat\fP .br \fC-input-format\fP \fIformat\fP .PP .RS 4 Load mesh in a given file format\&. Supported input formats are: \fCgeo\fP, \fCbamg\fP, \fCvtk\fP\&. .RE .PP .SH "RENDER SPECIFICATION" .PP .PP \fC-gnuplot\fP .PP .RS 4 Use the \fCgnuplot\fP tool\&. This is the default for 1D geometry\&. .RE .PP .PP \fC-paraview\fP .PP .RS 4 Use the \fCparaview\fP tool\&. This is the default for 2D and 3D geometries\&. .RE .PP .SH "RENDER OPTIONS" .PP \fC-[no]lattice\fP .PP .RS 4 When using a high order geometry, the lattice inside any element appears\&. Default is on\&. .RE .PP \fC-[no]full\fP .PP .RS 4 All internal edges appears, for 3d meshes\&. Default is off\&. .RE .PP \fC-[no]fill\fP .PP .RS 4 Fill mesh faces using light effects, when available\&. .RE .PP \fC-[no]stereo\fP .PP .RS 4 Rendering mode suitable for red-blue anaglyph 3D stereoscopic glasses\&. Option only available with \fCparaview\fP\&. .RE .PP \fC-[no]shrink\fP .PP .RS 4 shrink elements (with \fCparaview\fP only)\&. .RE .PP \fC-[no]cut\fP .PP .RS 4 cut by plane and clip (with \fCparaview\fP only)\&. .RE .PP \fC-[no]showlabel\fP .PP .RS 4 Show or hide labels, boundary domains and various annotations\&. By default, domains are showed with a specific color\&. .RE .PP \fC-round [*float*]\fP .PP .RS 4 Round the input up to the specified precision\&. This option, combined with \fC-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\&. .RE .PP .SH "OUTPUT FORMAT OPTIONS" .PP \fC-geo\fP .PP .RS 4 output mesh on standard output stream in geo text file format, instead of plotting it\&. .RE .PP \fC-upgrade\fP .PP .RS 4 Convert from a old geo file format to the new one\&. .RE .PP .PP \fC-gmsh\fP .PP .RS 4 Output mesh on standard output stream in gmsh text file format, instead of plotting it\&. .RE .PP .PP \fC-image-format\fP \fIstring\fP .PP .RS 4 The argument is any valid image format, such as bitmap \fCpng\fP, \fCjpg\fP, \fCgif\fP, \fCtif\fP, \fCppm\fP, \fCbmp\fP or vectorial \fCpdf\fP, \fCeps\fP, \fCps\fP, \fCsvg\fP image file formats\&. this option can be used with the \fCparaview\fP and the \fCgnuplot\fP renders\&. The output file is e\&.g\&. basename\&.\fCpng\fP when basename is the name of the mesh, or can be set with the \fC-name\fP option\&. .RE .PP \fC-resolution\fP \fIint\fP \fIint\fP .PP .RS 4 The two arguments represent a couple of sizes, for the image resolution, e\&.g\&. 1024 and 768 for a 1024x768 image size\&. This option can be used together with the \fC-image-format\fP for any of the bitmap image formats\&. This option requires the \fCparaview\fP render\&. .RE .PP .SH "OTHERS OPTIONS" .PP .PP \fC-subdivide\fP \fIint\fP .PP .RS 4 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 \fC-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 \fC-gnuplot\fP or \fCparaview\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\&. .RE .PP \fC-add-boundary\fP .PP .RS 4 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\&. This command is useful for mesh converted from generators, as \fCbamg\fP, that cannot have more than one domain specification per boundary edge\&. .RE .PP \fC-rz\fP .br \fC-zr\fP .PP .RS 4 Specifies the coordinate system\&. Useful when converting from \fCbamg\fP or \fCgmsh\fP format, that do not have any coordinate system specification\&. .RE .PP \fC-[no]verbose\fP .PP .RS 4 Print messages related to graphic files created and command system calls (this is the default)\&. .RE .PP `-[no]clean .PP .RS 4 Clear temporary graphic files (this is the default)\&. .RE .PP .br \fC-[no]execute\fP .PP .RS 4 Execute graphic command (this is the default)\&. The \fC-noexecute\fP variant is useful in conjunction with the \fC-verbose\fP and \fC-noclean\fP options in order to modify some render options by hand\&. .RE .PP \fC-dump\fP .PP .RS 4 Used for debug purpose\&. .RE .PP .SH "INQUIRE OPTIONS" .PP \fC-size\fP .br \fC-n-element\fP .PP .RS 4 Print the mesh size, i\&.e\&. the number of elements and then exit\&. .RE .PP \fC-n-vertex\fP .PP .RS 4 Print the number of elements and then exit\&. .RE .PP \fC-sys-coord\fP .PP .RS 4 Print the coordinate system and then exit\&. .RE .PP \fC-hmin\fP .br \fC-hmax\fP .PP .RS 4 Print the smallest (resp\&. largest) edge length and then exit\&. .RE .PP \fC-xmin\fP .br \fC-xmax\fP .PP .RS 4 Print the bounding box lower-left (resp\&. top-right) corner and exit\&. .RE .PP \fC-min-element-measure\fP .br \fC-max-element-measure\fP .PP .RS 4 Print the smallest (resp\&. largest) element measure and then exit\&. .RE .PP .SH "FILE FORMAT CONVERSION" .PP For the \fCgmsh\fP and \fCbamg\fP mesh generators, automatic file conversion is provided by the \fCmsh2geo\fP and \fCbamg2geo\fP commands (see \fBbamg2geo_1\fP and \fBmsh2geo_1\fP )\&. .PP For conversion from the \fC\&.vtk\fP legacy ascii file format to the \fC\&.geo\fP one, simply writes: .PP .nf geo -if vtk -geo - < input.vtk > output.geo .fi .PP .SH "THE GEO FILE FORMAT" .PP .PP 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 \fCmesh\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 (tetrahedron, etc)\&. When dimension is three, the number of faces (triangles, quadrangles) 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: .PP .nf letter | element type -------|------------- p | point e | edge t | triangle q | quadrangle T | tetrahedron P | prism H | hexahedron .fi .PP 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: .PP .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 .fi .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 \fCdomain\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 (generally a side) has the opposite orientation, while the plus sign is omitted\&. A sample domain list writes: .PP .nf domain bottom 2 1 1 0 domain top 2 1 1 2 .fi .PP 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: .PP .nf geo square.geo .fi .PP and the mesh is displayed\&. .SH "THE SIMPLIFIED GEO FILE FORMAT" .PP .PP 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 connectivity, 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: .PP .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 .fi .PP 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: .PP .nf domain bottom 1 1 1 e 0 1 domain top 1 1 1 e 2 3 .fi .PP Copy and paste the previous simplified sample mesh data in a file, e\&.g\&. \fCsquare0\&.geo\fP\&. Be carreful for the \fCmesh\fP and \fCdomain\fP keywords to be at the beginning of a line\&. Then enter: .PP .nf geo -upgrade -geo square0.geo .fi .PP and the previous mesh with its complete connectivity is displayed: edges has been automatically identified and numbered, and domains now refers to edge indexes\&. .SH "IMPLEMENTATION" .PP This documentation has been generated from file main/bin/geo\&.cc .SH AUTHOR Pierre Saramito .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.