LDDS

LDDS: Python package for computing and visualizing Lagrangian Descriptors for Dynamical Systems - Published in JOSS (2021)

https://github.com/champsproject/ldds

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

dynamical-systems lagrangian-descriptors python

Scientific Fields

Mathematics Computer Science - 46% confidence
Materials Science Physical Sciences - 40% confidence
Last synced: 4 months ago · JSON representation

Repository

Python package for computing and visualizing Lagrangian Descriptors in Dynamical Systems

Basic Info
  • Host: GitHub
  • Owner: champsproject
  • License: bsd-3-clause
  • Language: HTML
  • Default Branch: develop
  • Homepage:
  • Size: 375 MB
Statistics
  • Stars: 21
  • Watchers: 5
  • Forks: 3
  • Open Issues: 5
  • Releases: 1
Topics
dynamical-systems lagrangian-descriptors python
Created over 5 years ago · Last pushed over 4 years ago
Metadata Files
Readme Contributing License Code of conduct

README.md

LDDS: Python package for Computation of Lagrangian Descriptors of Dynamical Systems.

Table of contents

LDDS

status

.github/workflows/draft-pdf.yml

Documentation Status

Binder <!-- #endregion -->

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

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

Chemistry and Mathematics in Phase Space

JOSS Publication

LDDS: Python package for computing and visualizing Lagrangian Descriptors for Dynamical Systems
Published
September 28, 2021
Volume 6, Issue 65, Page 3482
Authors
Broncio Aguilar-Sanjuan ORCID
School of Mathematics, University of Bristol, Fry Building, Woodland Road, Bristol BS8 1UG, United Kingdom
Víctor J. García-Garrido ORCID
Departamento de Física y Matemáticas, Universidad de Alcalá, Madrid, 28871, Spain
Vladimír Krajňák ORCID
School of Mathematics, University of Bristol, Fry Building, Woodland Road, Bristol BS8 1UG, United Kingdom
Shibabrat Naik ORCID
School of Mathematics, University of Bristol, Fry Building, Woodland Road, Bristol BS8 1UG, United Kingdom
Stephen Wiggins ORCID
School of Mathematics, University of Bristol, Fry Building, Woodland Road, Bristol BS8 1UG, United Kingdom
Editor
Richard Gowers ORCID
Tags
Dynamical systems Lagrangian descriptors

GitHub 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

All Time
  • Total Commits: 544
  • Total Committers: 5
  • Avg Commits per committer: 108.8
  • Development Distribution Score (DDS): 0.561
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email 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
enhancement (17) help wanted (8) documentation (6) improvement (5) bug (4) JOSS review (3) question (2)
Pull Request Labels
enhancement (1)

Dependencies

requirements.txt pypi
  • h5py *
  • ipywidgets *
  • jupyter *
  • matplotlib *
  • numpy *
  • scipy *
setup.py pypi
  • m2r *