elwaspatid

elwaspatid: A Python package to compute space-time diagrams for the propagation of elastic waves in 1D rods - Published in JOSS (2022)

https://github.com/dbrizard/elwaspatid

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 3 DOI reference(s) in README and JOSS metadata
  • Academic publication links
  • Committers with academic emails
    2 of 2 committers (100.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

elastic propagation wave

Scientific Fields

Biology Life Sciences - 84% confidence
Artificial Intelligence and Machine Learning Computer Science - 83% confidence
Last synced: 4 months ago · JSON representation

Repository

Elastic wave space time diagrams with Python

Basic Info
  • Host: GitHub
  • Owner: dbrizard
  • License: agpl-3.0
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 7.48 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 2
Topics
elastic propagation wave
Created almost 4 years ago · Last pushed over 3 years ago
Metadata Files
Readme Changelog License

README.md

ELastic WAve SPAce-TIme Diagrams

Documentation Status PyPI version

elwaspatid is a Python module for the computation of space-time diagrams (also called Lagrangian x-t diagram) for the propagation of elastic waves in 1D rods. The rods can have impedance variations along the propagation axis, and it is possible to consider several rods in contact.

Initial conditions can be:

  • a prescribed input force at the left end of the left (first) rod;
  • a prescribed velocity of the left rod, which impacts the next rod.

Boundary conditions can be:

  • free end;
  • fixed end;
  • contact interface with another rod;
  • infinite end (ie. anechoic condition).

This module is the extention of the work of the following reference:

Bacon, C. (1993). Numerical prediction of the propagation of elastic waves in longitudinally impacted rods : Applications to Hopkinson testing. International Journal of Impact Engineering, 13(4), 527‑539. https://doi.org/10.1016/0734-743X(93)90084-K

Example of force space-time diagram: two successive compression pulses traveling down two bars (with identical cross-section) in contact.

Installation

pip install elwaspatid

Documentation

ReadTheDocs

Usage

See the examples in the documentation and in the examples folder of the github source.

Testing

To test the installation, run all the examples (manually, or by compiling the docs).

The examples can be retrieved from the Github repository or from the section Examples of diagrams.

Note: there are no automated tests of the module, because the aim of the module is to plot propagation diagrams and the underlying data is made of large matrices. However, running all the examples will test all the functionnalities of the module and one can check that we get the expected results/diagrams (ie. the correct relfection/transmission of waves).

Community guidelines

Contributing

Contributions are welcome, be it improvements or new functionalities. Either contact directly the author, or use Pull Requests.

Refering to the example called Under the hood may be a good idea before diving into the code.

Reporting issues or problems

Use issues. Be sure to fully describe your issue or problem. If applicable, provide a minimal working example (MWE).

Support

Do not forget to read the docs! Several examples are provided, showing all the available functionalities. They should be a good starting point. Check the references (articles and books) listed in the examples introduction if you need mechanical background.

Also search for issues.

Owner

  • Login: dbrizard
  • Kind: user
  • Location: Lyon, France
  • Company: @ifsttar

Research fellow, Biomechanics and impact mechanics laboratory (Laboratoire de Biomécanique et Mécanique des Chocs). Wave propagation, SHPB, UQ, GSA

JOSS Publication

elwaspatid: A Python package to compute space-time diagrams for the propagation of elastic waves in 1D rods
Published
July 05, 2022
Volume 7, Issue 75, Page 4418
Authors
Denis Brizard ORCID
Univ Lyon, Univ Gustave Eiffel, Univ Claude Bernard Lyon 1, LBMC UMR_T 9406, F-69622 Lyon, France
Editor
Patrick Diehl ORCID
Tags
mechanics elastic wave propagation space-time diagram

GitHub Events

Total
Last Year

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 56
  • Total Committers: 2
  • Avg Commits per committer: 28.0
  • Development Distribution Score (DDS): 0.018
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
dbrizard d****d@u****r 55
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: 0
  • Total pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 27 minutes
  • Total issue authors: 0
  • Total pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • danielskatz (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

docs/RTDrequirements.txt pypi
  • Babel ==2.8.0
  • Brlapi ==0.6.7
  • Cheetah3 ==3.2.3
  • DyMat ==0.7
  • Jinja2 ==2.11.2
  • Mako ==1.0.6.dev0
  • MarkupSafe ==1.1.1
  • OMPython ==3.3.0
  • Pillow ==8.0.1
  • Polygon3 ==3.0.8
  • PyGObject ==3.28.3
  • PyPDF2 ==1.26.0
  • PyQt5 ==5.12.3
  • PyQt5-sip ==12.8.1
  • PyQtWebEngine ==5.12.1
  • PySocks ==1.6.8
  • PyWavelets ==1.1.1
  • PyYAML ==3.12
  • Pygments ==2.10.0
  • QDarkStyle ==3.0.2
  • QtAwesome ==1.1.0
  • QtPy ==1.11.2
  • RUST ==0.1.1
  • Rtree ==0.9.7
  • SALib ==1.3.11
  • SSSDConfig ==2.5.2
  • SecretStorage ==3.2.0
  • Send2Trash ==1.8.0
  • Sphinx ==3.3.0
  • alabaster ==0.7.12
  • anyio ==3.4.0
  • appdirs ==1.4.4
  • approvaltests ==3.1.1
  • argon2-cffi ==21.3.0
  • argon2-cffi-bindings ==21.2.0
  • arrow ==1.2.1
  • asn1crypto ==0.24.0
  • astroid ==2.6.6
  • astropy ==4.1
  • async-generator ==1.10
  • atomicwrites ==1.4.0
  • attrs ==20.3.0
  • autograd ==1.3
  • autopep8 ==1.5.7
  • backcall ==0.2.0
  • beautifulsoup4 ==4.10.0
  • binaryornot ==0.4.4
  • biopython ==1.79
  • black ==21.11b1
  • bleach ==3.2.1
  • blivet ==3.4.0
  • bs4 ==0.0.1
  • build ==0.7.0
  • cached-property ==1.5.2
  • certifi ==2020.11.8
  • cffi ==1.15.0
  • chardet ==3.0.4
  • chrome-gnome-shell ==0.0.0
  • click ==8.0.3
  • cloudpickle ==2.0.0
  • cma ==3.0.3
  • colorama ==0.4.4
  • colorcet ==2.0.6
  • colormath ==3.0.0
  • colourmap ==0.1.1
  • configobj ==5.0.6
  • contextvars ==2.4
  • cookiecutter ==1.7.3
  • coverage ==4.5.1
  • cryptography ==3.2.1
  • cssselect ==0.9.2
  • cupshelpers ==1.0
  • cycler ==0.10.0
  • dasbus ==1.2
  • dataclasses ==0.8
  • dbus-python ==1.2.4
  • decorator ==4.4.2
  • defusedxml ==0.6.0
  • delicolour ==1.3.0
  • diff-match-patch ==20200713
  • dill ==0.3.3
  • docutils ==0.16
  • elwaspatid ==1.1.2
  • empty-files ==0.0.3
  • entrypoints ==0.3
  • ethtool ==0.14
  • flake8 ==3.9.2
  • future ==0.18.2
  • gpg ==1.13.1
  • h5py ==3.0.0
  • helpdev ==0.7.1
  • hocr-tools ==1.1.1
  • html5lib ==0.999999999
  • idna ==2.10
  • imagesize ==1.2.0
  • immutables ==0.16
  • importlib-metadata ==4.8.2
  • inflection ==0.5.1
  • iniconfig ==1.1.1
  • iniparse ==0.4
  • initial-setup ==0.3.81.7
  • intervaltree ==3.1.0
  • ipykernel ==5.5.6
  • ipython ==7.16.1
  • ipython-genutils ==0.2.0
  • isc ==2.0
  • isort ==5.10.1
  • jedi ==0.18.1
  • jeepney ==0.7.1
  • jinja2-time ==0.2.0
  • joblib ==0.17.0
  • json5 ==0.9.6
  • jsonschema ==3.2.0
  • jupyter-client ==6.2.0
  • jupyter-core ==4.9.1
  • jupyter-server ==1.13.1
  • jupyterlab ==3.2.5
  • jupyterlab-pygments ==0.1.2
  • jupyterlab-server ==2.9.0
  • keyring ==21.5.0
  • kiwisolver ==1.3.1
  • langtable ==0.0.51
  • lazy-object-proxy ==1.6.0
  • libcomps ==0.1.16
  • lit ==12.0.1
  • llvmlite ==0.36.0
  • lxml ==4.6.1
  • matplotlib ==3.3.2
  • mccabe ==0.6.1
  • meson ==0.55.3
  • mistune ==0.8.4
  • mock ==1.0.1
  • mpmath ==1.1.0
  • mypy-extensions ==0.4.3
  • nbclassic ==0.3.4
  • nbclient ==0.5.1
  • nbconvert ==6.0.7
  • nbformat ==5.0.8
  • nest-asyncio ==1.5.1
  • netifaces ==0.10.6
  • networkx ==2.5.1
  • nftables ==0.1
  • notebook ==6.4.6
  • ntplib ==0.3.3
  • numba ==0.53.1
  • numpy ==1.19.4
  • numpydoc ==1.1.0
  • openturns ==1.18
  • ordered-set ==2.0.2
  • packaging ==20.4
  • palettable ==3.3.0
  • pandas ==1.1.4
  • pandocfilters ==1.4.3
  • param ==1.10.1
  • parmap ==1.5.2
  • parso ==0.8.2
  • pathspec ==0.9.0
  • pathtools ==0.1.2
  • pca ==1.3.0
  • pciutils ==2.3.6
  • peakdetect ==1.1
  • pep517 ==0.12.0
  • perf ==0.1
  • pexpect ==4.8.0
  • pickleshare ==0.7.5
  • pid ==2.1.1
  • pkginfo ==1.8.2
  • platformdirs ==2.4.0
  • pluggy ==1.0.0
  • ply ==3.11
  • poyo ==0.5.0
  • productmd ==1.11
  • prometheus-client ==0.12.0
  • prompt-toolkit ==3.0.8
  • psutil ==5.8.0
  • ptyprocess ==0.6.0
  • pwquality ==1.4.4
  • py ==1.11.0
  • pyDOE ==0.3.8
  • pyOpenSSL ==19.0.0
  • pycairo ==1.16.3
  • pyclipper ==1.2.0
  • pycodestyle ==2.7.0
  • pycparser ==2.21
  • pyct ==0.4.8
  • pycups ==1.9.72
  • pycurl ==7.43.0.2
  • pydbus ==0.6.0
  • pydicom ==2.1.2
  • pydocstyle ==6.1.1
  • pyenchant ==2.0.0
  • pyflakes ==2.3.1
  • pyinotify ==0.9.6
  • pykickstart ==3.16.14
  • pylint ==2.9.6
  • pyls-black ==0.4.6
  • pyls-spyder ==0.4.0
  • pyparsing ==2.4.7
  • pyparted ==3.11.7
  • pyperclip ==1.5.27
  • pyrsistent ==0.17.3
  • pysam ==0.18.0
  • pytest ==6.2.5
  • python-dateutil ==2.8.2
  • python-dmidecode ==3.12.2
  • python-jsonrpc-server ==0.4.0
  • python-language-server ==0.36.1
  • python-linux-procfs ==0.6.3
  • python-lsp-black ==1.0.0
  • python-lsp-jsonrpc ==1.0.0
  • python-lsp-server ==1.2.4
  • python-meh ==0.47.2
  • python-slugify ==5.0.2
  • pytz ==2020.4
  • pyudev ==0.21.0
  • pyxdg ==0.27
  • pyzmq ==22.3.0
  • qstylizer ==0.2.1
  • qtconsole ==5.1.1
  • readme-renderer ==31.0
  • regex ==2021.11.10
  • reportlab ==3.5.59
  • requests ==2.24.0
  • requests-file ==1.4.3
  • requests-ftp ==0.3.1
  • requests-toolbelt ==0.9.1
  • rfc3986 ==1.5.0
  • rhnlib ==2.8.6
  • rope ==0.22.0
  • rpm ==4.14.3
  • scaleogram ==0.9.5
  • schedutils ==0.6
  • scikit-learn ==0.23.2
  • scipy ==1.5.4
  • selinux ==2.9
  • semantic-version ==2.8.5
  • sepolicy ==1.1
  • setools ==4.3.0
  • setroubleshoot ==1.1
  • setuptools-rust ==1.0.0
  • simpleline ==1.1.1
  • six ==1.16.0
  • sklearn ==0.0
  • slip ==0.6.4
  • slip.dbus ==0.6.4
  • sniffio ==1.2.0
  • snowballstemmer ==2.2.0
  • sortedcontainers ==2.3.0
  • sos ==4.1
  • soupsieve ==2.3.1
  • sphinx-codeautolink ==0.8.0
  • sphinx-gallery ==0.10.0
  • sphinxcontrib-applehelp ==1.0.2
  • sphinxcontrib-devhelp ==1.0.2
  • sphinxcontrib-htmlhelp ==1.0.3
  • sphinxcontrib-jsmath ==1.0.1
  • sphinxcontrib-qthelp ==1.0.3
  • sphinxcontrib-serializinghtml ==1.1.4
  • spyder ==5.1.5
  • spyder-kernels ==2.1.3
  • subscription-manager ==1.28.21
  • sympy ==1.6.2
  • syspurpose ==1.28.21
  • systemd-python ==234
  • terminado ==0.12.1
  • testpath ==0.4.4
  • text-unidecode ==1.3
  • textdistance ==4.2.2
  • tftb ==0.1.3
  • threadpoolctl ==2.1.0
  • three-merge ==0.1.1
  • thrift ==0.13.0
  • tinycss2 ==1.1.1
  • toml ==0.10.2
  • tomli ==1.2.2
  • tornado ==6.1
  • tqdm ==4.51.0
  • traitlets ==4.3.3
  • twine ==3.7.1
  • typed-ast ==1.4.3
  • typing_extensions ==4.0.0
  • ujson ==4.3.0
  • urllib3 ==1.25.11
  • vosk ==0.3.32
  • watchdog ==0.10.3
  • wcwidth ==0.2.5
  • webencodings ==0.5.1
  • websocket-client ==1.2.3
  • wget ==3.2
  • wrapt ==1.12.1
  • wurlitzer ==3.0.2
  • yapf ==0.31.0
  • zipp ==3.6.0
docs/RTDrequirements_short.txt pypi
  • elwaspatid ==2.0.0
  • matplotlib ==3.3.2
  • numpy ==1.19.4
  • sphinx-gallery ==0.10.0
setup.py pypi
  • numpy *