quansys
Automated HFSS workflows for quantum circuit design and analysis
quansys is a Python package that automates HFSS electromagnetic simulations for quantum circuit analysis. It provides structured workflows for parameter sweeps, quantum parameter extraction via Energy Participation Ratio (EPR) analysis, and cluster-based execution.
Features
- Structured Workflows: Automated prepare → build → simulate → aggregate pipeline
- Parameter Sweeps: Grid and custom parameter sweeps with caching and resumption
- Quantum Analysis: EPR-based quantum parameter extraction (χ matrix, dressed frequencies)
- CLI Interface: Command-line tools for simulation management and cluster execution
- Result Processing: Automatic JSON/CSV output generation for downstream analysis
- Extensible: Modular design supporting custom simulation types and builders
Documentation
Complete documentation is available at: hutorihunzu.github.io/quansys
Quick Start
Installation
Install from PyPI:
pip install quansys
Or install from source:
git clone https://github.com/hutorihunzu/quansys.git
cd quansys
pip install -e .
Basic Usage
- Create a simulation configuration (
config.yaml):
pyaedt_file_parameters:
file_path: "my_design.aedt"
non_graphical: true
builder:
type: 'design_variable_builder'
design_name: "HfssDesign1"
builder_sweep:
- type: 'DictSweep'
parameters:
resonator_length: ["10mm", "12mm", "14mm"]
simulations:
eigenmode:
type: 'eigenmode'
design_name: "HfssDesign1"
setup_name: "Setup1"
- Run the simulation:
quansys run config.yaml
- Or use Python directly:
from quansys.workflow import WorkflowConfig, execute_workflow
config = WorkflowConfig.from_yaml("config.yaml")
execute_workflow(config)
Simulation Types
Eigenmode Analysis
Extract resonant frequencies and quality factors from electromagnetic eigenmodes:
from quansys.simulation import EigenmodeAnalysis
simulation = EigenmodeAnalysis(
design_name="HfssDesign1",
setup_name="Setup1",
cores=8
)
Quantum EPR Analysis
Compute quantum circuit parameters using Energy Participation Ratio analysis:
from quansys.simulation import QuantumEPR, ConfigJunction
simulation = QuantumEPR(
design_name="HfssDesign1",
setup_name="Setup1",
modes_to_labels={0: "resonator", 1: "transmon"},
junctions_infos=[ConfigJunction(line_name='my_jj_line', inductance_variable_name='lj')]
)
Note: Quantum EPR analysis is based on the energy-participation-ratio method from: "Energy-participation quantization of Josephson circuits"
Cluster Support
quansys is designed for high-performance computing environments and is currently optimized for IBM LSF cluster systems. The CLI provides tools for:
- Job preparation and submission
- Resource allocation management
- Distributed execution across cluster nodes
- Result aggregation from multiple jobs
Cluster Requirement: This package is specifically tailored for IBM LSF clusters. Support for other cluster systems (SLURM, PBS, etc.) may be added in future releases.
Development
Dependencies
- HFSS/PyAEDT: Electromagnetic simulation engine
- QutIP: Quantum parameter calculations
- Typer: CLI interface
- Pydantic: Configuration validation
- Pandas/NumPy: Data processing
Contributing
- Fork the repository
- Create a feature branch
- Make your changes with appropriate tests
- Submit a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Quantum EPR Analysis: Based on the energy-participation-ratio method developed in the pyEPR package. See: "Energy-participation quantization of Josephson circuits"
- HFSS Integration: Built on top of PyAEDT for ANSYS Electronics Desktop automation
Metadata
Release files for quansys 4.0.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 | |
|---|---|---|---|
| quansys-4.0.0.tar.gz | 33.8 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| quansys-4.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.0 MB
Release files / quansys-4.0.0.tar.gz
| Download URL | quansys-4.0.0.tar.gz |
|---|---|
| Size | 33.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
77f212298fa35fc15f7122d1e7f6b36a0abb4755d00b07943d200c573ed8c6c2
|
|
BLAKE2b-256 checksum How to use checksums |
eacdac3bec901f041679aa70e55cc455fde64287ceee108618c3baf6942f8a12
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.3
|
Release files / quansys-4.0.0-py3-none-any.whl
| Download URL | quansys-4.0.0-py3-none-any.whl |
|---|---|
| Size | 200.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3e029fdf0e93ff5b368c04eabb80ff9904e308312a016232650ad96439acc4bd
|
|
BLAKE2b-256 checksum How to use checksums |
103aaab1b2e4efb586b125aae139cf859f39d817a6cb6f0de5fd52a2d6071998
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.3
|