Metadata-Version: 2.4
Name: meem
Version: 0.1.2
Summary: A Python package for matched eigenfunctions methods
Author: SEA LAB
Project-URL: Homepage, https://github.com/symbiotic-engineering/semi-analytical-hydro.git
Keywords: matched eigenfunctions,hydrodynamics,semi-analytical
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Science/Research
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: appnope==0.1.4
Requires-Dist: asttokens==2.4.1
Requires-Dist: comm==0.2.2
Requires-Dist: contourpy==1.3.0
Requires-Dist: cycler==0.12.1
Requires-Dist: debugpy==1.8.6
Requires-Dist: decorator==5.1.1
Requires-Dist: executing==2.1.0
Requires-Dist: fonttools==4.54.1
Requires-Dist: ipykernel==6.29.5
Requires-Dist: ipython==8.18.1
Requires-Dist: jedi==0.19.1
Requires-Dist: jupyter_client==8.6.3
Requires-Dist: jupyter_core==5.7.2
Requires-Dist: kiwisolver==1.4.7
Requires-Dist: matplotlib==3.9.2
Requires-Dist: matplotlib-inline==0.1.7
Requires-Dist: nest-asyncio==1.6.0
Requires-Dist: numpy==2.0.2
Requires-Dist: packaging==24.1
Requires-Dist: pandas==2.2.3
Requires-Dist: parso==0.8.4
Requires-Dist: pexpect==4.9.0
Requires-Dist: pillow==10.4.0
Requires-Dist: platformdirs==4.3.6
Requires-Dist: prompt_toolkit==3.0.47
Requires-Dist: psutil==6.0.0
Requires-Dist: ptyprocess==0.7.0
Requires-Dist: pure_eval==0.2.3
Requires-Dist: Pygments==2.18.0
Requires-Dist: pyparsing==3.1.4
Requires-Dist: python-dateutil==2.9.0.post0
Requires-Dist: pytz==2024.2
Requires-Dist: pyzmq==26.2.0
Requires-Dist: scipy==1.13.1
Requires-Dist: six==1.16.0
Requires-Dist: stack-data==0.6.3
Requires-Dist: tornado==6.4.1
Requires-Dist: traitlets==5.14.3
Requires-Dist: tzdata==2024.2
Requires-Dist: wcwidth==0.2.13
Provides-Extra: dev
Requires-Dist: pytest==7.4.2; extra == "dev"
Requires-Dist: pytest-cov; extra == "dev"
Requires-Dist: sphinx>=3.0; extra == "dev"
Requires-Dist: sphinx-rtd-theme>=0.5; extra == "dev"
Requires-Dist: jupyter>=1.0.0; extra == "dev"
Provides-Extra: hydro
Requires-Dist: capytaine==2.2.1; extra == "hydro"

# meem

matlab: see `hydro/matlab/run_MEEM.m` for the symbolic and numeric code, see `test/matlab/` for some scripts to get results.

python: see `package/src/` for some helper functions.

`test/time_comparison` for time comparisons of BEM (Capytaine), and `dev/` for various matlab experiments.

## About The Matched Eigenfunctions Project (MEEM)

The Matched Eigenfunctions Project (MEEM) 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 and acoustics.

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 MEEM 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 `meem` package.

## 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.
