Metadata-Version: 2.4
Name: surface-ion
Version: 1.1.1
Summary: Python package for simulation and analysis of ion crystals in surface traps.
Home-page: https://github.com/underforestaaa/Sion
Author: Artem Podlesnyy
Author-email: a.podlesnyy@rqc.ru
Maintainer-email: Artem Podlesnyy <a.podlesnyy@rqc.ru>
License-Expression: GPL-3.0-or-later
Project-URL: repository, https://github.com/underforestaaa/Sion
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.23
Requires-Dist: cython>=3.0
Requires-Dist: jinja2>=2.9.6
Requires-Dist: scipy>=1.12
Requires-Dist: h5py>=2.7.0
Requires-Dist: termcolor>=1.1.0
Requires-Dist: scikit-optimize>=0.10.2
Requires-Dist: matplotlib>=3.0
Requires-Dist: gdspy>=1.6
Requires-Dist: shapely>=2.0
Requires-Dist: tqdm>=4.66
Requires-Dist: nose>=1.0
Requires-Dist: sphinx>=8.0; python_version >= "3.10"
Requires-Dist: sphinx<8,>=7.4; python_version < "3.10"
Requires-Dist: numpydoc>=1.0
Requires-Dist: cvxopt>=1
Requires-Dist: setuptools>=65
Dynamic: author
Dynamic: author-email
Dynamic: home-page
Dynamic: license-file

# *SION* package

Python package for simulation and analysis of ion crystals in surface electrode traps.


***
The package combines voltage optimization algorithms with ion-dynamics simulation in LAMMPS through the [electrode](https://github.com/nist-ionstorage/electrode) and [pyLIon](https://bitbucket.org/dtrypogeorgos/pylion/src/master/) packages.
LAMMPS-based molecular dynamics simulations provide a reliable baseline for modeling ion-crystal behavior.
***


## Installation



This package was developed and tested on **Windows only**.

The newest version may be installed via pip:  
<code>pip install surface-ion</code>


The following software must be installed to use *SION*:  
*  Molecular Dynamics simulations use [LAMMPS](https://www.lammps.org/download.html).

*  Parallel runs use [Microsoft MPI](https://learn.microsoft.com/en-us/message-passing-interface/microsoft-mpi) (MS-MPI). Install the M


## Getting started

*SION* works with surface traps, defined through the *electrode* package. The simulation of ion dynamics is carried through the *pylion* environment.
All functions, presented in *SION* are described in example notebooks. Main file *sion.py* contains docs for each function.

To publish the results, obtained with *SION*, we kindly ask you to cite the following article:
1. [Surface trap with adjustable ion couplings for scalable and parallel gates](https://journals.aps.org/pra/abstract/10.1103/PhysRevA.109.022605)

Free software: GNU GENERAL PUBLIC LICENSE

## Features

*   Simulation of ion motion in arbitrary polygon and point electrode surface trap.
*   Optimization and simulation of arbitrary ion shuttling in polygon traps.
*   Calculation of normal modes for general case of 1D, 2D, 3D mixed species ion crystals with arbitrary set of ions' secular frequencies.
*   Calculation of anharmonic Mathieu modes of ion crystals in surface traps.  
*   Stability analysis of asymmetric planar traps.
*   Optimization of DC voltage set of a planar trap to match the desired secular frequency and radial mode rotation angle in given positions.
*   Convenient trap design. Layout may be imported from GDS file or created by defining the arbitrary electrode shape boundary. 

## Possible issues

*  The following error may occur from trying to execute simulation two times without restarting the kernel. It is specific to IPython IDEs (Jupyter, spyder). The error will be resolved by restarting the kernel.

<code>SimulationError: There are identical 'uids'. Although this is allowed in some  cases, 'lammps' is probably not going to like it.</code>

