Skip to content

Commit 6dd5dc6

Browse files
hzw770zlatko-minevnathanshammahSQClabbguttel
authored
Huge update - Compatibility with Ansys 2022 R2 (#142)
* Update README.md * Update README.md * fix typo * update information on conda forge install * add conda badge to readme * add information on pypi install and name * fix typo * add info on pypi install and note on package name * add pypi badge to readme via fury.io * Merge remote-tracking branch 'upstream/master' into Asaf_branch * Update core_quantum_analysis.py allows to print result and print variation to be used togther where the variation to be printed is give by an integer * Update core_quantum_analysis.py * Update core_quantum_analysis.py * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md * Update about.rst * Update about.rst * Update about.rst * Update installation.rst * Update README.md * Update README.md * Sorted Qs and freqs Instead of having the sorting of the dataframe as string indices (e.g. '0', '1', '10', '2'...) it is now sorted as integers ('0', '1', '2', ... , '10'). Only relevant for >10 variations. * Update README.md * Make package name in setup.py match name on PyPI * Remove old conda recipe See https://github.com/conda-forge/pyepr-quantum-feedstock for conda recipe * Version 0.8.4 * Create greetings.yml * Create manual.yml * Create Q3D setup within HfssDesign * Create publish-to-pypi * Rename publish-to-pypi to publish-to-pypi.yml * Update README.md * Update version from 0.8.4 to 0.8.4.2 * Fixed bug with port impedance in ansys.py * Modify how to connect to Ansys * Update config_user.py * Edit yml file * Update publish-to-pypi.yml * Updated version number * If a project or design is missing in Ansys app, then return None and … (#68) * If a project or design is missing in Ansys app, then return None and give a warning. * Update warnings to be more accurate. * Revert accidental change. * typo and logger add for no active design * Add method to allow user to add a new Q3d to project referenced in ProjectInfo * Updated version number * Fix get_setup method * correction to enable q3d design setup default + removing error in get_objects_in_group() (#70) * correction to enable q3d design setup default * prevent unnecessary error when modeler is not defined in get_objects_in_group * 209 if design exists add it (#71) * Save before switching branches. * Add changes which were part of merge. * Update where the flag needs to be passed. * Need method instead of getting a list of designs. * Remove the previous solution, Decide with different solution. * Change to version 0.8.4.5 . * Remove reference to yapf. * Ansys version update for Z matrices * Update ansys.py for Ansys 2020 * get_setup fixed to use the passed setup name + typos * up-rev * Create pyEPR.bib * Update pyEPR.bib * Update README.md * Update README.md * Update README.md * Added ansys calculator functions Two functions that return vectors tangent and normal to a surface. I used it to calculate surface participation ratios, e.g.: p_metal = t* (E_surface_metal / UE) print(f'Metal-Air/Metal-Substrate participation ratio, p_MA = p_MS = {p_metal:.3}') #SA participation ratio vecE_normal = vecE.normal2surface('chip_holder1').__div__(epsilon_r) #Complex Vector vecE_tangent = vecE.tangent2surface('chip_holder1').__mul__(epsilon_r) #Complex Vector vec_E_total = vecE_normal.__add__(vecE_tangent) E_squared = vec_E_total.dot(vecE).__abs__().real().__pow__(2) E_surface = E_squared.integrate_surf(name='chip_holder1').evaluate() E_surface -= E_surface_metal p_SA = t* (E_surface / UE) print(f'Air-Substrate participation ratio, p_SA = {p_SA:.3}') * Typos mainly Also one change where an error is raised when `pint` is not properly imported. * Update ansys.py * Update ansys.py * Update README.md * Update pyEPR.bib * Update pyEPR.bib * Update pyEPR.bib * Update core_quantum_analysis.py Get numeric frequencies results should retrieve f_ND, not f_1. Some typos. * Updates linguist's calculation for pyEPR * Typos * Mostly typos, some corrections In core_quantum_analysis: Rows 671-674: update to modes that are not the first. Row 917: trying to get pandas to plot with the right label. Unsuccessfully. * clean_up_solutions functions and some typos clean_up_solutions function for an Ansys design (to avoid analysis of all variations). Also removed index name for frequencies and typos * Update core_quantum_analysis.py Fixed #83 * Tutorial2: Correct import of CalcObject to pyEPR.ansys * Indentation after was wrong and variable swp_var was never defined * fixed mode number error in QuantumAnalysis fixed KeyError when '0' is not in variations for QuantumAnalysis. updated type hint for QuantumAnalysis.analyze_variation fix mode number error in QuantumAnalysis * Update back_box_numeric.py * fix log plot bug if q__coupling isnot there * Update core_quantum_analysis.py * Update the init and setup files before creating a tag. * Update back_box_numeric.py Fix typo * Add pylint CI check * Fix old keyword argument name in first tutorial * Check for infinite values in the Quality Factors. * Change syntax to pass pylint. In particular, separate numpy from pandas. * Add int cast to pass pylint. * Change syntax to pass pylint. * Disable the pylint warning. * Use updated tag to include fix for issue #96. * Systematically fix typos in code and documentation (#99) * Test compiling docs in CI (#104) * Add dissipative elements as arguments to `ProjectInfo` (#103) * Fix docstrings formatting (#101) * https://securitylab.github.com/research/github-actions-preventing-pwn-requests/ is the reason to update. This allows first time users that have forked the repository to make a pull request. (#110) * Replace attrdict to addict for python 3.10 compatibility (#108) * Replace Attrdict to addict.Dict for python>=3.10 compatibility * Add one line for filtering addict.Dict from obj's attributes. * replace attrdict to addict * add python 3.10 to classifiers * Add python 3.9 in setup.py * Prepare for new tag for pyepr for pypi. (#112) * Update the README to reflect addict vs attrdict in both files. * Make the type hint more accurate. * Current code expects None values, as opposed to empty list. * Prepare to use next tag for Metal. * Add variation labels to plots in `hfss_report_full_convergence` (#119) * Improve assorted docstrings * Add variation labels to HFSS convergence report * Add other parametric sweep options (#117) * fix keyboard mash? * Implemented all available options for parametric sweep definitions and parametric sweep from file. * Addition of demo tutorial and associated csv file * Add DrivenTerminal support (#121) * Add single surface `DistributedAnalysis.get_Qsurface` (#123) * Fix EPR sign bug that caused EPR to always be positive (#125) * Update README.md * Update version to 0.8.5.6 for EPR sign bug fix (#126) * Fix EPR bug and bump to version 0.8.5.7 * Pass lv=lv to evaluate * Update version to 0.8.5.7 in __init__.py * Variation support to `calc_p_electric_volume` (#132) * Support synchronised variables in `Optimetrics.create_setup` (#130) * Fix code block formattings * Implement synchronised sweep support in Optimetrics * Don't extend `hfss_report_full_convergence` vertically (#135) * Support loss tangents for different surfaces in `do_EPR_analysis` (#144) * Fix #145 .gitignore (#146) * Add dtype to empty Pandas Series (#139) * Refactor `DataFrame.append` to `pd.concat` (#138) * Replace usage of np.float with float (#147) (#150) The epr_numerical_diagonalization function uses np.float which has been deprecated in Numpy. Refer https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations The continued usage of np.float yields the following error in the epr_numerical_diaganolization function when later versions of Numpy is used. "AttributeError: module 'numpy' has no attribute 'float'." This commit replace np.float with float to solve this error. * Correctly select a few modes in analyze_variation (#149) * Fix mode selection in analyze_variation Addressing issue #148: analyze_variation incorrectly chooses Pj, Sj, Om, PHI_zpf when passed a subset of modes * Remove redundant frequency selection The frequencies are already correctly selected outside of this if-statement, so this is not necessary * Update setup.py * Update __init__.py * Update core_distributed_analysis.py (#152) out-commenting a property not supported in latest version. Only visual impact --------- Co-authored-by: Zlatko Minev <zminev@gmail.com> Co-authored-by: Nathan Shammah <nathan.shammah@gmail.com> Co-authored-by: SQClab <69586246+SQClab@users.noreply.github.com> Co-authored-by: Barkay Guttel <51173082+bguttel@users.noreply.github.com> Co-authored-by: willsALMANJ <wsha.code@gmail.com> Co-authored-by: Will Shanks <willshanks@us.ibm.com> Co-authored-by: Dennis Wang <Dennis.Wang@ibm.com> Co-authored-by: Priti Ashvin Shah <74020801+priti-ashvin-shah-ibm@users.noreply.github.com> Co-authored-by: Marco Facchini <marco.facchini2@ibm.com> Co-authored-by: Ashish Panigrahi <ashish.panigrahi@protonmail.com> Co-authored-by: Xinyu <xinyu.si@epfl.ch> Co-authored-by: CHAO ZHOU <44282719+hatlabcz@users.noreply.github.com> Co-authored-by: Priti A Shah <Priti.Ashvin.Shah@ibm.com> Co-authored-by: Niko Savola <niko.savola@aalto.fi> Co-authored-by: Niko Savola <niko@meetiqm.com> Co-authored-by: GyeonghunKim <34947229+GyeonghunKim@users.noreply.github.com> Co-authored-by: Thomas G McConkey <53087709+ThomasGM4@users.noreply.github.com> Co-authored-by: Zach Parrott <51793790+zachparrott@users.noreply.github.com> Co-authored-by: Patrick J. O'Brien <obrienpja@gmail.com> Co-authored-by: Jagatheesan Jack <jagandecapri@gmail.com> Co-authored-by: Clara Fontaine <42681983+clarayfontaine@users.noreply.github.com> Co-authored-by: Christian Kraglund Andersen <80969364+AndersenQubitLab@users.noreply.github.com>
1 parent 9c1eb46 commit 6dd5dc6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+2436
-1390
lines changed

.gitattributes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
*.ipynb linguist-vendored

.github/workflows/ci.yaml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
pull_request: ~
8+
9+
env:
10+
# Increment this to invalidate the cache without modifying requirements.txt
11+
PIPCACHEVERSION: 0
12+
PYTHONVERSION: '3.9.x' # qutip does not support 3.10 yet
13+
14+
jobs:
15+
pylint:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Check out repo
19+
uses: actions/checkout@v2
20+
- name: Set up Python
21+
id: setup-python
22+
uses: actions/setup-python@v2
23+
with:
24+
python-version: ${{ env.PYTHONVERSION }}
25+
- name: Set up cache
26+
id: cache
27+
uses: actions/cache@v2
28+
with:
29+
path: ~/.cache/pip
30+
key: ${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('requirements.txt') }}-${{ env.PIPCACHEVERSION }}
31+
restore-keys: |
32+
${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('requirements.txt') }}-
33+
${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-
34+
- name: Install package and pylint
35+
run: python -m pip install . pylint
36+
- name: Run pylint
37+
run: pylint --errors-only --jobs=0 pyEPR
38+
39+
test_docs:
40+
runs-on: ubuntu-latest
41+
steps:
42+
- name: Check out repo
43+
uses: actions/checkout@v2
44+
- name: Set up Python
45+
id: setup-python
46+
uses: actions/setup-python@v2
47+
with:
48+
python-version: ${{ env.PYTHONVERSION }}
49+
- name: Set up cache
50+
id: cache
51+
uses: actions/cache@v2
52+
with:
53+
path: ~/.cache/pip
54+
key: ${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('requirements.txt') }}-${{ env.PIPCACHEVERSION }}
55+
restore-keys: |
56+
${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-${{ hashFiles('requirements.txt') }}-
57+
${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-
58+
- name: Install package and sphinx
59+
run: python -m pip install . Sphinx
60+
- name: Make docs
61+
run: |
62+
cd docs
63+
make html
64+
- name: Upload docs to artifact
65+
uses: actions/upload-artifact@v2
66+
if: always()
67+
with:
68+
name: docs
69+
path: docs/build/html/
70+
retention-days: 5

.github/workflows/greetings.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
name: Greetings
2+
3+
on: [pull_request_target, issues]
4+
5+
jobs:
6+
greeting:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- uses: actions/first-interaction@v1
10+
with:
11+
repo-token: ${{ secrets.GITHUB_TOKEN }}
12+
issue-message: '👏👏👏 You are awesome! Thank you for making your first issue to pyEPR '' first issue'
13+
pr-message: '👏👏👏 You are awesome! Thank you for making your first pull request to pyEPR! This team work makes the pyEPR dream work! '' first pr'

.github/workflows/manual.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# This is a basic workflow that is manually triggered
2+
3+
name: Manual workflow
4+
5+
# Controls when the action will run. Workflow runs when manually triggered using the UI
6+
# or API.
7+
on:
8+
workflow_dispatch:
9+
# Inputs the workflow accepts.
10+
inputs:
11+
name:
12+
# Friendly description to be shown in the UI instead of 'name'
13+
description: 'Person to greet'
14+
# Default value if no value is explicitly provided
15+
default: 'World'
16+
# Input has to be provided for the workflow to run
17+
required: true
18+
19+
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
20+
jobs:
21+
# This workflow contains a single job called "greet"
22+
greet:
23+
# The type of runner that the job will run on
24+
runs-on: ubuntu-latest
25+
26+
# Steps represent a sequence of tasks that will be executed as part of the job
27+
steps:
28+
# Runs a single command using the runners shell
29+
- name: Send greeting
30+
run: echo "Hello ${{ github.event.inputs.name }}"

.github/workflows/publish-to-pypi.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# This is a basic workflow to help you get started with Actions
2+
3+
name: Publish Python 🐍 distributions 📦 to PyPI
4+
5+
# Controls when the action will run.
6+
on:
7+
release:
8+
types: [created]
9+
10+
# Allows you to run this workflow manually from the Actions tab
11+
workflow_dispatch:
12+
13+
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
14+
jobs:
15+
# This workflow contains a single job called "build"
16+
build:
17+
name: Build and publish Python 🐍 distributions 📦 to PyPI and TestPyPI
18+
# The type of runner that the job will run on
19+
runs-on: ubuntu-latest
20+
21+
# Steps represent a sequence of tasks that will be executed as part of the job
22+
steps:
23+
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
24+
- uses: actions/checkout@master
25+
- name: Set up Python 3.7
26+
uses: actions/setup-python@v1
27+
with:
28+
python-version: 3.7
29+
30+
- name: Install pypa/build
31+
run: >-
32+
python -m
33+
pip install
34+
build
35+
--user
36+
37+
- name: Build a binary wheel and a source tarball
38+
run: >-
39+
python -m
40+
build
41+
--sdist
42+
--wheel
43+
--outdir dist/
44+
.
45+
46+
- name: Publish distribution 📦 to PyPI
47+
if: startsWith(github.ref, 'refs/tags')
48+
uses: pypa/gh-action-pypi-publish@master
49+
with:
50+
password: ${{ secrets.pypi_password }}
51+

.gitignore

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,13 +102,13 @@ ENV/
102102

103103
# exclude config
104104
pyEPR/config.py
105+
pyEPR/_user_config.py
105106
__src__not_incl/
106107
pyEPR/.vscode/
107108
pyEPR/.pylintrc
108109
*.lock
109110
*.aedtresults/*
110111
*.aedtresults*
111112
pyEPR/core.py.rej
112-
pyEPR/core.py.rej
113-
pyEPR/core.py.rej
114113
.vscode/
114+
.idea/

README.md

Lines changed: 57 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,64 @@
1-
Welcome to pyEPR :beers:!
1+
Welcome to pyEPR :beers:! &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(see [arXiv:2010.00620](https://arxiv.org/abs/2010.00620))
22
===================
33
[![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.png?v=103)](https://github.com/zlatko-minev/pyEPR)
44
[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/zlatko-minev/pyEPR)
55
[![star this repo](http://githubbadges.com/star.svg?user=zlatko-minev&repo=pyEPR&style=flat)](https://github.com/zlatko-minev/pyEPR)
66
[![fork this repo](http://githubbadges.com/fork.svg?user=zlatko-minev&repo=pyEPR&style=flat)](https://github.com/zlatko-minev/pyEPR/fork)
7+
[![Anaconda-Server Badge](https://anaconda.org/conda-forge/pyepr-quantum/badges/installer/conda.svg)](https://conda.anaconda.org/conda-forge)
8+
[![PyPI version](https://badge.fury.io/py/pyEPR-quantum.svg)](https://badge.fury.io/py/pyEPR-quantum)
9+
[![DOI](https://zenodo.org/badge/101073856.svg)](https://zenodo.org/badge/latestdoi/101073856)
10+
11+
### Automated Python module for the design and quantization of Josephson quantum circuits
712

8-
<br>
9-
10-
## :bangbang: :bangbang: pyEPR Working group meeting -- Planning for the future of pyEPR
1113

12-
* Please sign-up here: https://github.com/zlatko-minev/pyEPR/issues/45 :bangbang: :beers:
14+
### Documentation
1315

16+
[Read the docs here.](https://pyepr-docs.readthedocs.io)
1417
<br>
1518

16-
### Automated Python module for the design and quantization of Josephson quantum circuits
19+
## Scientific work:
20+
* Minev, Z. K., Leghtas, Z., Mudhada, S. O., Reinhold, P., Diringer, A., & Devoret, M. H. (2018). [pyEPR: The energy-participation-ratio (EPR) open-source framework for quantum device design.](https://github.com/zlatko-minev/pyEPR/blob/master/pyEPR.bib) [![DOI](https://zenodo.org/badge/101073856.svg)](https://zenodo.org/badge/latestdoi/101073856)
21+
* Minev, Z. K., Leghtas, Z., Mundhada, S. O., Christakis, L., Pop, I. M., & Devoret, M. H. (2020). Energy-participation quantization of Josephson circuits. ArXiv. Retrieved from http://arxiv.org/abs/2010.00620 (2020)
22+
* Z.K. Minev, Ph.D. Dissertation, Yale University (2018), Chapter 4. ([arXiv:1902.10355](https://arxiv.org/abs/1902.10355)) (2018)
1723

18-
**Abstract:** Superconducting circuits incorporating non-linear devices, such as Josephson junctions and nanowires, are among the leading platforms for emerging quantum technologies. Promising applications require designing and optimizing circuits with ever-increasing complexity and controlling their dissipative and Hamiltonian parameters to several significant digits. Therefore, there is a growing need for a systematic, simple, and robust approach for precise circuit design, extensible to increased complexity. The energy-participation ratio (EPR) approach presents such an approach to unify the design of dissipation and Hamiltonians around a single concept — the energy participation, a number between zero and one — in a single-step electromagnetic simulation. This markedly reduces the required number of simulations and allows for robust extension to complex systems. The approach is general purpose, derived ab initio, and valid for arbitrary non-linear devices and circuit architectures. Experimental results on a variety of circuit quantum electrodynamics (cQED) devices and architectures, 3D and flip-chip (2.5D), have been demonstrated to exhibit ten percent to percent-level agreement for non-linear coupling and modal Hamiltonian parameters over five-orders of magnitude and across a dozen samples. Here, in this package, all routines of the EPR approach are fully automated.
24+
## pyEPR Working group meeting -- Planning for the future of pyEPR
1925

20-
## Documentation
26+
* Please sign-up here: https://github.com/zlatko-minev/pyEPR/issues/45 or [directly here](https://docs.google.com/forms/d/e/1FAIpQLScd3WyfzDS47D0WB9skkSPQAXCnKLf7JMxsZ7BnMwK0LjE3Sw/viewform?usp=sf_link) :bangbang: :beers:
27+
- See [pyEPR wiki](https://github.com/zlatko-minev/pyEPR/wiki) for notes from first meeting.
28+
- We will schedule a follow-up meeting in 1-2 mo.
2129

22-
[Read the docs here.](https://pyepr-docs.readthedocs.io)
23-
24-
#### Legacy users
25-
Warning: pyEPR organization was significnatly improved in v0.8-dev (starting 2020; current branch: master \[to be made stable soon\]). If you used a previous version, you will find that all key classes have been renamed. Please, see the tutorials and docs. In the meantime, if you cannot switch yet, revert to use the stable v0.7.
30+
<br>
2631

2732
## Who uses pyEPR?
2833
* Yale University, Michel Devoret lab [QLab](https://qulab.eng.yale.edu/), CT, USA
2934
* Yale University, Rob Schoelkopf lab [RSL](https://rsl.yale.edu/), CT, USA
30-
* [IBM Quantum](https://www.ibm.com/quantum-computing/)
35+
* [IBM Quantum](https://www.ibm.com/quantum-computing/) and IBM's Qiskit Metal
3136
* [QUANTIC](https://team.inria.fr/quantic/people.html#) (QUANTUM INFORMATION CIRCUITS), PARISINRIA, ENS, MINES PARISTECH, UPMC, CNRS. Groups of Zaki Leghtas and team. France
32-
* [Quantum Circuit Group](http://www.physinfo.fr/) Emanuel Flurin, Benjamin Huard, Ecole Normale Supérieure de Lyon, France
37+
* [Quantum Circuit Group](http://www.physinfo.fr/) Benjamin Huard, Ecole Normale Supérieure de Lyon, France
38+
* Emanuel Flurin, CEA Saclay, France
39+
* Ioan Pop group, KIT Physikalisches Institut, Germany
3340
* UC Berkeley, [Quantum Nanoelectronics Laboratory](https://physics.berkeley.edu/quantum-nanoelectronics-laboratory), Irfan Siddiqi, CA, USA
3441
* [Quantum Circuits, Inc.](https://quantumcircuits.com/), CT, USA
3542
* [Seeqc](https://seeqc.com/) (spin-out of Hypres) Digital Quantum Computing, USA
36-
* Serge [Rosenblum Lab](https://www.weizmann.ac.il/condmat/rosenblum/) in the Weizmann Instatue, Israel
37-
* Peter [Leek Lab](https://leeklab.org/), UK
43+
* Serge [Rosenblum Lab] quantum circuits group (https://www.weizmann.ac.il/condmat/rosenblum/) in the Weizmann Instatue, Israel
44+
* University of Oxford - LeekLab - Peter [Leek Lab](https://leeklab.org/), UK
3845
* Britton [Plourde Lab](https://bplourde.expressions.syr.edu/), Syracuse University, USA
3946
* Javad [Shabani Lab](https://wp.nyu.edu/shabanilab/) Quantum Materials & Devices, NYU, NY, USA
47+
* UChicago Dave Schuster Lab, USA
48+
* SQC lab - Shay Hacohen Gourgy, Israel
49+
* Lawrence Berkeley National Lab
50+
* Colorado School of Mines, USA
51+
* Syracuse University, USA
52+
* IPQC, SJTU, Shanghai, China
53+
* Bhabha Atomic Research Centre, India
54+
* Quantum Computing UK
55+
* Alice&Bob, France
56+
* Centre for Quantum Technologies / Qcrew
57+
* Quantum Device Lab ETHZ; Andreas Wallraff
58+
* Bleximo
4059
* ... and many more! (Please e-mail `zlatko.minev@aya.yale.edu` with updates.)
4160

4261

43-
## How do I cite `pyEPR` when I publish?
44-
Cite the following and/or e-mail [`zlatko.minev@aya.yale.edu`](https://www.zlatko-minev.com/) or [`zaki leghtas`](http://cas.ensmp.fr/~leghtas/)
45-
* [arXiv:1902.10355](https://arxiv.org/abs/1902.10355) Z.K. Minev, Ph.D. Dissertation, Yale University (2018), Chapter 4.
46-
* Z.K. Minev, Z. Leghtas, _et al._ (to appear soon on arXiv) (2020)
47-
48-
4962
<br>
5063

5164
# Contents:
@@ -65,7 +78,9 @@ Cite the following and/or e-mail [`zlatko.minev@aya.yale.edu`](https://www.zlatk
6578
2. **Clone** :point_down: your forked repository locally. ([How to clone a GitHub repo?](https://help.github.com/en/articles/cloning-a-repository)). Setup the `pyEPR` python code by following [Installation and Python Setup](#installation-of-pyepr).
6679
3. **Tutorials** Learn how to use using the [jupyter notebook tutorials](https://github.com/zlatko-minev/pyEPR/tree/master/_tutorial_notebooks)
6780
4. **Stay up to date** Enjoy and make sure to git add the master remote branch `git remote add MASTER_MINEV git://github.com/zlatko-minev/pyEPR.git` [(help?)](https://stackoverflow.com/questions/11266478/git-add-remote-branch).
68-
5. **Cite `pyEPR`** [arXiv:1902.10355](https://arxiv.org/abs/1902.10355) and enjoy! :birthday:
81+
5. **Cite `pyEPR`** [arXiv:2010.00620](https://arxiv.org/abs/2010.00620) / [arXiv:1902.10355](https://arxiv.org/abs/1902.10355) and enjoy! :birthday: [![DOI](https://zenodo.org/badge/101073856.svg)](https://zenodo.org/badge/latestdoi/101073856)
82+
83+
6984

7085
#### Start-up example
7186

@@ -90,14 +105,16 @@ pinfo.junctions['jBob'] = {'Lj_variable':'Lj_bob', 'rect':'rect_bob', 'lin
90105
pinfo.validate_junction_info() # Check that valid names of variables and objects have been supplied.
91106

92107
# 2b. Dissipative elements: specify
93-
pinfo.dissipative['dielectrics_bulk'] = ['si_substrate', 'dielectic_object2'] # supply names of hfss objects
108+
pinfo.dissipative['dielectrics_bulk'] = ['si_substrate', 'dielectric_object2'] # supply names of hfss objects
94109
pinfo.dissipative['dielectric_surfaces'] = ['interface1', 'interface2']
110+
# Alternatively, these could be specified in ProjectInfo with
111+
# pinfo = epr.ProjectInfo(..., dielectrics_bulk = ['si_substrate', 'dielectric_object2'])
95112

96113
# 3. Perform microwave analysis on eigenmode solutions
97114
eprd = epr.DistributedAnalysis(pinfo)
98115
if 1: # automatic reports
99116
eprd.quick_plot_frequencies(swp_var) # plot the solved frequencies before the analysis
100-
eprd.hfss_report_full_convergence() # report convergen
117+
eprd.hfss_report_full_convergence() # report convergence
101118
eprd.do_EPR_analysis()
102119

103120
# 4a. Perform Hamiltonian spectrum post-analysis, building on mw solutions using EPR
@@ -150,7 +167,7 @@ Use `pyEPR` directly from the source, and pull updates from the master git repo,
150167
Please keep up to date with `pyEPR` by using git. We like to make it simple using a git-gui manager, [SourceTree](sourcetree.com) or [GitHub Desktop](https://desktop.github.com/).
151168

152169
**Quick setup**
153-
We recommend the approach in the following section, which will be most up to date, but for quick use you can use the [conda forge chanel](https://anaconda.org/conda-forge/pyepr-quantum) to install
170+
We recommend the approach in the following section, which will be most up to date, but for quick use you can use the [conda forge channel](https://anaconda.org/conda-forge/pyepr-quantum) to install
154171
```
155172
conda install -c conda-forge pyepr-quantum
156173
```
@@ -168,11 +185,11 @@ pip install pyEPR-quantum
168185
$ echo %PATH%
169186
`
170187

171-
2. Install the required packages, including [pint](http://pint.readthedocs.io/en/latest/), [qutip](http://qutip.org/), and [attrdict](https://github.com/bcj/AttrDict). In a terminal window
188+
2. Install the required packages, including [pint](http://pint.readthedocs.io/en/latest/), [qutip](http://qutip.org/), and [addict](https://github.com/mewwts/addict). In a terminal window
172189
```sh
173190
conda install -c conda-forge pint
174191
conda install -c conda-forge qutip
175-
pip install attrdict
192+
pip install addict
176193
```
177194
3. Fork this pyEPR repository on GitHub with your GitHub account. You may clone the fork to your PC and manage it using the [SourceTree](https://www.sourcetreeapp.com/) git-gui manager.
178195
4. Add the pyEPR repository folder to your python search path. Make sure to add the git remote to the master is set up, `git remote add MASTER_MINEV git://github.com/zlatko-minev/pyEPR.git`! [(Help?)](https://stackoverflow.com/questions/11266478/git-add-remote-branch)
@@ -193,6 +210,10 @@ Follow the same instructions above. You shouldn't have to install mingw or modif
193210

194211

195212

213+
#### Legacy users
214+
Warning: pyEPR organization was significantly improved in v0.8-dev (starting 2020; current branch: master \[to be made stable soon\]). If you used a previous version, you will find that all key classes have been renamed. Please, see the tutorials and docs. In the meantime, if you cannot switch yet, revert to use the stable v0.7.
215+
216+
196217
# HFSS Project Setup for `pyEPR`
197218
-------------
198219
#### Eigenmode Design --- How to set up junctions
@@ -258,7 +279,7 @@ compiler = mingw32
258279
[build_ext]
259280
compiler = mingw32
260281
```
261-
Next, let's install qutip. You can choose to use conda intall or pip install, or pull from the git directly as done here:
282+
Next, let's install qutip. You can choose to use conda install or pip install, or pull from the git directly as done here:
262283
```sh
263284
conda install git
264285
pip install git+https://github.com/qutip/qutip.git
@@ -285,12 +306,17 @@ This problem is due to pandas 0.20.1, update to 0.20.3 or better solves this iss
285306
This error happens when trying to read in an hdf file with numpy version 1.16, see [git issue here](https://github.com/numpy/numpy/issues/12791). A solution is to downgrade numpy to 1.15.4 or upgrade to newer versions of hdf and numpy.
286307

287308
# Authors and Contributors
288-
* _Authors:_ [Zlatko Minev](https://www.zlatko-minev.com/) & [Zaki Leghtas](http://cas.ensmp.fr/~leghtas/), with contributions from many friends and colleagues.
309+
* _Authors:_ [Zlatko Minev](https://www.zlatko-minev.com/) & [Zaki Leghtas](http://cas.ensmp.fr/~leghtas/), with contributions from many friends and colleagues. ([arXiv:2010.00620](https://arxiv.org/abs/2010.00620))
289310
* 2015 - present.
290311
* Contributors: [Phil Rheinhold](https://github.com/PhilReinhold), Lysander Christakis, [Devin Cody](https://github.com/devincody), ...
291312
Original versions of pyHFSS.py and pyNumericalDiagonalization.py contributed by [Phil Rheinhold](https://github.com/PhilReinhold), excellent original [repo](https://github.com/PhilReinhold/pyHFSS).
292313
* Terms of use: Use freely and kindly cite the paper (arXiv link to be posted here) and/or this package.
293-
* How can I contribute? Contact [Z. Minev](https://www.zlatko-minev.com/) or [Z. Leghtas](http://cas.ensmp.fr/~leghtas/).
314+
* How can I contribute? Contact [Z. Minev](https://www.zlatko-minev.com/) or [Z. Leghtas](http://cas.ensmp.fr/~leghtas/). [![DOI](https://zenodo.org/badge/101073856.svg)](https://zenodo.org/badge/latestdoi/101073856)
315+
316+
## How do I cite `pyEPR`?
317+
[![DOI](https://zenodo.org/badge/101073856.svg)](https://zenodo.org/badge/latestdoi/101073856)
318+
Use this [bibtex](https://github.com/zlatko-minev/pyEPR/blob/master/pyEPR.bib) for `pyEPR` and for the method use the energy-participation-ratio paper [arXiv:2010.00620](https://arxiv.org/abs/2010.00620).
319+
294320

295321
[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://github.com/zlatko-minev/pyEPR/graphs/commit-activity)
296322

0 commit comments

Comments
 (0)