A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

WecOptTool

Allows users to perform wave energy converter device design optimization studies with constrained optimal control.
https://github.com/sandialabs/WecOptTool

Category: Renewable Energy
Sub Category: Hydro Energy

Keywords

scr-2490 snl-applications

Keywords from Contributors

marine-renewable-energy boundary-element-method hydrodynamics potential-flow water-wave wave-energy mhkit

Last synced: about 2 hours ago
JSON representation

Repository metadata

WEC Design Optimization Toolbox

README.md

Test-WecOptTool
Coverage Status

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.

Project Information

Refer to WecOptTool documentation for more information, including project overview, tutorials, theory, and API documentation.

Getting started

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

Tutorials

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

Getting help

To report bugs, use WecOptTool's issues page.
For general discussion, use WecOptTool's discussion page

Contributing

If you are interested in contributing to WecOptTool, see our contribution guidelines.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 5 days ago

Total Commits: 267
Total Committers: 8
Avg Commits per committer: 33.375
Development Distribution Score (DDS): 0.483

Commits in past year: 8
Committers in past year: 4
Avg Commits per committer in past year: 2.0
Development Distribution Score (DDS) in past year: 0.625

Name Email Commits
Carlos A. Michelén Ströfer c****l@s****v 138
Michael Devin m****n@o****m 68
Ryan Coe r****e@s****v 36
jtgrasb 8****b 10
dtgaebe 8****e 9
ssolson s****n 4
akeow 9****w 1
Mark Bruggemann m****k@b****k 1

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 137
Total pull requests: 140
Average time to close issues: 4 months
Average time to close pull requests: 26 days
Total issue authors: 18
Total pull request authors: 10
Average comments per issue: 2.88
Average comments per pull request: 1.61
Merged pull request: 116
Bot issues: 0
Bot pull requests: 0

Past year issues: 34
Past year pull requests: 62
Past year average time to close issues: 3 months
Past year average time to close pull requests: 17 days
Past year issue authors: 10
Past year pull request authors: 6
Past year average comments per issue: 1.62
Past year average comments per pull request: 1.58
Past year merged pull request: 49
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/sandialabs/WecOptTool

Top Issue Authors

  • michaelcdevin (33)
  • cmichelenstrofer (29)
  • ryancoe (24)
  • dtgaebe (12)
  • rebeccamccabe (9)
  • jtgrasb (8)
  • degoeden (3)
  • rgcoe (3)
  • riasatmorshed (3)
  • akeow (3)
  • smallduan (2)
  • En-Lo (2)
  • NicolasBarbarin (1)
  • jwills801 (1)
  • BinoBK (1)

Top Pull Request Authors

  • michaelcdevin (49)
  • jtgrasb (40)
  • cmichelenstrofer (19)
  • ryancoe (16)
  • dtgaebe (8)
  • rgcoe (4)
  • kevmoor (1)
  • akeow (1)
  • RageTechDev (1)
  • jorgeypcb (1)

Top Issue Labels

  • enhancement (31)
  • documentation (29)
  • bug (24)
  • upstream (15)
  • CI (14)
  • clean-up (10)
  • good first issue (5)
  • testing (5)
  • question (3)
  • help wanted (1)

Top Pull Request Labels

  • documentation (22)
  • clean-up (15)
  • bug (8)
  • enhancement (8)
  • CI (8)
  • upstream (5)
  • testing (1)

Package metadata

pypi.org: wecopttool

WEC Design Optimization Toolbox

  • Homepage:
  • Documentation: https://sandialabs.github.io/WecOptTool/
  • Licenses: GNU General Public License v3 (GPLv3)
  • Latest release: 3.0.2 (published 9 months ago)
  • Last Synced: 2025-04-26T12:33:49.236Z (1 day ago)
  • Versions: 26
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 657 Last month
  • Rankings:
    • Dependent packages count: 9.973%
    • Average: 19.155%
    • Dependent repos count: 21.754%
    • Downloads: 25.739%
  • Maintainers (1)
conda-forge.org: 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.

  • Homepage: https://github.com/sandialabs/WecOptTool
  • Licenses: GPL-3.0-only
  • Latest release: 2.0.1a1 (published over 2 years ago)
  • Last Synced: 2025-04-02T02:56:47.692Z (26 days ago)
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent repos count: 34.025%
    • Forks count: 40.923%
    • Average: 44.899%
    • Dependent packages count: 51.175%
    • Stargazers count: 53.471%

Dependencies

.github/workflows/codeql-analysis.yml actions
  • actions/checkout v3 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/autobuild v2 composite
  • github/codeql-action/init v2 composite
.github/workflows/push.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • conda-incubator/setup-miniconda v2 composite
.github/workflows/release.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • peaceiris/actions-gh-pages v3 composite
  • pypa/gh-action-pypi-publish release/v1 composite
pyproject.toml pypi
  • autograd *
  • capytaine *
  • joblib *
  • numpy >=1.20
  • scipy *
  • wavespectra >=3.13
  • xarray *

Score: 12.630608086728762