Automated HFSS workflows for quantum circuit design and analysis
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file quansys-4.0.0.tar.gz.
File metadata
- Download URL: quansys-4.0.0.tar.gz
- Upload date:
- Size: 33.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77f212298fa35fc15f7122d1e7f6b36a0abb4755d00b07943d200c573ed8c6c2
|
|
| MD5 |
b0c766249ead64b8aab74127815c326e
|
|
| BLAKE2b-256 |
eacdac3bec901f041679aa70e55cc455fde64287ceee108618c3baf6942f8a12
|
File details
Details for the file quansys-4.0.0-py3-none-any.whl.
File metadata
- Download URL: quansys-4.0.0-py3-none-any.whl
- Upload date:
- Size: 200.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e029fdf0e93ff5b368c04eabb80ff9904e308312a016232650ad96439acc4bd
|
|
| MD5 |
000525734f22608e8f7ff3297c6ed87b
|
|
| BLAKE2b-256 |
103aaab1b2e4efb586b125aae139cf859f39d817a6cb6f0de5fd52a2d6071998
|