LDDS
LDDS: Python package for computing and visualizing Lagrangian Descriptors for Dynamical Systems - Published in JOSS (2021)
Science Score: 95.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 1 DOI reference(s) in JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org -
✓Committers with academic emails
3 of 5 committers (60.0%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
Scientific Fields
Repository
Python package for computing and visualizing Lagrangian Descriptors in Dynamical Systems
Basic Info
Statistics
- Stars: 21
- Watchers: 5
- Forks: 3
- Open Issues: 5
- Releases: 1
Topics
Metadata Files
README.md
LDDS: Python package for Computation of Lagrangian Descriptors of Dynamical Systems.
Table of contents
- Description
- Dependencies and installation
- Documentation
- Examples and Tutorials
- How to cite
- Authors and contributors
- Contributing
- License
- Acknowledgements
LDDS
Description
LDDS is an open-source Python module that uses the method of Lagrangian Descriptors (LDs) for visualization of phase space structures of dynamical systems.
First introduced by Madrid & Mancho (Chaos 2009), the method of LDs defines a function, called the Lagrangian descriptor function, defined as a scalar field that maps a set of initial condition in phase space to the "arc length" integral of their evolving trajectories in time. This approach is capable of highlighting the phase space geometry of invariant manifolds associated with periodic orbits and equilibria of dynamical systems. Over the years new formulations of the method have been developed for enhanced visualization of phase space structures. See our online book for an overview on the topic.
In LDDS we implemented the majority of the LD variants and users can be able to work with dynamical systems with continuous flows and discrete maps in deterministic and stochastic settings, with high-dimensional vector fields described as analytical expressions or numerical data. See the Examples and Tutorials section below to have an idea of the versatility of this package.
Nonlinear dynamical systems are ubiquitous in natural and engineering sciences, such as fluid mechanics, theoretical chemistry, ship dynamics, rigid body dynamics, atomic physics, solid mechanics, condensed matter physics, mathematical biology, oceanography, meteorology and celestial mechanics [@wiggins1994normally and references therein]. We expect our package to enable researchers in these and other areas to take advantage of the LDs methods in research.
Dependencies and installation
The setup.py should install the dependencies listed in
requirements.txt using
bash
pip install -r requirements.txt (or pip3 install -r requirements.txt)
Installing from source
Clone the git repository and install ldds as a module using
bash
git clone git@github.com:champsproject/ldds.git
cd ldds
python setup.py install
Testing
Test your installation with following command:
bash
cd ldds/tests
python -m unittest
You should see something like the following on the terminal:
```bash Ran 1 test in 11.173s
OK ``` <!-- #endregion -->
Documentation
LDDS uses Sphinx for documentation and is made available online here. To build the html version of the docs locally simply:
bash
cd docs
make html
The generated html can be viewed by opening docs/_build/html/index.html.
<!-- #endregion -->
Examples and Tutorials
You can find useful tutorials on how to use LDDS in the tutorials folder.
Here we show two examples of the output contour maps produced with ldds for the Lagrangian Descriptor values of a deterministic (Tutorial 2) and a stochastic (Tutorial 10) benchmark system:
Duffing oscillator with harmonic forcing.
Double-gyre with stochastic forcing.
How to cite
NOTE 19 May 2020 : We have recently submitted LDDS to JOSS and now awaiting revision.
If you use this package in your publications, provisionally you can cite the package as follows:
LDDS: Python package for Computation of Lagrangian Descriptors of Dynamical Systems. https://github.com/champsproject/ldds
Or if you use LaTeX:
tex
@misc{LDDS,
author = {B. Aguilar-Sanjuan and V. Garc{\'i}a-Garrido and V. Kraj\v{n}{\'a}k and S. Naik and S. Wiggins},
title = {{LDDS}: {P}ython package for computing and visualizing {L}agrangian {D}escriptors in {D}ynamical {S}ystems.},
howpublished = {\url{https://github.com/champsproject/ldds}}
}
Authors and contributors
LDDS is currently developed and mantained by
- Broncio Aguilar-Sanjuan University of Bristol , UK
- Víctor J. García-Garrido Universidad de Alcalá , Spain
- Vladimír Krajňák University of Bristol , UK
- Shibabrat Naik University of Bristol , UK
with the support of and supervision of Prof. Stephen Wiggins (University of Bristol , UK), under the CHAMPS Project.
Contact us by email for further information or questions about LDDS, or suggest pull requests. Contributions improving either the code or the documentation are welcome! <!-- #endregion -->
Contributing
Guidelines on how to contribute to this package can be found here along with the code of conduct here for engaging with the fellow contributors. As and when we receive improvements to the package, we will acknowledge the pull request and the contributor in this section.
License
See the LICENSE file for license rights and limitations.
Acknowledgements
We acknowledge the support of EPSRC Grant No. EP/P021123/1 CHAMPS project.
Owner
- Name: CHAMPS Project
- Login: champsproject
- Kind: organization
- Email: S.Wiggins@bristol.ac.uk
- Location: Bristol, UK
- Website: https://champsproject.com/
- Repositories: 4
- Profile: https://github.com/champsproject
Chemistry and Mathematics in Phase Space
JOSS Publication
LDDS: Python package for computing and visualizing Lagrangian Descriptors for Dynamical Systems
Authors
School of Mathematics, University of Bristol, Fry Building, Woodland Road, Bristol BS8 1UG, United Kingdom
Departamento de Física y Matemáticas, Universidad de Alcalá, Madrid, 28871, Spain
School of Mathematics, University of Bristol, Fry Building, Woodland Road, Bristol BS8 1UG, United Kingdom
Tags
Dynamical systems Lagrangian descriptorsGitHub Events
Total
- Issues event: 3
- Watch event: 3
- Issue comment event: 2
- Fork event: 1
Last Year
- Issues event: 3
- Watch event: 3
- Issue comment event: 2
- Fork event: 1
Committers
Last synced: 5 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Broncio | b****6@m****k | 239 |
| vkrajnak | 5****k | 170 |
| shibabrat | s****a@v****u | 86 |
| Víctor | v****o@g****m | 48 |
| Daniel S. Katz | d****z@i****g | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 41
- Total pull requests: 28
- Average time to close issues: 4 months
- Average time to close pull requests: 22 days
- Total issue authors: 6
- Total pull request authors: 5
- Average comments per issue: 2.05
- Average comments per pull request: 3.14
- Merged pull requests: 28
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 0
- Average time to close issues: about 2 months
- Average time to close pull requests: N/A
- Issue authors: 1
- Pull request authors: 0
- Average comments per issue: 3.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- broncio123 (23)
- vkrajnak (11)
- VikJGG (4)
- mkatsan (1)
- simonweppe (1)
- Shibabrat (1)
Pull Request Authors
- vkrajnak (12)
- broncio123 (10)
- Shibabrat (3)
- VikJGG (2)
- danielskatz (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- h5py *
- ipywidgets *
- jupyter *
- matplotlib *
- numpy *
- scipy *
- m2r *