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.
If you are brand new to Python and/or want detailed installation instructions, click here.
WecOptTool requires Python >= 3.8. Python 3.10 & 3.11 are supported.
It is strongly recommended you create a dedicated virtual environment (e.g., using conda
, mamba
, venv
, etc.) before installing WecOptTool.
From your dedicated environment, you can install WecOptTool via conda
, pip
, or mamba
:
Option 1 - using Conda
:
conda install -c conda-forge wecopttool
Option 2 - using pip
(requires Fortran compilers on your system):
pip install wecopttool
Option 3 - using Mamba
:
mamba install wecopttool
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.