openflash

Semi-analytical hydrodynamics modeling including matched eigenfunction expansion method

https://github.com/symbiotic-engineering/openflash

Science Score: 75.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 5 DOI reference(s) in README
  • Academic publication links
    Links to: academia.edu
  • Academic email domains
  • Institutional organization owner
    Organization symbiotic-engineering has institutional domain (sea.mae.cornell.edu)
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.5%) to scientific vocabulary
Last synced: 8 months ago · JSON representation ·

Repository

Semi-analytical hydrodynamics modeling including matched eigenfunction expansion method

Basic Info
  • Host: GitHub
  • Owner: symbiotic-engineering
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: main
  • Size: 113 MB
Statistics
  • Stars: 2
  • Watchers: 0
  • Forks: 0
  • Open Issues: 1
  • Releases: 0
Created about 2 years ago · Last pushed 9 months ago
Metadata Files
Readme Changelog License Citation

README.md

OpenFLASH ⚡️

Open-source Flexible Library for Analytical and Semi-analytical Hydrodynamics

About The OpenFLASH Project

The OpenFLASH project is a Python package designed for solving boundary value problems using eigenfunction expansion methods. It provides a modular framework for defining complex geometries, setting up multi-domain problems, performing numerical computations, and analyzing results, particularly in fields like fluid dynamics.

When referencing this work, please reference our docs/citations.rst

License:

This project is licensed under the MIT License. See the LICENSE file for details.

How to Run the Python Code:

  1. Install the package: bash pip install git+[https://github.com/symbiotic-engineering/semi-analytical-hydro.git](https://github.com/symbiotic-engineering/semi-analytical-hydro.git)
  2. Install dependencies: Navigate to the project directory (if you cloned it) and run: bash pip install -r requirements.txt
  3. Explore the docs/ and package/test directory: These directories contain scripts and notebooks demonstrating how to use the OpenFLASH framework for different problems. Run these examples to understand the workflow.
  4. Refer to the documentation in the docs/ directory: The documentation provides detailed information on the different modules and classes within the open-flash package.

MATLAB

We also have a MATLAB code version, although the Python version is intended as primary for future development. MATLAB only supports bodies consisting of 2 concentric cylinders, rather than the arbitrary N concentric cylinders in the Python package.

See matlab/src/run_MEEM.m for the symbolic and numeric code, see matlab/test/ for some scripts to get results, and matlab/dev for various matlab experiments.

References

The following publications are relevant to this package:

  1. I. K. Chatjigeorgiou, Analytical Methods in Marine Hydrodynamics. Cambridge: Cambridge University Press, 2018. doi: 10.1017/9781316838983.
  2. F. P. Chau and R. W. Yeung, “Inertia and Damping of Heaving Compound Cylinders,” presented at the 25th International Workshop on Water Waves and Floating Bodies, Harbin, China, Jan. 2010. Accessed: Sep. 27, 2023. [Online]. Available: https://www.academia.edu/73219479/InertiaandDampingofHeavingCompoundCylinders_Fun
  3. F. P. Chau and R. W. Yeung, “Inertia, Damping, and Wave Excitation of Heaving Coaxial Cylinders,” presented at the ASME 2012 31st International Conference on Ocean, Offshore and Arctic Engineering, American Society of Mechanical Engineers Digital Collection, Aug. 2013, pp. 803–813. doi: 10.1115/OMAE2012-83987.
  4. R. W. Yeung, “Added mass and damping of a vertical cylinder in finite-depth waters,” Appl. Ocean Res., vol. 3, no. 3, pp. 119–133, Jul. 1981, doi: 10.1016/0141-1187(81)90101-2.
  5. D. Son, V. Belissen, and R. W. Yeung, “Performance validation and optimization of a dual coaxial-cylinder ocean-wave energy extractor,” Renew. Energy, vol. 92, pp. 192–201, Jul. 2016, doi: 10.1016/j.renene.2016.01.032.
  6. K. Kokkinowrachos, S. Mavrakos, and S. Asorakos, “Behaviour of vertical bodies of revolution in waves,” Ocean Eng., vol. 13, no. 6, pp. 505–538, Jan. 1986, doi: 10.1016/0029-8018(86)90037-5.

Owner

  • Name: symbiotic-engineering
  • Login: symbiotic-engineering
  • Kind: organization

Symbiotic Engineering and Analysis Lab at Cornell University

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "YOUR_NAME_HERE"
  given-names: "YOUR_NAME_HERE"
  orcid: "https://orcid.org/0000-0000-0000-0000"
- family-names: "Haji"
  given-names: "Maha N."
  orcid: "https://orcid.org/0000-0002-2953-7253"
title: "sea-lab-template"
version: 1.0.0
doi: 10.5281/zenodo.1234
date-released: 2023-09-14
url: "https://github.com/symbiotic-engineering/sea-lab-template"

preferred-citation:
  type: article
  authors:
  - family-names: "YOUR_NAME_HERE"
    given-names: "YOUR_NAME_HERE"
    orcid: "https://orcid.org/0000-0000-0000-0000"
  - family-names: "Haji"
    given-names: "Maha N."
    orcid: "https://orcid.org/0000-0002-2953-7253"
  doi: "10.0000/00000"
  journal: "Journal Title"
  month: 9
  start: 1 # First page number
  end: 10 # Last page number
  title: "My awesome research software"
  issue: 1
  volume: 1
  year: 2021

GitHub Events

Total
  • Watch event: 1
  • Delete event: 3
  • Issue comment event: 2
  • Push event: 57
  • Public event: 1
  • Pull request event: 9
  • Pull request review comment event: 10
  • Pull request review event: 6
  • Create event: 5
Last Year
  • Watch event: 1
  • Delete event: 3
  • Issue comment event: 2
  • Push event: 57
  • Public event: 1
  • Pull request event: 9
  • Pull request review comment event: 10
  • Pull request review event: 6
  • Create event: 5

Dependencies

.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v4 composite
  • codecov/codecov-action v4 composite
  • mikepenz/action-junit-report v5 composite
pyproject.toml pypi
requirements.txt pypi
  • Pygments ==2.18.0
  • appnope ==0.1.4
  • asttokens ==2.4.1
  • capytaine ==2.2.1
  • comm ==0.2.2
  • contourpy ==1.3.0
  • cycler ==0.12.1
  • debugpy ==1.8.6
  • decorator ==5.1.1
  • executing ==2.1.0
  • fonttools ==4.54.1
  • h5netcdf *
  • ipykernel ==6.29.5
  • ipython ==8.18.1
  • jedi ==0.19.1
  • jupyter_client ==8.6.3
  • jupyter_core ==5.7.2
  • kiwisolver ==1.4.7
  • matplotlib ==3.9.2
  • matplotlib-inline ==0.1.7
  • nest-asyncio ==1.6.0
  • numpy ==2.0.2
  • packaging ==24.1
  • pandas ==2.2.3
  • parso ==0.8.4
  • pexpect ==4.9.0
  • pillow ==10.4.0
  • platformdirs ==4.3.6
  • prompt_toolkit ==3.0.47
  • psutil ==6.0.0
  • ptyprocess ==0.7.0
  • pure_eval ==0.2.3
  • pyparsing ==3.1.4
  • pytest ==7.4.2
  • pytest-cov *
  • python-dateutil ==2.9.0.post0
  • pytz ==2024.2
  • pyzmq ==26.2.0
  • scipy ==1.13.1
  • six ==1.16.0
  • stack-data ==0.6.3
  • tornado ==6.4.1
  • traitlets ==5.14.3
  • tzdata ==2024.2
  • wcwidth ==0.2.13