SpiDy.jl

SpiDy.jl: open-source Julia package for the study of non-Markovian stochastic dynamics - Published in JOSS (2024)

https://github.com/quantum-exeter/spidy.jl

Science Score: 93.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 10 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: arxiv.org, joss.theoj.org, zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

harmonic-oscillator open-systems spin-dynamics stochastic
Last synced: 6 months ago · JSON representation

Repository

:spider: Non-Markovian stochastic SPIn (and harmonic oscillator) DYnamics.

Basic Info
  • Host: GitHub
  • Owner: quantum-exeter
  • License: gpl-3.0
  • Language: Julia
  • Default Branch: main
  • Homepage:
  • Size: 34.7 MB
Statistics
  • Stars: 14
  • Watchers: 2
  • Forks: 2
  • Open Issues: 2
  • Releases: 8
Topics
harmonic-oscillator open-systems spin-dynamics stochastic
Created over 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme Contributing License Code of conduct Security

README.md

spidy_banner

SpiDy.jl

Stable Dev Build Status DOI DOI

(It is pronounced "spee-dee" 😊)

SpiDy.jl is a Julia package that solves the non-Markovian stochastic dynamics of interacting classical spin vectors and harmonic oscillator networks in contact with a dissipative environment. The methods implemented allow the user to include arbitrary memory effects and colored quantum noise spectra. In this way, SpiDy.jl provides key tools for the simulation of classical and quantum open systems including non-Markovian effects and arbitrarily strong coupling to the environment. Among the wide range of applications, some examples range from atomistic spin dynamics to ultrafast magnetism and the study of anisotropic materials. We provide the user with Julia notebooks to guide them through the various mathematical methods and help them quickly set up complex simulations.

Reference paper

This is the reference paper for a quick overview. You might also want to cite it in case it is useful!

JOSS publication -> https://joss.theoj.org/papers/10.21105/joss.06263

arXiv preprint -> https://arxiv.org/abs/2310.03008

Bibtex citation ```tex @article{Scali2024, doi = {10.21105/joss.06263}, url = {https://doi.org/10.21105/joss.06263}, year = {2024}, publisher = {The Open Journal}, volume = {9}, number = {97}, pages = {6263}, author = {Stefano Scali and Simon Horsley and Janet Anders and Federico Cerisola}, title = {SpiDy.jl: open-source Julia package for the study of non-Markovian stochastic dynamics}, journal = {Journal of Open Source Software} } ```

Online documentation

Check the online documentation at this link.

Install Julia

If you are new to Julia, here is how to install it.

If you are a Windows/Mac user, download Julia here and run the installer. On Mac, drag-and-drop the app to the Applications.

If you are a Linux user, just open a terminal and use your package manager, e.g. on Debian-based distros run "sudo apt-get install julia", on RedHat-based distros run "sudo dnf install julia".

Install SpiDy

Start Julia and enter in Pkg REPL mode by pressing ] then run the following, Julia add SpiDy NB: the entire installation of SpiDy and its dependencies takes about 5 minutes on a bare-bones Julia environment.

Run SpiDy

To run the code, * save rundynamics.jl and <a href=https://raw.githubusercontent.com/quantum-exeter/SpiDy.jl/main/runs/runsteadystate.jl>runsteadystate.jl in your preferred location (open the link -> right click on the page -> save as... should work to save the file) * open the terminal or command line * run the following command, ```Julia julia "path-to-your-file"/rundynamics.jl ``` where "path-to-your-file" is the one where you saved your file. Replace run_dynamics.jl with run_steadystate.jl to run the one of your choice.

This last command will run the code and save plots/datafile of the chosen run. CONGRATS, you have just run SpiDy for the first time!

NB: the code can exploit parallel computation. To do this, run your files as Julia julia -t 6 "path-to-your-file"/run_dynamics.jl where you want to replace "6" with the number of threads that you wish to use. As a general idea, you do not want to use more than 80% of the number of threads you have available in your machine, e.g. if you have a 4-core CPU, you are likely to have 8 threads and you may want to run the parallelization as indicated above.

Repo structure

  • .github/workflows: contains the yml file to build the documentation and commit on the gh-pages branch
  • docs: contains the logos, make.jl and index.md for the generation of documentation
  • runs: contains run_*.jl files which can be used as a template to run the code
  • src: contains the source code
  • starthere: contains an ipynb notebook written in Julia which walks you through bits and pieces of the code with explanatory plots (the notebook is evolving over time but always ready to use)

Owner

  • Name: Quantum Exeter
  • Login: quantum-exeter
  • Kind: organization
  • Location: United Kingdom

Quantum Non-equilibrium group at the University of Exeter

JOSS Publication

SpiDy.jl: open-source Julia package for the study of non-Markovian stochastic dynamics
Published
May 30, 2024
Volume 9, Issue 97, Page 6263
Authors
Stefano Scali ORCID
Department of Physics and Astronomy, University of Exeter, Exeter EX4 4QL, United Kingdom
Simon Horsley ORCID
Department of Physics and Astronomy, University of Exeter, Exeter EX4 4QL, United Kingdom
Janet Anders ORCID
Department of Physics and Astronomy, University of Exeter, Exeter EX4 4QL, United Kingdom, Institute of Physics and Astronomy, University of Potsdam, 14476 Potsdam, Germany
Federico Cerisola ORCID
Department of Physics and Astronomy, University of Exeter, Exeter EX4 4QL, United Kingdom, Department of Engineering Science, University of Oxford, Oxford OX1 3PJ, United Kingdom.
Editor
Matthew Feickert ORCID
Tags
spin-boson model harmonic oscillator stochastic field non-Markovian memory colored noise anisotropic coupling magnetism

GitHub Events

Total
  • Watch event: 2
Last Year
  • Watch event: 2

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 325
  • Total Committers: 4
  • Avg Commits per committer: 81.25
  • Development Distribution Score (DDS): 0.357
Past Year
  • Commits: 38
  • Committers: 3
  • Avg Commits per committer: 12.667
  • Development Distribution Score (DDS): 0.079
Top Committers
Name Email Commits
Stefano Scali s****o@g****m 209
Federico Cerisola f****o@c****t 99
CompatHelper Julia c****y@j****g 10
Hogg c****g@m****m 7
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 10
  • Total pull requests: 19
  • Average time to close issues: 18 days
  • Average time to close pull requests: about 6 hours
  • Total issue authors: 5
  • Total pull request authors: 4
  • Average comments per issue: 1.7
  • Average comments per pull request: 0.05
  • Merged pull requests: 19
  • Bot issues: 0
  • Bot pull requests: 10
Past Year
  • Issues: 0
  • Pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: 1 day
  • Issue authors: 0
  • Pull request authors: 3
  • Average comments per issue: 0
  • Average comments per pull request: 0.33
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 1
Top Authors
Issue Authors
  • cerisola (4)
  • matthewfeickert (2)
  • mekise (1)
  • mdavezac (1)
  • github-actions[bot] (1)
  • JuliaTagBot (1)
Pull Request Authors
  • github-actions[bot] (10)
  • quantum-charlie (7)
  • cerisola (6)
  • mekise (2)
Top Labels
Issue Labels
enhancement (2)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 8
juliahub.com: SpiDy

:spider: Non-Markovian stochastic SPIn (and harmonic oscillator) DYnamics.

  • Versions: 8
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 9.8%
Forks count: 33.5%
Average: 34.0%
Dependent packages count: 38.4%
Stargazers count: 54.5%
Last synced: 6 months ago

Dependencies

.github/workflows/documentation.yml actions
  • actions/checkout v2 composite
  • julia-actions/setup-julia v1 composite