A pure Python reader for the EnSight Gold format
Project description
ensight-reader
This library provides a pure Python reader (with some writing capability) for the EnSight Gold data format,
a common format for results of computational fluid dynamics (CFD) simulations.
It also comes with a few CLI tools, notably ensight_transform
which
allows you to perform in-place scaling/translation/etc. of the geometry in your case.
The library designed for efficient, selective, memory-mapped access to data from EnSight Gold case –
something that would be useful when importing the data into other systems. If you're looking for a more "batteries included" solution, look at
vtkEnSightGoldBinaryReader
from the VTK library (see docs for comparison).
Requirements
- Python 3.9+
- NumPy 1.21+
Installation
pip install ensight-reader
Example – Python API
import ensightreader
import numpy as np
case = ensightreader.read_case("example.case")
geofile = case.get_geometry_model()
part_names = geofile.get_part_names() # ["internalMesh", ...]
part = geofile.get_part_by_name(part_names[0])
N = part.number_of_nodes
with geofile.open() as fp_geo:
node_coordinates = part.read_coordinates(fp_geo) # np.ndarray((N, 3), dtype=np.float32)
variable = case.get_variable("UMean")
with variable.mmap_writable() as mm_var:
data = variable.read_node_data(mm_var, part.part_id)
data[:] = np.sqrt(data) # transform variable data in-place
Example – CLI
# increment X coordinate
ensight_transform --translate 1 0 0 sphere.case
# scale by 1000 (eg. m -> mm conversion)
ensight_transform --scale 1e3 1e3 1e3 sphere.case
# rotation matrix
ensight_transform --matrix \
0 -1 0 0 \
1 0 0 0 \
0 0 1 0 \
0 0 0 1 \
sphere.case
# transform only "internalMesh" part
ensight_transform --translate 1 0 0 --only-parts internalMesh motorbike.case
To learn more, please see the documentation.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ensight-reader-0.11.0.tar.gz
.
File metadata
- Download URL: ensight-reader-0.11.0.tar.gz
- Upload date:
- Size: 23.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40f7e0c953217f34bea8397619bb92388939db6b955f73a60ef5904286d1d53a |
|
MD5 | f754ada0cb0a7f7a7f371f48b123146e |
|
BLAKE2b-256 | a8ee74d55ddfcf198786559ad2ae20e01bc9e26193bcc595821f6312152eef9f |
File details
Details for the file ensight_reader-0.11.0-py3-none-any.whl
.
File metadata
- Download URL: ensight_reader-0.11.0-py3-none-any.whl
- Upload date:
- Size: 25.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f6bdafd2291046ef839ca44d97c8a91a0403f65760c9e56b55e613ce28e3a85 |
|
MD5 | 93e66cccef66051f211a174410b58528 |
|
BLAKE2b-256 | 922c3170f18ec336c9979ed40aa4f5e107176cafdd5f88a4942d0208fcd61b7e |