Release Notes

Citing WEC-Sim

To cite WEC-Sim, please use the citation for WEC-Sim software release and/or cite the following WEC-Sim publication.

WEC-Sim v6.1

[1] Kelley Ruehl, Adam Keester, Dominic Forbush, Jeff Grasberger, Salman Husain, Jorge Leon, David Ogden, and Mohamed Shabara, “WEC-Sim v6.1”. Zenodo, September 16, 2024. https://doi.org/10.5281/zenodo.13770349.

@software{wecsim,
  author       = {Kelley Ruehl,
                  Adam Keester,
                  Dominic Forbush,
                  Jeff Grasberger,
                  Salman Husain,
                  Jorge Leon,
                  David Ogden,
                  Mohamed Shabara},
  title        = {WEC-Sim v6.1},
  month        = September,
  year         = 2024,
  publisher    = {Zenodo},
  version      = {v6.1},
  doi          = {10.5281/zenodo.10023797},
  url          = {https://doi.org/10.5281/zenodo.13770349}
}
https://zenodo.org/badge/20451353.svg

Publication

[1] D. Ogden, K. Ruehl, Y.H. Yu, A. Keester, D. Forbush, J. Leon, N. Tom, “Review of WEC-Sim Development and Applications” in Proceedings of the 14th European Wave and Tidal Energy Conference, EWTEC 2021, Plymouth, UK, 2021.

WEC-Sim v6.1

New Features

  • Update docs on main by @salhus in #1031

  • Save mooring library to R2020b by @akeeste in #1040

  • Update readAQWA.m by @salhus in #1096

  • Update plotRadiationIRF.m by @AlufaSam in #1102

  • Update readNEMOH.m for compatibility with NEMOH v3.0 by @nathanmtom in #1105

  • Remove direct github installations from docs environment by @H0R5E in #1149

  • Exclude R2020b and R2021a from Windows test runners by @H0R5E in #1166

  • Add BEMIO cleanup function by @dforbush2 in #1076

  • Remove dead code from wecSim.m by @akeeste in #1170

  • Update wecSim.m to new MoorDyn dll by @jtgrasb in #1177

  • Merge main commits to dev by @jtgrasb in #1183

  • Port testing PR #1186 to main by @H0R5E in #1187

  • Add R2023b to Windows tests by @H0R5E in #1186

  • Nemoh v3.0.2 Examples by @MShabara in #1204

  • Update paraview docs by @jtgrasb in #1227

  • Update default branch to main by @akeeste in #1235

  • Apply #1235 and #1241 to dev branch by @H0R5E in #1240

  • PTO Extension Feature by @Allison-File in #1198

  • Updating tests on main and dev by @kmruehl in #1250

  • Updating WEC-Sim Issue Templates by @kmruehl in #1247

  • Enable WEC-Sim to use MoorDyn v2 capabilities by @jtgrasb in #1212

  • Add missing mask initialization line in spherical constraint by @akeeste in #1264

  • Update readCAPYTAINE.m to read Khs from .nc by @salhus in #1263

  • Update readCapytaine - fix reading multiple bodies with <6 dofs by @akeeste in #1274

  • Reposition % for readability by @Gusmano-2-OSU in #1272

  • Update waveSpread calculation in irregular waves by @dforbush2 in #1290

  • Add new examples for updated version of NEMOH (NEMOHv3.0.2) by @ashleynchong in #1226

  • Pull main into dev by @kmruehl in #1297

  • Expand regression tests by @akeeste in #1273

  • BEMIO Unit Updates by @jniffene in #1296

  • Speed up writeBEMIOH5 by @akeeste in #1301

  • Update readAQWA.m by @jtgrasb in #1253

  • Variable hydrodynamics by @akeeste in #1248

  • Update readCapytaine - get Khs from .nc files when bodies have less than 6 DOFs by @akeeste in #1275

  • Adds the QTFs to WEC-Sim by @MShabara in #1242

  • QTF - Variable Hydro compatibility by @akeeste in #1312

  • Resolve conflicts between variable hydro and GBM by @akeeste in <https://github.com/WEC-Sim/WEC-Sim/pull/1317>`_

Bug Fixes

  • Update to MoorDyn to fix MoorDyn crashing MATLAB session. by @AlixHaider in #1012

  • Fix Direct Drive PTO Output order by @jtgrasb in #1095

  • Fix accelerator modes issue by @jtgrasb in #1100

  • Bugfix for plotBEMIO bodies by @akeeste in #1207

  • Fix to #1217, nonlinFK and body block changed by @dforbush2 in #1220

  • Fix on pDis function call by @dforbush2 in #1229

  • Bug fixes for WEC-Sim GUI and Run From Simulink features by @akeeste in #1195

  • Fix sign bug in the Generator Equivalent Circuit Block in PTO-Sim - Rebase PR to main by @jleonqu in #1236

  • Fix direct drive bugs by @jtgrasb in #1256

  • Minor fix for formatting in Developer manual by @akeeste in #1280

  • Bad BEMIO fcn fix by @dforbush2 in #1289

New Contributors

  • @AlixHaider made their first contribution in #1012

  • @AlufaSam made their first contribution in #1102

  • @Allison-File made their first contribution in #1198

  • @Gusmano-2-OSU made their first contribution in #1272

  • @ashleynchong made their first contribution in #1226

Issues and Pull Requests

  • v6.1 Changelog

  • > 104 issues closed since v6.0

  • > 48 PRs merged since v6.0

https://zenodo.org/badge/DOI/10.5281/zenodo.13770349.svg

WEC-Sim v6.0

New Features

  • initial commit largeXYDispOption by @dforbush2 in #877

  • Update coordinate system figure by @JiaMiGit in #931

  • Property validation for WEC-Sim objects by @jtgrasb in #904

  • Dev: adding ampSpectraForWS function by @dforbush2 in #907

  • Customizable DOFs for plotBEMIO by @akeeste in #944

  • Calculation_of_Ainf_using_radiationIRF.m by @salhus in #946

  • Update citation names by @akeeste in #954

  • Update getDofNames() by @akeeste in #957

  • included readCAPYTAINE() argument to explicitly define KH.dat & Hydro by @dav-og in #962

  • Extract mask variable by @salhus in #958

  • Add tests to check that SLX file versions do not exceed R2020b by @H0R5E in #919

  • Products of Inertia in WEC-Sim by @akeeste in #981

  • Pull bug fixes #954, #999, #1002 from master into dev by @akeeste in #1011

  • updating readNEMOH based on #983 by @kmruehl in #990

  • Remove ‘fixed’ mass option from OSWEC input file by @jtgrasb in #1024

  • Save the applied added mass time series by @akeeste in #1023

  • Update tutorials by @kmruehl in #1030

  • Control applications docs by @jtgrasb in #1018

  • Update read- and writeBEMIOH5 to allow for pressure integration for mean drift by @nathanmtom in #1046

  • Add function to read h5 file to hydro data structure by @jtgrasb in #1048

  • Update radiationIRF.m by @nathanmtom in #1045

  • Normalize quaternion to increase simulation robustness by @akeeste in #1049

  • Plot bemio features by @jtgrasb in #1034

  • Updates to Morison Element Implementation by @nathanmtom in #1052

  • Moving PTO-Sim to main WEC-Sim library by @jleonqu in #1057

  • Add windows runner to dev branch unit test workflow by @H0R5E in #1061

  • Update docs dependencies by @H0R5E in #1080

  • Type property pto sim by @jleonqu in #1064

  • Added mass updates by @akeeste in #1058

  • Feature paraview by @agmoore4 in #1081

  • Paraview documentation hyperlink fix by @agmoore4 in #1093

  • use capytaine v2 to compute hydrostatics by @dav-og in #1092

  • Update paraview doc images by @jtgrasb in #1098

  • readNEMOH update to be compatible with v3.0.0 release (but not QTF) by @nathanmtom in #1087

  • Add simple direct drive PTO model by @jtgrasb in #1106

  • Control+pto docs by @jtgrasb in #1108

  • MOST Capabilities - Continuation by @jtgrasb in #1127

  • Implement an FIR filter to calculate radiation forces by @salhus in #1071

  • Updating documentation to include links for the Advanced Features Web by @jleonqu in #1126

  • Multiple Wave Spectra by @salhus in #1130

  • Update WECSim_Lib_Body_Elements.slx for N Waves Applications by @salhus in #1133

  • Update to MoorDyn v2 by @RyanDavies19 in #1134

  • Updating WEC-Sim tests for dev branch by @kmruehl in #1142

Bug Fixes

  • Remove fixed mass option by @akeeste in #856

  • Move run(‘stopWecSim’) to wecSim.m by @jtgrasb in #885

  • Pull bug fixes into dev by @akeeste in #900

  • Save slx files in 2020b fixes #920 by @jtgrasb in #923

  • Fix readCAPYTAINE by @jtgrasb in #884

  • Fixes saveViz feature for elevation import by @jtgrasb in #929

  • Fix wave elevation import with rampTime = 0 by @jtgrasb in #917

  • readCapytaine_fixes_for_reading_dataformats_correctly by @salhus in #947

  • Pull #954 into dev by @akeeste in #955

  • Bug fix for direction in readCapytaine by @akeeste in #999

  • Fix sign bug reported on issue #993 by @jleonqu in #102

  • Dev: reverts PR 910, fixing error in nonLinearBuoyancy by @dforbush2 in #1017

  • Fix the transpose of linear restoring matrix to make roll mode rows to be 0 by @salhus in #1032

  • Bugfix resolving documentation build error by @kmruehl in #1059

  • fix_readWAMIT_and_writeBEMIOh5 by @salhus in #1065

  • Pulling master bugfixes into dev by @kmruehl in #1101

  • Bug fixes for v6.0 by @akeeste in #1136

  • Path fix for BEMIO example by @akeeste in #1144

New Contributors

  • @JiaMiGit made their first contribution in #931

  • @agmoore4 made their first contribution in #1081

  • @RyanDavies19 made their first contribution in #1134

Issues and Pull Requests

  • >130 issues closed since v5.0.1

  • >74 PRs merged since v5.0.1

  • v6.0 Changelog

https://zenodo.org/badge/DOI/10.5281/zenodo.10023797.svg

WEC-Sim v5.0.1

New Features

This is a bug fix release. New features since the previous release are not included.

Bug Fixes

  • Fix saveViz by @jtgrasb in #866

  • Fix typo in docs. by @mancellin in #898

  • Update documentation tutorials to fix OSWEC inertia by @jtgrasb in #894

  • CI: Split docs jobs | Add color to docs logs | Cancel runs on new push | Add 2021b to MATLAB versions by @H0R5E in #862

  • Mac path fixes and make outputDir public by @ahmedmetin in #874

  • wecSimPCT Fix (Master) by @yuyihsiang in #870

  • Fix image bug in PTO-Sim in Library Browser by @jleonqu in #896

  • update to v5.0 citation by @akeeste in #911

  • fix non-linear hydro by @dforbush2 in #910

  • Pull dev bugfixes into master by @akeeste @jtgrasb in #950 (includes #929 #917 #884 by @jtgrasb)

New Contributors

  • @mancellin made their first contribution in #898

  • @ahmedmetin made their first contribution in #874

Issues and Pull Requests

https://zenodo.org/badge/DOI/10.5281/zenodo.7121186.svg

WEC-Sim v5.0

New Features

  • Refactoring classes and properties @kmruehl in #803, #822, #828, #832, @akeeste in #838

  • Refactoring docs by @kmruehl in #840

  • Refactor BEMIO functions, tests, and documentation @akeeste in #790, #812, @H0R5E in #839, @dav-og in #806

  • Run from sim updates by @akeeste in #737

  • Allow binary STL files by @akeeste in #760

  • Update Read_AQWA and AQWA examples by @jtgrasb in #761, #779, #797, #831

  • Rename plotWaves by @jtgrasb in #765

  • Update to normalize to handle sorting mean drift forces by @nathanmtom in #808 #809

  • Remove passiveYawTest.m by @jtgrasb in #807

  • Wave class wave gauge update by @nathanmtom in #801

  • New pto sim lib by @jleonqu in #821

  • Warning/Error flags by @jtgrasb in #826

  • Add Google Analytics 4 by @akeeste in #864

Documentation

  • Update WEC-Sim’s Developer Documentation for the Morison Element Implementation by @nathanmtom in #796

  • Update response class API by @akeeste in #802

  • Doc_auto_gen_masks by @salhus in #842

  • Move documentation compilation to GitHub Actions by @H0R5E in #817

  • Add branch build in docs workflow for testing PRs by @H0R5E in #834

  • Update the WEC-Sim Theory Documentation to Clarify Wave Power Calculation by @nathanmtom in #847

  • Update documentation on mean drift and current by @akeeste in #800

Bug Fixes

  • Fix cable library links. Resolves #770 by @akeeste in #774 #775

  • Fix rate transition error by @akeeste in #799

  • Fix cable implementation by @dforbush2 in #827

  • PTO-Sim bug fix by @jleonqu in #833

  • Bug fix for the regular wave power full expression by @nathanmtom in #841

  • Fix documentation on dev branch by @H0R5E in #816

  • Bug fix: responseClass reading the MoorDyn Lines.out file too early, resolves #811 by @akeeste in #814

Issues and Pull Requests

  • >52 issues closed since v4.4

  • >44 PRs merged since v4.4

https://zenodo.org/badge/DOI/10.5281/zenodo.6555137.svg

WEC-Sim v4.4

New Features

  • Added WEC-Sim Library blocks for cable, spherical constraint, and spherical pto #712 #675

  • Added feature to add/remove WEC-Sim path and create temp directory for each run #685 #686

  • Updated WEC-Sim Library to 2020b and saved Simulink Library Functions to (*.m) files #686 #654

  • Split WEC-Sim Library into sublibraries for each class #720

  • Restructured WEC-Sim Continuous Integration tests into class-based tests #620

  • Added wave visualization with wave markers and post-processing #736 #678

  • Moved nonlinear hydrodynamics and morison elements to properties of the Body Class #692

Documentation

  • Added developer manual content for WEC-Sim Library, Run from Simulink, Simulink Functions, Added Mass, Software Tests #728

  • Added user manual content for troubleshooting WEC-Sim #641

  • Updated content for PTO-Sim, ParaView, WEC-Sim Applications and Tutorials #668 #642 #649 #643

  • Added multi-version documentation for master and dev branches #630

Bug Fixes

  • Resolved bug with macro for ParaView 5.9 #459

  • Resolved bugs in BEMIO with Read_Capytaine, READ_AQWA, and Write_H5 functions #727 #694 #636

  • Resolved bug with variable time-step solver #656

Issues and Pull Requests**

  • > 57 issues closed since v4.3

  • > 54 PRs merged since v4.3

https://zenodo.org/badge/DOI/10.5281/zenodo.5608563.svg

WEC-Sim v4.3

New Features

  • Added the ability for WEC-Sim to be run directly from Simulink #503 #512 #548

  • Added capability to read Capytaine (.nc) output. Includes examples of running Capytaine with hydrostatics #464

  • Created a more accurate infinite frequency added mass calculation #517

  • Added ability for setInitDisp to intake multiple initial rotations #516 #586

Documentation

  • Restructured into four manuals: introduction, theory, user and development #455 #557

  • Update of code structure section #455, links #649 , diagrams #643, paraview #642,

  • Added section on suggested troubleshooting #641

Continuous integration tests

  • Overhaul and speed up of tests #508 #620

  • Extension of tests to the applications cases #7

Clean up

  • Created issue templates on GitHub #575 #634

  • Updated Morison Element warning flags #408

  • Clean up response class methods #491 #514

  • Clean up paraview output functions #490

Bug Fixes

  • Paraview macros and .pvsm files #459

  • BEMIO read mean drift force in R2021a #636

  • PTO-Sim calling workspace #632

  • Combine_BEM Ainf initialization #611

Issues and Pull Requests

  • > 100 issues closed since v4.2

  • > 45 PRs merged since v4.2

https://zenodo.org/badge/DOI/10.5281/zenodo.5122959.svg

WEC-Sim v4.2

New Features

  • Added normal/tangential option for Morison Force (simu.morisonElement = 2) #408

  • Added Drag Body (body(i).nhBody=2) #423 #384

  • WEC-Sim output saved to structure #426

  • Added WEC-Sim parallel execution for batch runs (wecSimPCT) using MATLAB parallel computing toolbox #438

  • Added end stops to PTOs #445

Documentation

  • Automatically compile docs with TravisCI #439

  • Generate docs for master and dev branches of WEC-Sim

Bug Fixes

  • Resolved convolution integral bug for body-to-body interactions #444

  • Resolved PTO-Sim bug for linear to rotary conversion blocks #247 #485

  • Resolved variant subsystem labeling bug #486 #479

https://zenodo.org/badge/DOI/10.5281/zenodo.4391330.svg

WEC-Sim v4.1

  • Added passive yaw

  • Revised spectral formulations per IEC TC114 TS 62600-2 Annex C

  • Updated examples on the WEC-Sim_Applications repository

  • Added unit tests with Jenkins

  • Added API documentation for WEC-Sim classes

  • Merged Pull Requests

    • Updated BEMIO for AQWA version comparability #373

    • Extended capabilities for ParaView visualization #355

https://zenodo.org/badge/DOI/10.5281/zenodo.3924765.svg

WEC-Sim v4.0

  • Added mean drift force calculation

  • Added generalized body modes for simulating flexible WEC devices and for structure loading analysis

  • Updated BEMIO for mean drift force and generalized body modes

https://zenodo.org/badge/DOI/10.5281/zenodo.3827897.svg

WEC-Sim v3.1

  • Added wave gauges for three locations

  • Added command line documentation for objects

  • Added error and warning flags

  • Converted Morison Elements to script instead of block

  • Converted WEC-Sim and PTO-Sim library files back to slx format

  • Fixed plot error in MATLAB 2018b

WEC-Sim v3.0

  • Added option of equal energy spacing for irregular waves (default)

  • Added option to calculate the wave elevation at a location different from the origin

  • Added option to define gamma for JONSWAP spectrum

  • Improved the WEC-Sim simulation speed when using rapid-acceleration mode

  • Fixed path bug in BEMIO for LINUX/OSX users

  • Changed/Added following WEC-Sim parameters

WEC-Sim v2.2

WEC-Sim v2.1

  • Added MATLAB version of BEMIO (to replace python version)

  • Added variable time-step option with ‘ode45’ by @ratanakso

  • Update to MCR, option to not re-load *.h5 file by @bradling

  • Update to waveClass to allow for definition of min/max wave frequency by @bradling

WEC-Sim v2.0

  • Updated WEC-Sim Library (generalized joints/constraints/PTOs)

  • Body-to-body interactions for radiation forces

  • Morison forces

  • Batch run mode (MCR)

  • Mooring sub-library implemented in mooringClass (no longer in body or joint)

  • More realistic PTO and mooring modeling through PTO-Sim and integration with MoorDyn

  • Non-hydrodynamic body option

  • Visualization using ParaView

WEC-Sim v1.3

  • Added Morison Elements

  • Body2Body Interactions

  • Multiple Case Runs (wecSimMCR)

  • Moordyn

  • Added Non-hydro Bodies

  • Morison Forces

  • Joint Updates

  • Visualization with Paraview

WEC-Sim v1.2

  • Nonlinear Froude-Krylov hydrodynamics and hydrostatics

  • State space radiation

  • Wave directionality

  • User-defined wave elevation time-series

  • Imports nondimensionalized BEMIO hydrodynamic data (instead of fully dimensional coefficients)

  • Variant Subsystems implemented to improve code stability (instead of if statements)

  • Bug fixes

WEC-Sim v1.1

  • WEC-Sim v1.1, available on GitHub

  • Improvements in code stability through modifications to the added mass, radiation damping calculations, and impulse response function calculations

  • Implementation of state space representation of radiation damping convolution integral calculation

  • New hydrodynamic data format based on BEMIO output, a python code that reads data from WAMIT, NEMOH, and AQWA and writes to the Hierarchical Data Format 5 (HDF5) format used by WEC-Sim.

  • Documentation available on WEC-Sim Website

WEC-Sim v1.0

  • Initial release of WEC-Sim (originally on OpenEI, now on GitHub)

  • Available as a static download

  • Documentation available in PDF