Getting started#
To use PyEnSight, you must have a locally installed and licensed copy of Ansys EnSight 2022 R2 or later.
To obtain a copy, see the Ansys EnSight page on the Ansys website.
Install the package#
The ansys-pyensight-core
package supports Python 3.8 through
Python 3.11 on Windows and Linux.
Install the latest package with this command:
pip install ansys-pyensight-core
If you plan on doing local development of PyEnSight on Linux, install the latest package with these commands:
git clone https://github.com/ansys/pyensight
cd pyensight
pip install virtualenv
virtualenv venv # create virtual environment
source venv/bin/activate # (.\venv\Scripts\activate for Windows shell)
pip install .[dev] # install development dependencies
You can then start developing PyEnSight.
To build and install PyEnSight, run these commands:
python -m build # build
# this replaces the editable installation done previously. If you don't want
# to replace, switch your virtual environments to test the new install separately.
pip install .[tests] # install test dependencies
pytest # Run the tests
Set up pre-commit
#
pre-commit
is a multi-language package manager for pre-commit hooks.
To install pre-commit
into your git hooks, run this command:
pre-commit install
pre-commit
now runs on every commit. Each time that you clone a repository,
running the preceding command to install pre-commit
is always the first
thing that you should do.
If you want to manually run all pre-commit hooks on a repository, run this command:
pre-commit run --all-files
A bunch of formatters run on your source files.
To run individual hooks, use this command:
pre-commit run <hook_id>
You can obtain the <hook_id>
from the .pre-commit-config.yaml
file.
The first time pre-commit
runs on a file, it automatically downloads,
installs, and runs the hook.
Start the EnSight session#
The simplest way of starting an EnSight session is to use the following code, which looks for a local Ansys software installation to use to launch an EnSight instance on the local system.
from ansys.pyensight.core import LocalLauncher
session = LocalLauncher().start()
Optionally, you can start an EnSight Docker container by using code like this:
from ansys.pyensight.core import DockerLauncher
launcher = DockerLauncher(data_directory=r"d:\data", use_dev=True)
launcher.pull()
session = launcher.start()
In the preceding code, the data_directory
argument specifies the host directory
to map into the container at the mount point, providing access to the data within
the container. This provides a method for EnSight running in the container to access
the host’s file system to read or write data. The optional use_dev=True
argument
specifies that the latest development version of EnSight should be used.
Run commands#
Once an EnSight instance is running, you can use the session interface to interact with it.
The cmd
method can execute any Python string
in the EnSight Python interpreter.
For example, this code returns the value 25.0:
value = session.cmd("10.*2.5")
The following code uses the load_data
method to load a dataset and render the current scene into a PNG-formatted stream.
session.load_data('D:/data/CFX/example_data.res')
image_data = session.render(1920, 1080, aa=4)
with open("image.png", "wb") as f:
f.write(image_data)
The resulting image, which is rendered using 4x antialiasing, is 1920x1080 pixels.
You can use the show
method to view or interact
with the current EnSight session via the web. This method supports creating various graphical
representations and returns URLs for viewing or interacting with these representations.
remote = session.show("remote")
remote.browser()