SigmaEpsilon.Mesh - Data Structures, Computation and Visualization for Complex Polygonal Meshes in Python#

_images/logo.png

Version: 2.3.1

Useful links: Getting started | User Guide | Gallery | API Reference | Source Repository

The sigmaepsilon.mesh library aims to provide the tools to build and analyse polygonal meshes with complex topologies. Meshes can be built like a dictionary, using arbitrarily nested layouts and then be translated to other formats including VTK and PyVista. For plotting, there is also support for K3D, Matplotlib and Plotly.

The data model is built around Awkward, which makes it possible to attach nested, variable-sized data to the points or the cells in a mesh, also providing interfaces to other popular libraries like Pandas or PyArrow. Implementations are fast as they rely on the vector math capabilities of NumPy, while other computationally sensitive calculations are JIT-compiled using Numba.

Here and there we also use NetworkX, SciPy, SymPy and scikit-learn.

Highlights#

  • Classes to handle points, pointclouds, reference frames and jagged topologies.

  • Array-like mesh composition with a Numba-jittable database model. Join or split meshes, attach numerical data and save to and load from disk.

  • Simplified and preconfigured plotting facility using PyVista.

  • Grid generation in 1, 2 and 3 dimensions for arbitrarily structured Lagrangian cells.

  • A mechanism for all sorts of geometrical and topological transformations.

  • A customizable nodal distribution mechanism to effortlessly pass around data between points and cells.

  • Generation of Pseudo Peripheral Nodes, Rooted Level Structures and Adjancency Matrices for arbitrary polygonal meshes.

  • Symbolic shape function generation for arbitrarily structured Lagrangian cells in 1, 2 and 3 dimensions with an extendible interpolation and extrapolation mechanism.

  • Connections to popular third party libraries like networkx, pandas, vtk, PyVista and more.

  • The ability to read from a wide range of formats thanks to the combined power of vtk, PyVista and meshio.

Installation#

You can install the project from PyPI with pip:

$ pip install sigmaepsilon.mesh

Contents#

Getting Started

The getting started guide contains a basic introduction to the main concepts through simple examples.

User Guide

The user guide provides a more detailed walkthrough of the library, touching the key features with useful background information and explanation.

API Reference

The reference guide contains a detailed description of the functions, modules, and objects included in the library. The reference describes how the methods work and which parameters can be used. It assumes that you have an understanding of the key concepts.

Examples Gallery

A gallery of examples that illustrate uses cases that involve some kind of visualization.

Indices and tables#