Skip to content

Commit

Permalink
Merge pull request #1 from INRIM/v0.1.0-init
Browse files Browse the repository at this point in the history
Merge V0.1.0 init
  • Loading branch information
mpizzocaro authored Sep 17, 2024
2 parents a99e3c8 + dcd0789 commit 70a44de
Show file tree
Hide file tree
Showing 22 changed files with 4,351 additions and 1 deletion.
12 changes: 12 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
version: 2

build:
os: "ubuntu-latest"
tools:
python: "3.10"
sphinx:
configuration: docs/source/conf.py

python:
install:
- requirements: docs/rtd_requirements.txt
39 changes: 38 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,39 @@
# large-lattice-model
A python package to model the motional spectra of atoms trapped in a one-dimensional optical lattice
A python package to model the motional spectra of atoms trapped in a one-dimensional optical lattice.


## Requirements
Large-lattice-model requires the calculation of Mathieu special function.
The current `scipy` implementation of Mathieu functions [is not continuous.](https://github.com/scipy/scipy/pull/14577)
It is reccomended to install the [GSL Library](https://www.gnu.org/software/gsl/), for example using:

sudo apt install libgsl-dev

Large-lattice-model will use `ctypes` to import the GSL implementation and will fallback to `scipy` if it does not find GSL.
Previous versions of the package used [`pygsl`](https://github.com/pygsl/pygsl), but the current version of `pygsl` does not implement [special functions](https://github.com/pygsl/pygsl/issues/55).



## License

[MIT](https://opensource.org/licenses/MIT)

## References

This package implements many ideas from the work of NIST Yb optical lattice clock group:

[Beloy et al., Phys. Rev. A, 101, 053416 (2020).](https://doi.org/10.1103/PhysRevA.101.053416)

It is developed for use in the INRIM Yb optical lattice clock IT-Yb1, see for example:


[Goti et al., Metrologia, 60, 035002 (2023).](https://dx.doi.org/10.1088/1681-7575/accbc5)

## Acknowledgments
This work has received funding from the European Partnership on Metrology, co-financed by the European Union’s Horizon Europe Research and Innovation Programme and by the Participating States, under grant number 22IEM01 TOCK.

![badge](./docs/source/Acknowledgement%20badge.png)

## Authors

(c) 2021-2024 Marco Pizzocaro - Istituto Nazionale di Ricerca Metrologica (INRIM)
20 changes: 20 additions & 0 deletions docs/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = source
BUILDDIR = build

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
35 changes: 35 additions & 0 deletions docs/make.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
@ECHO OFF

pushd %~dp0

REM Command file for Sphinx documentation

if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set SOURCEDIR=source
set BUILDDIR=build

%SPHINXBUILD% >NUL 2>NUL
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.https://www.sphinx-doc.org/
exit /b 1
)

if "%1" == "" goto help

%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
goto end

:help
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%

:end
popd
973 changes: 973 additions & 0 deletions docs/rtd_requirements.txt

Large diffs are not rendered by default.

Binary file added docs/source/Acknowledgement badge.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
41 changes: 41 additions & 0 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Configuration file for the Sphinx documentation builder.
#
# For the full list of built-in configuration values, see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html

# -- Project information -----------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information

import importlib.metadata
from pathlib import Path

project = "Large-lattice-model"
copyright = "2021-2024 Marco Pizzocaro - Istituto Nazionale di Ricerca Metrologica (INRIM)"
author = "Marco Pizzocaro"
release = importlib.metadata.version("large_lattice_model")

# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration

extensions = [
"myst_parser",
"sphinx.ext.duration",
"sphinx.ext.autosectionlabel",
"sphinx.ext.autodoc",
"sphinx.ext.napoleon",
"autoapi.extension",
]
autoapi_type = "python"
autoapi_dirs = [f"{Path(__file__).parents[2]}/src"]

myst_enable_extensions = ["dollarmath", "amsmath"]

templates_path = ["_templates"]
exclude_patterns = []


# -- Options for HTML output -------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output

html_theme = "sphinx_rtd_theme"
html_static_path = ["_static"]
11 changes: 11 additions & 0 deletions docs/source/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
% Large-lattice-model documentation master file, created by
% sphinx-quickstart on Thu Sep 12 17:52:22 2024.
% You can adapt this file completely to your liking, but it should at least
% contain the root `toctree` directive.

# Large-lattice-model documentation

```{toctree}
:caption: 'Contents:'
:maxdepth: 2
```
Loading

0 comments on commit 70a44de

Please sign in to comment.