Metadata-Version: 2.1
Name: wecopttool
Version: 1.0.0
Summary: WEC Design Optimization Toolbox
Home-page: https://github.com/SNL-WaterPower/WecOptTool
Author: Sandia National Laboratories
License: GNU General Public License v3 (GPLv3)
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Requires-Python: <3.10,>=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy
Requires-Dist: scipy
Requires-Dist: matplotlib
Requires-Dist: xarray
Requires-Dist: autograd
Requires-Dist: capytaine (>=1.3)
Requires-Dist: netCDF4
Requires-Dist: meshio
Requires-Dist: gmsh
Requires-Dist: pygmsh
Provides-Extra: dev
Requires-Dist: pytest ; extra == 'dev'
Requires-Dist: sphinx ; extra == 'dev'
Requires-Dist: sphinxcontrib-bibtex ; extra == 'dev'
Requires-Dist: sphinx-rtd-theme ; extra == 'dev'
Requires-Dist: nbsphinx ; extra == 'dev'
Requires-Dist: pandoc ; extra == 'dev'
Requires-Dist: notebook ; extra == 'dev'
Provides-Extra: doc
Requires-Dist: sphinx ; extra == 'doc'
Requires-Dist: sphinxcontrib-bibtex ; extra == 'doc'
Requires-Dist: sphinx-rtd-theme ; extra == 'doc'
Requires-Dist: nbsphinx ; extra == 'doc'
Requires-Dist: pandoc ; extra == 'doc'
Requires-Dist: notebook ; extra == 'doc'

[![Test-WecOptTool](https://github.com/SNL-WaterPower/WecOptTool/actions/workflows/python-package.yml/badge.svg)](https://github.com/SNL-WaterPower/WecOptTool/actions/workflows/python-package.yml)
[![Coverage Status](https://coveralls.io/repos/github/SNL-WaterPower/WecOptTool/badge.svg?branch=main)](https://coveralls.io/github/SNL-WaterPower/WecOptTool?branch=main)

# WecOptTool
The Wave Energy Converter Design Optimization Toolbox (WecOptTool) allows users to perform wave energy converter (WEC) device design optimization studies with constrained optimal control.

**NOTE:** If you are looking for the WecOptTool code used in previous published work (MATLAB version) please see [WecOptTool-MATLAB](https://github.com/SNL-WaterPower/WecOptTool-MATLAB).

## Project Information
Refer to [WecOptTool documentation](https://snl-waterpower.github.io/WecOptTool/) for more information including project overview, tutorials, theory, and API documentation.

## Getting started
WecOptTool requires Python 3.9 (waiting on vtk -> 3.10).

**Option 1** - using `pip` for [Capytiane](https://github.com/mancellin/capytaine) (requires Fortran compilers):

```bash
pip install git+https://github.com/LHEEA/meshmagick.git@3.3
pip install wecopttool
```

**Option 2** - using `Conda` for [Capytiane](https://github.com/mancellin/capytaine) (requires the [Conda package manager](https://docs.conda.io/en/latest/)):

```bash
pip install git+https://github.com/LHEEA/meshmagick.git@3.3
conda install -c conda-forge capytaine
pip install wecopttool
```

## Tutorials
The tutorials can be found in the `examples` directory and are written as [Jupyter Notebooks](https://jupyter.org/).
There are many ways to interact with Jupyter Notebooks.
To run the notebooks on your local machine, first install the classical Jupyter Notebook locally:

```bash
pip install notebook
```

To run the tutorials, from the directory containing the notebooks run

``bash
jupyter notebook
``

## Getting help
To report bugs use WecOptTool's [issues page](https://github.com/SNL-WaterPower/WecOptTool/issues).
For general discussion use WecOptTool's [discussion page](https://github.com/SNL-WaterPower/WecOptTool/discussions)

## Contributing
If your interersted in contributing to WecOptTool see our [contribution guidelines](https://github.com/SNL-WaterPower/WecOptTool/blob/main/.github/CONTRIBUTING.md).


