Skip to main content

Ansys Icepak driver for sim-cli, distributed as a plugin

Project description

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 .aedt or .aedtz batch 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 icepak object.
  • 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_ROOT
  • SIM_AEDT_ROOT
  • ANSYSEM_ROOT*
  • AEDT launchers such as ansysedt, ansysedt.exe, or ansysedtsv.exe on PATH
  • 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.

  1. Probe AEDT/Icepak availability, for example with sim check icepak or an equivalent PyAEDT/AEDT executable probe.

  2. Choose GUI mode only when visual review is required; otherwise prefer non-graphical mode.

  3. 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
    
  4. Run one bounded PyAEDT snippet, script, or native batch step at a time.

  5. Inspect last.result, AEDT messages, exported artifacts, and design state before solving or exporting the next result.

  6. 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.

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

sim_plugin_icepak-0.1.0.tar.gz (147.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sim_plugin_icepak-0.1.0-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

File details

Details for the file sim_plugin_icepak-0.1.0.tar.gz.

File metadata

  • Download URL: sim_plugin_icepak-0.1.0.tar.gz
  • Upload date:
  • Size: 147.5 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for sim_plugin_icepak-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0de1e3c8eb8a615fb4d9b8aba78620ac92420d57706763d444eba7d687b17daa
MD5 ccb3c8d2dc49de0ff628f7690ee7b848
BLAKE2b-256 211a9097d1a4bb7af23600e846a110785b54143b46f37359c59159aebcd873fe

See more details on using hashes here.

File details

Details for the file sim_plugin_icepak-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: sim_plugin_icepak-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 26.3 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for sim_plugin_icepak-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 74b2349599ba4391f5abfbf73dba53613778efdfd8e7fb2e9b6b9d27e9291b24
MD5 ecefa7a73c6107d46b5e52df93d9917f
BLAKE2b-256 f89af3fc59e70d5771e0834fefc3108770ebf55fda12db6d32eb42c935b9635b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page