open-flash


Nameopen-flash JSON
Version 0.2.2 PyPI version JSON
download
home_pageNone
SummaryA Python package for semi-analytical hydrodynamics modeling including matched eigenfunction expansion method
upload_time2025-08-15 04:11:26
maintainerNone
docs_urlNone
authorSEA LAB
requires_python>=3.8
licenseNone
keywords matched eigenfunctions hydrodynamics semi-analytical
VCS
bugtrack_url
requirements numpy scipy matplotlib pandas h5netcdf xarray streamlit sphinx sphinx-tabs sphinx_design nbsphinx pytest twine build readme_renderer watchdog black ruff
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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/Inertia_and_Damping_of_Heaving_Compound_Cylinders_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.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "open-flash",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "matched eigenfunctions, hydrodynamics, semi-analytical",
    "author": "SEA LAB",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/11/ed/a183f86c25fbf4620810ac42bafb8239f3e5e6938e8a523b725d9fb90065/open_flash-0.2.2.tar.gz",
    "platform": null,
    "description": "# OpenFLASH \u26a1\ufe0f\nOpen-source Flexible Library for Analytical and Semi-analytical Hydrodynamics \n\n## About The OpenFLASH Project\n\nThe 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.\n\nWhen referencing this work, please reference our `docs/citations.rst`\n\n**License:**\n\nThis project is licensed under the MIT License. See the `LICENSE` file for details.\n\n**How to Run the Python Code:**\n\n1.  **Install the package:**\n    ```bash\n    pip install git+[https://github.com/symbiotic-engineering/semi-analytical-hydro.git](https://github.com/symbiotic-engineering/semi-analytical-hydro.git)\n    ```\n2.  **Install dependencies:** Navigate to the project directory (if you cloned it) and run:\n    ```bash\n    pip install -r requirements.txt\n    ```\n3.  **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.\n4.  **Refer to the documentation in the `docs/` directory:** The documentation provides detailed information on the different modules and classes within the `open-flash` package.\n\n## MATLAB\nWe 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.\n\nSee `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.\n\n\n## References\n\nThe following publications are relevant to this package:\n\n1. I. K. Chatjigeorgiou, *Analytical Methods in Marine Hydrodynamics*. Cambridge: Cambridge University Press, 2018. doi: 10.1017/9781316838983.\n2. F. P. Chau and R. W. Yeung, \u201cInertia and Damping of Heaving Compound Cylinders,\u201d 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/Inertia_and_Damping_of_Heaving_Compound_Cylinders_Fun\n3. F. P. Chau and R. W. Yeung, \u201cInertia, Damping, and Wave Excitation of Heaving Coaxial Cylinders,\u201d 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\u2013813. doi: 10.1115/OMAE2012-83987.\n4. R. W. Yeung, \u201cAdded mass and damping of a vertical cylinder in finite-depth waters,\u201d *Appl. Ocean Res.*, vol. 3, no. 3, pp. 119\u2013133, Jul. 1981, doi: 10.1016/0141-1187(81)90101-2.\n5. D. Son, V. Belissen, and R. W. Yeung, \u201cPerformance validation and optimization of a dual coaxial-cylinder ocean-wave energy extractor,\u201d *Renew. Energy*, vol. 92, pp. 192\u2013201, Jul. 2016, doi: 10.1016/j.renene.2016.01.032.\n6. K. Kokkinowrachos, S. Mavrakos, and S. Asorakos, \u201cBehaviour of vertical bodies of revolution in waves,\u201d *Ocean Eng.*, vol. 13, no. 6, pp. 505\u2013538, Jan. 1986, doi: 10.1016/0029-8018(86)90037-5.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A Python package for semi-analytical hydrodynamics modeling including matched eigenfunction expansion method",
    "version": "0.2.2",
    "project_urls": {
        "Homepage": "https://github.com/symbiotic-engineering/semi-analytical-hydro.git"
    },
    "split_keywords": [
        "matched eigenfunctions",
        " hydrodynamics",
        " semi-analytical"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f4e904700fe296ee7a6acdb7693302cbbf4ab82e085b41e89d50450a16d78482",
                "md5": "f47e4715c24b618a4c1a8c27860cab9f",
                "sha256": "85b09269133b5074bf1863b3a3b6017becf229c33f4abc8d1a8022550535c690"
            },
            "downloads": -1,
            "filename": "open_flash-0.2.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f47e4715c24b618a4c1a8c27860cab9f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 27493,
            "upload_time": "2025-08-15T04:11:25",
            "upload_time_iso_8601": "2025-08-15T04:11:25.773128Z",
            "url": "https://files.pythonhosted.org/packages/f4/e9/04700fe296ee7a6acdb7693302cbbf4ab82e085b41e89d50450a16d78482/open_flash-0.2.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "11eda183f86c25fbf4620810ac42bafb8239f3e5e6938e8a523b725d9fb90065",
                "md5": "2edb66b6da12e407fb2b5ed1b9d5cab1",
                "sha256": "50ed2dabc3acd1686ffe1865848a42944aa7924ad032703ec7140f64825babac"
            },
            "downloads": -1,
            "filename": "open_flash-0.2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "2edb66b6da12e407fb2b5ed1b9d5cab1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 26657,
            "upload_time": "2025-08-15T04:11:26",
            "upload_time_iso_8601": "2025-08-15T04:11:26.971277Z",
            "url": "https://files.pythonhosted.org/packages/11/ed/a183f86c25fbf4620810ac42bafb8239f3e5e6938e8a523b725d9fb90065/open_flash-0.2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-15 04:11:26",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "symbiotic-engineering",
    "github_project": "semi-analytical-hydro",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "numpy",
            "specs": [
                [
                    ">=",
                    "1.21"
                ],
                [
                    "<",
                    "2.1"
                ]
            ]
        },
        {
            "name": "scipy",
            "specs": [
                [
                    "<",
                    "2.0"
                ],
                [
                    ">=",
                    "1.7"
                ]
            ]
        },
        {
            "name": "matplotlib",
            "specs": [
                [
                    "<",
                    "4.0"
                ],
                [
                    ">=",
                    "3.5"
                ]
            ]
        },
        {
            "name": "pandas",
            "specs": [
                [
                    ">=",
                    "1.5"
                ],
                [
                    "<",
                    "3.0"
                ]
            ]
        },
        {
            "name": "h5netcdf",
            "specs": [
                [
                    ">=",
                    "0.12"
                ],
                [
                    "<",
                    "1.0"
                ]
            ]
        },
        {
            "name": "xarray",
            "specs": [
                [
                    ">=",
                    "2023.0"
                ]
            ]
        },
        {
            "name": "streamlit",
            "specs": [
                [
                    ">=",
                    "1.0"
                ]
            ]
        },
        {
            "name": "sphinx",
            "specs": [
                [
                    ">=",
                    "3.0"
                ]
            ]
        },
        {
            "name": "sphinx-tabs",
            "specs": [
                [
                    ">=",
                    "1.0"
                ]
            ]
        },
        {
            "name": "sphinx_design",
            "specs": [
                [
                    ">=",
                    "0.0.8"
                ]
            ]
        },
        {
            "name": "nbsphinx",
            "specs": [
                [
                    ">=",
                    "0.8"
                ]
            ]
        },
        {
            "name": "pytest",
            "specs": [
                [
                    ">=",
                    "7.0"
                ]
            ]
        },
        {
            "name": "twine",
            "specs": [
                [
                    ">=",
                    "4.0"
                ]
            ]
        },
        {
            "name": "build",
            "specs": [
                [
                    ">=",
                    "0.8"
                ]
            ]
        },
        {
            "name": "readme_renderer",
            "specs": [
                [
                    ">=",
                    "30.0"
                ]
            ]
        },
        {
            "name": "watchdog",
            "specs": [
                [
                    ">=",
                    "3.0"
                ]
            ]
        },
        {
            "name": "black",
            "specs": [
                [
                    ">=",
                    "23.0"
                ]
            ]
        },
        {
            "name": "ruff",
            "specs": [
                [
                    ">=",
                    "0.0.280"
                ]
            ]
        }
    ],
    "lcname": "open-flash"
}
        
Elapsed time: 0.85736s