quansys


Namequansys JSON
Version 3.0.0 PyPI version JSON
download
home_pageNone
SummaryAutomated HFSS workflows for quantum circuit design and analysis
upload_time2025-08-07 09:52:56
maintainerNone
docs_urlNone
authorNone
requires_python>=3.11
licenseNone
keywords ansys automation circuits electromagnetic epr hfss quantum simulation superconducting
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # quansys

**Automated HFSS workflows for quantum circuit design and analysis**

[![Documentation](https://img.shields.io/badge/docs-github.io-blue)](https://hutorihunzu.github.io/quansys)
[![Python](https://img.shields.io/badge/python-3.11+-blue)](https://python.org)
[![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)

**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](https://hutorihunzu.github.io/quansys)**

## Quick Start

### Installation

Install from PyPI:

```bash
pip install quansys
```

Or install from source:

```bash
git clone https://github.com/hutorihunzu/quansys.git
cd quansys
pip install -e .
```

### Basic Usage

1. **Create a simulation configuration** (`config.yaml`):

```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"
```

2. **Run the simulation**:

```bash
quansys run config.yaml
```

3. **Or use Python directly**:

```python
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:

```python
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:

```python
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"](https://doi.org/10.1038/s41534-021-00461-8)

## 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

1. Fork the repository
2. Create a feature branch
3. Make your changes with appropriate tests
4. Submit a pull request

## License

This project is licensed under the MIT License - see the [LICENSE](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"](https://doi.org/10.1038/s41534-021-00461-8)
- **HFSS Integration**: Built on top of [PyAEDT](https://github.com/ansys/pyaedt) for ANSYS Electronics Desktop automation
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "quansys",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.11",
    "maintainer_email": null,
    "keywords": "ansys, automation, circuits, electromagnetic, epr, hfss, quantum, simulation, superconducting",
    "author": null,
    "author_email": "HutoriHunzu <uri.goldblatt@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/3a/a7/e94b20535555fb60f926ebc8a78c8fe89bcbcfa3a3f9af7626715ea5234e/quansys-3.0.0.tar.gz",
    "platform": null,
    "description": "# quansys\n\n**Automated HFSS workflows for quantum circuit design and analysis**\n\n[![Documentation](https://img.shields.io/badge/docs-github.io-blue)](https://hutorihunzu.github.io/quansys)\n[![Python](https://img.shields.io/badge/python-3.11+-blue)](https://python.org)\n[![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)\n\n**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.\n\n## Features\n\n- **Structured Workflows**: Automated prepare \u2192 build \u2192 simulate \u2192 aggregate pipeline\n- **Parameter Sweeps**: Grid and custom parameter sweeps with caching and resumption\n- **Quantum Analysis**: EPR-based quantum parameter extraction (\u03c7 matrix, dressed frequencies)\n- **CLI Interface**: Command-line tools for simulation management and cluster execution\n- **Result Processing**: Automatic JSON/CSV output generation for downstream analysis\n- **Extensible**: Modular design supporting custom simulation types and builders\n\n## Documentation\n\nComplete documentation is available at: **[hutorihunzu.github.io/quansys](https://hutorihunzu.github.io/quansys)**\n\n## Quick Start\n\n### Installation\n\nInstall from PyPI:\n\n```bash\npip install quansys\n```\n\nOr install from source:\n\n```bash\ngit clone https://github.com/hutorihunzu/quansys.git\ncd quansys\npip install -e .\n```\n\n### Basic Usage\n\n1. **Create a simulation configuration** (`config.yaml`):\n\n```yaml\npyaedt_file_parameters:\n  file_path: \"my_design.aedt\"\n  non_graphical: true\n\nbuilder:\n  type: 'design_variable_builder'\n  design_name: \"HfssDesign1\"\n\nbuilder_sweep:\n  - type: 'DictSweep'\n    parameters:\n      resonator_length: [\"10mm\", \"12mm\", \"14mm\"]\n\nsimulations:\n  eigenmode:\n    type: 'eigenmode'\n    design_name: \"HfssDesign1\"\n    setup_name: \"Setup1\"\n```\n\n2. **Run the simulation**:\n\n```bash\nquansys run config.yaml\n```\n\n3. **Or use Python directly**:\n\n```python\nfrom quansys.workflow import WorkflowConfig, execute_workflow\n\nconfig = WorkflowConfig.from_yaml(\"config.yaml\")\nexecute_workflow(config)\n```\n\n## Simulation Types\n\n### Eigenmode Analysis\nExtract resonant frequencies and quality factors from electromagnetic eigenmodes:\n\n```python\nfrom quansys.simulation import EigenmodeAnalysis\n\nsimulation = EigenmodeAnalysis(\n    design_name=\"HfssDesign1\",\n    setup_name=\"Setup1\",\n    cores=8\n)\n```\n\n### Quantum EPR Analysis\nCompute quantum circuit parameters using Energy Participation Ratio analysis:\n\n```python\nfrom quansys.simulation import QuantumEPR, ConfigJunction\n\nsimulation = QuantumEPR(\n    design_name=\"HfssDesign1\",\n    setup_name=\"Setup1\",\n    modes_to_labels={0: \"resonator\", 1: \"transmon\"},\n    junctions_infos=[ConfigJunction(line_name='my_jj_line', inductance_variable_name='lj')]\n)\n```\n\n> **Note**: Quantum EPR analysis is based on the energy-participation-ratio method from: \n> [\"Energy-participation quantization of Josephson circuits\"](https://doi.org/10.1038/s41534-021-00461-8)\n\n## Cluster Support\n\n**quansys** is designed for high-performance computing environments and is currently optimized for **IBM LSF** cluster systems. The CLI provides tools for:\n\n- Job preparation and submission\n- Resource allocation management  \n- Distributed execution across cluster nodes\n- Result aggregation from multiple jobs\n\n> **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.\n\n## Development\n\n### Dependencies\n\n- **HFSS/PyAEDT**: Electromagnetic simulation engine\n- **QutIP**: Quantum parameter calculations\n- **Typer**: CLI interface\n- **Pydantic**: Configuration validation\n- **Pandas/NumPy**: Data processing\n\n### Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes with appropriate tests\n4. Submit a pull request\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- **Quantum EPR Analysis**: Based on the energy-participation-ratio method developed in the pyEPR package. See: [\"Energy-participation quantization of Josephson circuits\"](https://doi.org/10.1038/s41534-021-00461-8)\n- **HFSS Integration**: Built on top of [PyAEDT](https://github.com/ansys/pyaedt) for ANSYS Electronics Desktop automation",
    "bugtrack_url": null,
    "license": null,
    "summary": "Automated HFSS workflows for quantum circuit design and analysis",
    "version": "3.0.0",
    "project_urls": {
        "Documentation": "https://hutorihunzu.github.io/quansys",
        "Homepage": "https://github.com/hutorihunzu/quansys",
        "Issues": "https://github.com/hutorihunzu/quansys/issues",
        "Repository": "https://github.com/hutorihunzu/quansys"
    },
    "split_keywords": [
        "ansys",
        " automation",
        " circuits",
        " electromagnetic",
        " epr",
        " hfss",
        " quantum",
        " simulation",
        " superconducting"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "858d1b28d8360c02abd900c8e1cd69b553ea9d28fda95b2199df1ef0ef6538f6",
                "md5": "eaedb4312d5a94719f2f61ebf0e2b7f4",
                "sha256": "1419e7a0dbde6efc10400aa70e1c4cd6bbe4b33890064713dfeb37feeb06dbd7"
            },
            "downloads": -1,
            "filename": "quansys-3.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "eaedb4312d5a94719f2f61ebf0e2b7f4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.11",
            "size": 203515,
            "upload_time": "2025-08-07T09:52:54",
            "upload_time_iso_8601": "2025-08-07T09:52:54.777881Z",
            "url": "https://files.pythonhosted.org/packages/85/8d/1b28d8360c02abd900c8e1cd69b553ea9d28fda95b2199df1ef0ef6538f6/quansys-3.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3aa7e94b20535555fb60f926ebc8a78c8fe89bcbcfa3a3f9af7626715ea5234e",
                "md5": "8005aa57f33d09423ad0bb2129dcb8db",
                "sha256": "635ff17f7d3b1959250a6f3b626324c44cc7fc07a0d756d7e45bec4319ebf965"
            },
            "downloads": -1,
            "filename": "quansys-3.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "8005aa57f33d09423ad0bb2129dcb8db",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.11",
            "size": 624653,
            "upload_time": "2025-08-07T09:52:56",
            "upload_time_iso_8601": "2025-08-07T09:52:56.951353Z",
            "url": "https://files.pythonhosted.org/packages/3a/a7/e94b20535555fb60f926ebc8a78c8fe89bcbcfa3a3f9af7626715ea5234e/quansys-3.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-07 09:52:56",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "hutorihunzu",
    "github_project": "quansys",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "quansys"
}
        
Elapsed time: 0.76407s