GLVis / glvis

Lightweight OpenGL tool for accurate and flexible finite element visualization
http://glvis.org
BSD 3-Clause "New" or "Revised" License
253 stars 52 forks source link
computational-science data-viz finite-elements opengl radiuss visualization
                       GLVis visualization tool

                 _/_/_/  _/      _/      _/  _/
              _/        _/      _/      _/        _/_/_/
             _/  _/_/  _/      _/      _/  _/  _/_/
            _/    _/  _/        _/  _/    _/      _/_/
             _/_/_/  _/_/_/_/    _/      _/  _/_/_/

                         https://glvis.org

Release Build License Doxygen License License

GLVis is an OpenGL tool for visualization of finite element meshes and functions. It is a multiplatform application that can be built on Linux/Unix systems, including macOS, and under Windows. It can also be used in a Jupyter notebook, or in a web browser, see https://glvis.org/live.

We welcome contributions and feedback from the community. Please see the file CONTRIBUTING.md for additional details about our development process.

When started without any options, glvis starts a server which waits for a socket connections (on port 19916 by default) and visualizes any received data. This way the results of simulations on a remote (parallel) machine can be visualized on the local user desktop.

GLVis can also be used to visualize a mesh with or without a finite element function (solution), as in

glvis -m cube.mesh3d

For parallel computations, GLVis supports input from several parallel socket connections as well as the visualization of parallel meshes and grid functions saved in separate files from the command line as in

glvis -np 4 -m mesh -g solution

When given parallel input, GLVis will stitch the results to show the global mesh and solution. GLVis can also run a batch sequence of commands (GLVis scripts), or display previously saved socket streams.

For a complete list of command line options, type

glvis -h

Depending on the data type, variety of manipulations can be performed by using the mouse and by typing (case sensitive) keystrokes in the GLVis window. Below is a partial list of the available functionality. Some of these keys can also be provided as input, using the -k command-line option and the keys script command.

For high-order meshes and/or solution data, GLVis performs element subdivision to try to represent the data more accurately. However, for highly-varying data or large meshes, the auto-selected subdivision factor (see the Auto-refinement section below) may not be sufficient -- use the keys o / O, described below, to manually adjust the subdivision factor.

SPDX-License-Identifier: BSD-3-Clause
LLNL Release Number: LLNL-CODE-443271
DOI: 10.11578/dc.20171025.1249

Mouse functions

Basic

Advanced

Key commands

Basic

Advanced

2D scalar data

3D scalar data

2D vector data

3D vector data

Auto-refinement

The GLVis auto-refinement algorithm selects a subdivision factor trying to achieve an accurate representation of high-order meshes and solution data while keeping the initial time to visualize the data reasonable. The algorithm can be summarized as follows:

Note that, for highly-varying data or large meshes, this auto-selected subdivision factor may not be sufficient for accurate representation. In such cases the subdivision can be manually adjusted using the keys o / O, described above.