# Getting started#

## Example notebooks (.ipynb)#

Rydberg atoms - a primer introduces Rydberg atoms and ARC package, and is a
good **starting point** to learn how to use ARC to get relevant information about
**alkali atoms** and **Rydberg states** in general.

An introduction to ARC 3.0: Alkali.ne Rydberg Calculator introduces features
added in ARC 3.0 version: support for **divalent atoms**, inter-species
calculations, atom-surface interactions, dynamic polarizability calculations
(AC Stark Shift), wave function plotting, and methods for work with optical
lattices.

- An Introduction to ARC 3.0: Alkali.ne Rydberg Calculator
- Preliminaries: general note on using ARC with Alkaline Earths
- General atom calculations with Alkaline earths
- Stark maps with Alkaline Earths
- Pair-state interactions between Rydberg states of Alkaline Earths
- Pertubative C6 calculation in the manifold of degenerate states
- Inter-species pair-state calculations
- Stark-tuned Forster resonances
- Wavefunction calculations for Alkali atom Rydberg states
- Atom-surface van der Waals interactions (C3 calculation)
- Optical lattice calculations (Bloch bands, Wannier states…)
- Calculations of dynamic polarisability and magic wavelengths for optical traps

ARC 3.1 update: support for hyperfine structure for alkali atoms expands
support for **alkali metals**: hyperfine structure is added,
and functions for dealing with Raman transitions and level structures in strong
magnetic fields (Breit-Rabi diagrams).

ARC 3.3 update: support for AC Stark shifts adds support for single atom calculations that determine Stark maps of the Rydberg manifold due to an AC electric field.

Click on the corresponding topic above to open static (HTML) version of the notebooks. If you want directly .ipynb format, open directly files form ARC repository and run them in Jupyter .

## On demand examples from online Atom calculator#

You can try using the package without installing anything on your computer. Simply point your web browser from your computer, tablet or phone to atomcalc.jqc.org.uk and use ARC online.

Online version also generates the correct code necessary for answering the questions you ask, which can be downladed and used as a starting point for running the package locally on your computer.

## Frequently asked questions (FAQ)#

If you have a question how to do a common calculation, we recommend checking above mentioned Rydberg atoms - a primer IPython notebook. For general questions about the package usage check here:

**1. How to save calculation (or matrix) for later use?**

Calculations of pair-state interactions `PairStateInteractions`

and Stark maps `StarkMap`

can be easily saved at any point by calling `alkali_atom_functions.saveCalculation`

. This can be loaded later by using `alkali_atom_functions.loadSavedCalculation`

and calculation can be continued from that point.

**2. How to export results?**

If you want to export results e.g. for analysis and plotting in other programs, you can use `calculations_atom_pairstate.PairStateInteractions.exportData`

and `calculations_atom_single.StarkMap.exportData`

to export results of Stark map and Pair-state interaction calculations in **.csv** format. See documentation of corresponding functions for more details.

**3. Calculation is not outputting anything? How long does it take for calculation to finish?**

Most of the functions have progressOutput and debugOutput as an optional parameter (by default set to False) - check documentation of individual functions for details. We recommend setting at least progressOutput=True so that you have minimum output about the status of calculations. This often displays percentage of the current calculation that is finished, that you can use to estimate total time. Setting debugOutput=True outputs even more verbose output, like states in the selected basis, and individual coupling strengths etc.