msh2vtu#
Section author: Dominik Kern (TU Bergakademie Freiberg)
msh2vtu
is a command line application that converts a Gmsh mesh for use
in OGS by extracting domain-, boundary- and physical group-submeshes and saves
them in vtu-format.
Note that all mesh entities should belong to physical groups.
Supported element types:
lines (linear and quadratic) in 1D
triangles and quadrilaterals (linear and quadratic) in 2D
tetra- and hexahedrons (linear and quadratic) in 3D
Command line usage#
Convert a gmsh mesh (.msh) to an unstructured grid file (.vtu).
Prepares a Gmsh-mesh for use in OGS by extracting domain-,
boundary- and physical group-submeshes, and saves them in
vtu-format. Note that all mesh entities should belong to
physical groups.
usage: msh2vtu [-h] [-o OUTPUT_PATH] [-p PREFIX] [-d [DIM ...]] [-z] [-s] [-r]
[-k] [-a] [-l LOG_LEVEL] [-v]
filename
Positional Arguments#
- filename
Gmsh mesh file (.msh) as input data
Named Arguments#
- -o, --output_path
Path of output files, defaults to current working dir
Default: “”
- -p, --prefix
Output files prefix, defaults to basename of inputfile
Default: “”
- -d, --dim
- Spatial dimension (1, 2 or 3), trying automatic detection,
if not given. If multiple dimensions are provided, all elements of these dimensions are embedded in the resulting domain mesh.
Default: 0
- -z, --delz
- Delete z-coordinate, for 2D-meshes with z=0.
Note that vtu-format requires 3D points.
Default: False
- -s, --swapxy
Swap x and y coordinate
Default: False
- -r, --reindex
- Renumber physical group / region / Material IDs to be
renumbered beginning with zero.
Default: False
- -k, --keep_ids
- By default, rename ‘gmsh:physical’ to ‘MaterialIDs’
and change type of corresponding cell data to INT32. If True, this is skipped.
Default: False
- -a, --ascii
Save output files (.vtu) in ascii format.
Default: False
- -l, --log_level
- Level of log output. Possible values:
- returns:
0 if successful, otherwise error message.
Default: “DEBUG”
- -v, --version
show program’s version number and exit
API usage#
In addition, it may be used as Python module:
from ogstools.msh2vtu import msh2vtu
msh2vtu(
input_filename="my_mesh.msh",
output_path="",
output_prefix="my_meshname",
dim=0,
delz=False,
swapxy=False,
rdcd=True,
ogs=True,
ascii=False,
log_level="DEBUG",
)
Examples#
A geological model (2D) of a sediment basin by Christian Silbermann and a terrain model (3D) from the official Gmsh tutorials (x2).
msh2vtu example/geolayers_2d.msh
generates the following output files:
geolayers_2d_boundary.vtu
geolayers_2d_domain.vtu
geolayers_2d_physical_group_RockBed.vtu
geolayers_2d_physical_group_SedimentLayer1.vtu
geolayers_2d_physical_group_SedimentLayer2.vtu
geolayers_2d_physical_group_SedimentLayer3.vtu
geolayers_2d_physical_group_Bottom.vtu
geolayers_2d_physical_group_Left.vtu
geolayers_2d_physical_group_Right.vtu
geolayers_2d_physical_group_Top.vtu