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.
Refer to WecOptTool documentation for more information, including project overview, tutorials, theory, and API documentation.
WecOptTool requires Python >= 3.8. Python 3.9 & 3.10 are supported.
It is strongly recommended you create a dedicated virtual environment (e.g., using conda
, venv
, etc.) before installing wecopttool
.
Option 1 - using Conda
:
conda install -c conda-forge wecopttool
Option 2 - using pip
(requires Fortran compilers on your system):
pip install wecopttool
This approach is not recommended for Windows users since compiling capytaine
on Windows requires extra steps.
Geometry module and tutorials
To use our geometry examples, including for running the tutorials, you will need to install some additional dependencies.
For the tutorials you will also need to install jupyter
.
pip install wecopttool[geometry] jupyter
or on a Mac (Zsh
shell)
pip install wecopttool\[geometry] jupyter
The tutorials can be found in the examples
directory and are written as Jupyter Notebooks.
To run the tutorials, first download the notebook files and then, from the directory containing the notebooks, run jupyter notebook
.
Using git
to obtain the notebooks this can be done by running
git clone https://github.com/sandialabs/WecOptTool.git
cd WecOptTool/examples
jupyter notebook
To report bugs, use WecOptTool's issues page. For general discussion, use WecOptTool's discussion page
If you are interested in contributing to WecOptTool, see our contribution guidelines.