sim-plugin-icepak
Use Codex, Claude Code, or another AI agent to work with Ansys Icepak thermal models through sim-cli.
sim-plugin-icepak is an initial Icepak driver plugin for sim-cli. It uses
PyAEDT as the Python control layer for Ansys Electronics Desktop (AEDT), keeps
the driver import-safe on machines without AEDT, and bundles an Icepak agent
skill so an agent has solver-specific workflow guidance after installation.
The Icepak/AEDT application is not bundled. See LICENSE-NOTICE.md.
Current maturity
This is an initial alpha release. It has unit coverage, protocol conformance coverage, simulated PyAEDT session coverage, packaging checks, and opt-in real Icepak smoke coverage for hosts with AEDT available.
Use it as an integration starting point, not as proof that a production Icepak workflow has been validated end to end.
Scope
Version 0.1.0 targets Icepak through PyAEDT's
ansys.aedt.core.icepak.Icepak interface.
Out of scope for this first version:
- HFSS-to-Icepak EM-loss coupling as a routine automated workflow
- Maxwell, Q3D, Circuit, HFSS, or generic AEDT workflows
- Direct
.aedtor.aedtzbatch solve without a PyAEDT script - Plugin-index catalogue entry before the package is published and smoke-tested
What an agent can do with Icepak
- Detect PyAEDT Python scripts that instantiate Icepak.
- Check whether AEDT appears to be installed on the host.
- Start a PyAEDT-backed Icepak session in graphical or non-graphical mode when AEDT is available.
- Execute bounded Python snippets against the active
icepakobject. - Inspect session, project, design, model, material, boundary, heat-source, monitor, setup, message, and best-effort solution-progress summaries.
- Parse exported temperature CSV files for quick maximum, mean, and ambient-rise checks.
- Run complete PyAEDT Python scripts through
sim run --solver icepak.
Install
Install the released wheel from GitHub:
uv pip install "https://github.com/svd-ai-lab/sim-plugin-icepak/releases/download/v0.1.0/sim_plugin_icepak-0.1.0-py3-none-any.whl"
For source testing against the release tag or current main branch:
uv pip install "git+https://github.com/svd-ai-lab/sim-plugin-icepak.git@v0.1.0"
uv pip install "git+https://github.com/svd-ai-lab/sim-plugin-icepak.git@main"
The repository includes a manual PyPI publish workflow for maintainers who have configured the required package-publishing secret.
After installation, sim-cli should auto-discover the driver and bundled skill:
sim check icepak
sim run --solver icepak path/to/script.py
If sim check icepak reports that AEDT itself is unavailable, first confirm the
Python package installed correctly, then fix the host AEDT installation,
environment variables, or runtime prerequisites.
AEDT discovery
The driver looks for AEDT using:
SIM_ICEPAK_AEDT_ROOTSIM_AEDT_ROOTANSYSEM_ROOT*- AEDT launchers such as
ansysedt,ansysedt.exe, oransysedtsv.exeonPATH - Windows Registry hints from AEDT/Ansys uninstall entries and
App Paths - conservative default Windows and Linux install roots
If AEDT is installed in a nonstandard location, set an explicit root:
$env:SIM_ICEPAK_AEDT_ROOT = 'C:\path\to\AnsysEM'
sim check icepak
You do not need to add AEDT to the global system PATH when default discovery
or one of the explicit environment variables works.
Common agent workflow
Use sim-cli when it adds discovery, session control, inspection, or artifact
tracking. Plain PyAEDT scripts, AEDT executables, and solver-native batch flows
are also valid when they are the narrower reliable path; keep the same evidence
standard either way.
-
Probe AEDT/Icepak availability, for example with
sim check icepakor an equivalent PyAEDT/AEDT executable probe. -
Choose GUI mode only when visual review is required; otherwise prefer non-graphical mode.
-
When using a live sim-cli session, inspect the active project/design before mutating anything:
sim connect --solver icepak --ui-mode no_gui sim inspect session.summary sim inspect icepak.project.identity sim inspect icepak.design.summary sim inspect icepak.model.summary sim inspect icepak.materials.summary sim inspect icepak.boundaries.summary sim inspect icepak.heat_sources.summary sim inspect icepak.monitors.summary sim inspect icepak.setups.summary
-
Run one bounded PyAEDT snippet, script, or native batch step at a time.
-
Inspect
last.result, AEDT messages, exported artifacts, and design state before solving or exporting the next result. -
Validate engineering results from Icepak artifacts and domain criteria, not from process success alone.
Develop
git clone https://github.com/svd-ai-lab/sim-plugin-icepak
cd sim-plugin-icepak
uv sync --extra test
uv run pytest -q
uv build
The test suite is designed to pass on machines without AEDT/Icepak. Real solver smoke testing is opt-in:
SIM_ICEPAK_RUN_INTEGRATION=1 uv run pytest tests/test_icepak_real_smoke.py -q
On PowerShell:
$env:SIM_ICEPAK_RUN_INTEGRATION = '1'
uv run pytest tests/test_icepak_real_smoke.py -q
License
Apache-2.0. See LICENSE and LICENSE-NOTICE.md.
Metadata
Release files for sim-plugin-icepak 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sim_plugin_icepak-0.1.0.tar.gz | 147.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| sim_plugin_icepak-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 173.7 kB
Release files / sim_plugin_icepak-0.1.0.tar.gz
| Download URL | sim_plugin_icepak-0.1.0.tar.gz |
|---|---|
| Size | 147.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0de1e3c8eb8a615fb4d9b8aba78620ac92420d57706763d444eba7d687b17daa
|
|
BLAKE2b-256 checksum How to use checksums |
211a9097d1a4bb7af23600e846a110785b54143b46f37359c59159aebcd873fe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / sim_plugin_icepak-0.1.0-py3-none-any.whl
| Download URL | sim_plugin_icepak-0.1.0-py3-none-any.whl |
|---|---|
| Size | 26.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
74b2349599ba4391f5abfbf73dba53613778efdfd8e7fb2e9b6b9d27e9291b24
|
|
BLAKE2b-256 checksum How to use checksums |
f89af3fc59e70d5771e0834fefc3108770ebf55fda12db6d32eb42c935b9635b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|