Download this example

Download this example as a Jupyter Notebook or as a Python script. All assets used in the examples can be downloaded as a ZIP archive.

How to get vtp export from xmp or xm3 results (Windows only)#

This tutorial demonstrates how to get vtp export when computing a simulation. It also demonstrates how to get vtp export from an existing xmp or xm3 result generated for example by Speos HPC computation.

Prerequisites#

Perform imports#

[1]:
import os
from pathlib import Path

from ansys.speos.core import Project, Speos, launcher
from ansys.speos.core.kernel.client import (
    default_docker_channel,
)
from ansys.speos.core.sensor import SensorIrradiance
from ansys.speos.core.simulation import SimulationDirect

Define constants#

Constants help ensure consistency and avoid repetition throughout the example.

[2]:
HOSTNAME = "localhost"
GRPC_PORT = 50098  # Be sure the Speos GRPC Server has been started on this port.
FILE_NAME = "LG_50M_Colorimetric_short.sv5"
RESULT_NAME = "ASSEMBLY1.DS (0).Dom Irradiance Sensor (0).xmp"
USE_DOCKER = True  # Set to False if you're running this example locally as a Notebook.

Model Setup#

Load assets#

The assets used to run this example are available in the PySpeos repository on GitHub.

Note: Make sure you have downloaded simulation assets and set assets_data_path to point to the assets folder.

[3]:
if USE_DOCKER:  # Running on the remote server.
    assets_data_path = Path("/app") / "assets"
else:
    assets_data_path = Path("/path/to/your/download/assets/directory")

Connect to the RPC Server#

This Python client connects to a server where the Speos engine is running as a service. In this example, the server and client are the same machine.

[4]:
if USE_DOCKER:
    speos = Speos(channel=default_docker_channel())
else:
    speos = launcher.launch_local_speos_rpc_server(port=GRPC_PORT)
/home/runner/work/pyspeos/pyspeos/.venv/lib/python3.14/site-packages/ansys/tools/common/cyberchannel.py:201: UserWarning: Starting gRPC client without TLS on localhost:50098. This is INSECURE. Consider using a secure connection.
  warn(f"Starting gRPC client without TLS on {target}. This is INSECURE. Consider using a secure connection.")

Create project from a Speos file#

The Project class is instantiated by passing a Speos instance and the name of the Speos project file.

[5]:
p = Project(
    speos=speos,
    path=str(assets_data_path / FILE_NAME / FILE_NAME),
)

Retrieve the simulation feature#

Use the method Project.find() to retrieve an instance of the SimulationDirect feature.

[6]:
sim = p.find(name=".*", name_regex=True, feature_type=SimulationDirect)[0]

Run simulation#

When running the simulation, the export_vtp argument can be set to True to get vtp export of the compatible results.

[7]:
if os.name == "nt":
    speos_results, vtp_results = sim.compute_CPU(export_vtp=True)  # run the simulation
    print(speos_results, vtp_results)

vtp export from an existing xmp or xm3 result#

Create a project#

The project needs to be created from the same Speos file used to generate the xmp or xm3 result.

[8]:
p2 = Project(
    speos=speos,
    path=str(assets_data_path / FILE_NAME / FILE_NAME),
)

Retrieve needed features#

The simulation is here retrieved, but won’t be computed. The vtp export will be done from the existing xmp or xm3 result.

The sensor feature is also retrieved.

[9]:
sim2 = p2.find(name=".*", name_regex=True, feature_type=SimulationDirect)[0]
ssr = p2.find(name=".*", name_regex=True, feature_type=SensorIrradiance)[0]

Export xmp result to vtp#

simulation feature and sensor feature are needed to export the xmp result to vtp. As well as the path of the existing xmp result.

[10]:
if os.name == "nt":
    from ansys.speos.core.workflow.open_result import export_xmp_vtp

    vtp_path = export_xmp_vtp(
        simulation_feature=sim2,
        xmp_feature=ssr,
        result_name=assets_data_path / "mimic_extern_results" / RESULT_NAME,
    )
[11]:
speos.close()
[11]:
True

Download this example

Download this example as a Jupyter Notebook or as a Python script. All assets used in the examples can be downloaded as a ZIP archive.