geo - plot a finite element mesh
geo options mesh[.geo[.gz]]
Plot or upgrade a finite element mesh.
Plot a mesh:
geo square.geo
geo box.geo
geo box.geo -full
Plot a mesh into a file:
geo square.geo -image-format png
Convert from a old geo file format to the new one:
geo -upgrade - < square-old.geo > square.geo
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.
- filename
- specifies the name of the file containing the input mesh. The
".geo" suffix extension is assumed.
- -
- read mesh on standard input instead on a file.
- -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.
- -Idir
- -I dir
- Add dir to the rheolef file search path. This mechanism initializes
a search path given by the environment variable `RHEOPATH'. If the
environment variable `RHEOPATH' is not set, the default value is
the current directory.
- -check
- Check that element orientation is positive.
- -if format
- -input-format
format
- load mesh in format file format, instead of plotting it. Supported
output formats are: geo, bamg, vtk. When loading from
a file, the corresponding suffix extension is assumed.
- -gnuplot
- Use gnuplot tool. This is the default for 1D and 2D geometries.
- -paraview
- Use paraview tool. This is the default for 3D geometries.
- -mayavi
- Use mayavi tool. This tool has been supersetted by paraview
for 3D geometries. It its maintained for backward compatibility
purpose.
- -[no]lattice
- When using a high order geometry, the lattice inside any element appears.
Default is on;
- -[no]full
- All internal edges appears, for 3d meshes. Default is off;
- -[no]fill
- Fill mesh faces using light effects, when available.
- -[no]stereo
- Rendering mode suitable for red-blue anaglyph 3D stereoscopic glasses.
Option only available with mayavi or paraview.
- -[no]shrink
- shrink elements (with paraview only).
- -[no]cut
- cut by plane and clip (with mayavi or paraview only).
- -[no]label
- Show or hide labels, boundary domains and various annotations. By default,
domains are showed with a specific color.
- -round
[float]
- Round the input up to the specified precision. This option, combined with
-geo, 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.
- -geo
- output mesh on standard output stream in geo text file format, instead of
plotting it.
- -upgrade
- Convert from a old geo file format to the new one.
- -gmsh
- output mesh on standard output stream in gmsh text file format, instead of
plotting it.
- -image-format
string
- The argument is any valid image format, such as bitmap png,
jpg, gif, tif, ppm, bmp or vectorial
pdf, eps, ps, svg image file formats. this
option can be used with the paraview and the gnuplot
renders. The output file is e.g. basename.png when
basename is the name of the mesh, or can be set with the
-name option.
- -resolution
int int
- The argument is a couple of sizes, for the image resolution. This option
can be used together with the -image-format for any of the bitmap
image formats. This option requires the paraview render.
- -subdivide
int
- Subdivide each edge in k parts, where k is the prescribed
argument. The new vertices are numbered so that they coincide with the
Pk Lagrange nodes. It can be combined with the -geo 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
-gnuplot or paraview: When dealing with a curved high order
geometry, k 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.
- -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. This command is useful for mesh converted from generators, as
bamg, that cannot have more than one domain specification per
boundary edge.
- -rz
- -zr
- Specifies the coordinate system. Useful when converting from bamg or gmsh
format,.
- -verbose
- print messages related to graphic files created and command system calls
(this is the default).
- -noverbose
- does not print previous messages.
- -clean
- clear temporary graphic files (this is the default).
- -noclean
- does not clear temporary graphic files.
- -execute
- execute graphic command (this is the default).
- -noexecute
- does not execute graphic command. Generates only graphic files. This is
useful in conjunction with the "-noclean" command.
- -check
- -dump
- used for debug purpose.
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
mesh 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:
- p
- point
- e
- edge
- t
- triangle
- q
- quadrangle
- T
- tetrahedron
- P
- prism
- H
- hexaedron 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:
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
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.
The second entity is a list of domains, that finishes with the end
of file. A domain starts with the domain 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:
domain
bottom
2 1 1
0
domain
top
2 1 1
2
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:
geo square.geo
and the mesh is displayed.
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.
The simplified version of the previous mesh is:
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
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:
domain
bottom
1 1 1
e 0 1
domain
top
1 1 1
e 2 3
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:
geo -upgrade -geo square0.geo
and the previous mesh with its complete conectivity is displayed: edges has been
automatically identified and numbered, and domains now refers to edge indexes.
Note that, for the gms and bamg mesh generators,
automatic file conversion is provided by the msh2geo and
bamg2geo commands.
Copyright (C) 2000-2018 Pierre Saramito
<Pierre.Saramito@imag.fr> GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>. This is free software: you are
free to change and redistribute it. There is NO WARRANTY, to the extent
permitted by law.