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}
}
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
> 104 issues closed since v6.0
> 48 PRs merged since v6.0
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
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
Issues and Pull Requests
>52 issues closed since v5.0
>23 PRs merged since v5.0
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
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
anddev
branches #630
Bug Fixes
Issues and Pull Requests**
> 57 issues closed since v4.3
> 54 PRs merged since v4.3
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
Continuous integration tests
Clean up
Bug Fixes
Issues and Pull Requests
> 100 issues closed since v4.2
> 45 PRs merged since v4.2
WEC-Sim v4.2
New Features
Documentation
Automatically compile docs with TravisCI #439
Generate docs for master and dev branches of WEC-Sim
Bug Fixes
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
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
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
waves.randPreDefined -> waves.phaseSeed
waves.phaseRand -> waves.phase
simu.dtFeNonlin -> simu.dtNL
simu.rampT -> simu.rampTime
Added simu.dtME to allow specification of Morison force time-step
WEC-Sim v2.2
Added option to save pressure data for nonlinear hydro (simu.pressureDis)
Update to moorDyn parser (doesn’t require line#.out)
Repository cleanup
Implemented Git LFS for tracking
*.h5
filesAdded WEC-Sim Application repository as a submodule
Moved moorDyn to its own repository
Removed publications from repository, available on website
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 @bradlingUpdate 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