Skip to content

Commit 682893c

Browse files
authored
Merge pull request #101 from WEC-Sim/dev
WEC-Sim Applications v7.0.0
2 parents 1913e36 + a8d0434 commit 682893c

File tree

298 files changed

+367190
-26230
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

298 files changed

+367190
-26230
lines changed

.github/workflows/run-tests-reusable.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@ jobs:
3232
exclude:
3333
- os: ubuntu-latest
3434
folder: Mooring
35+
- os: ubuntu-latest
36+
folder: OWC
3537
- os: ubuntu-latest
3638
folder: Paraview_Visualization
3739
name: "${{ matrix.folder }} - ${{ matrix.os }} - ${{ matrix.release }}"
@@ -52,15 +54,15 @@ jobs:
5254
ref: ${{ inputs.base_ref }}
5355
path: './WEC-Sim'
5456
- name: Check out MoorDyn
55-
if: matrix.folder == 'Mooring' || matrix.folder == 'Paraview_Visualization'
57+
if: matrix.folder == 'Mooring' || matrix.folder == 'OWC' || matrix.folder == 'Paraview_Visualization'
5658
uses: actions/checkout@v4
5759
with:
5860
repository: WEC-Sim/MoorDyn
5961
path: './MoorDyn'
6062
- name: Copy MoorDyn Files
61-
if: matrix.folder == 'Mooring' || matrix.folder == 'Paraview_Visualization'
63+
if: matrix.folder == 'Mooring' || matrix.folder == 'OWC' || matrix.folder == 'Paraview_Visualization'
6264
run: |
63-
cp * ../WEC-Sim/source/functions/moorDyn
65+
cp -r * ../WEC-Sim/source/functions/moorDyn
6466
ls ../WEC-Sim/source/functions/moorDyn
6567
shell: bash
6668
working-directory: './MoorDyn'

.github/workflows/wec-sim-dev-tests.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
name: Test WEC-Sim dev branch
22
on:
3+
workflow_dispatch: {}
34
repository_dispatch:
45
types:
56
- wecsim-dev

.github/workflows/wec-sim-main-tests.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
name: Test WEC-Sim main branch
22
on:
3+
workflow_dispatch: {}
34
repository_dispatch:
45
types:
56
- wecsim-main

.gitignore

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -56,42 +56,43 @@ $ cat .gitignore
5656
*.vtp
5757
*.zip
5858

59+
# Other
60+
.DS_Store
61+
view_html.sh
62+
*vis-temp*
63+
folder.json
64+
include.json
65+
5966
# MATLAB
6067
**/output/
6168
**/output_previous/
6269
**/slprj/
6370
*build_exception*
6471

65-
# Applications
66-
**/mooring/*.out
67-
!**/mooring/lines.txt
68-
**/vtk/*
69-
savedData*.mat
70-
WECCCOMP/**/SS*.mat
71-
WECCCOMP/**/SS*.fig
72-
!WECCCOMP/WECCCOMP_Nonlinear_Model_Predictive/waveData/*.mat
73-
Passive_Yaw/**/IrrYaw.mat
74-
Passive_Yaw/**/figYawIrr.fig
75-
yaw*.mat
76-
77-
# BEM
72+
# WAMIT
7873
*.1
7974
*.3
8075
*.3fk
8176
*.3sc
8277
*.4
8378
*.h5
84-
*.hst
8579
*.p2f
8680
*.pot
81+
82+
# Applications
83+
**/mooring/*.out
84+
!**/mooring/lines.txt
85+
**/vtk/*
86+
savedData*.mat
8787
!/Generalized_Body_Modes/hydroData/WAMIT/*
8888
!/Mean_Drift/WAMIT/inputFiles/*
8989
!/Mean_Drift/WAMIT/outputFiles/*
90-
!/OWC/OrificeModel/hydroData/*.h5
91-
92-
# Other
93-
.DS_Store
94-
view_html.sh
95-
*vis-temp*
96-
folder.json
97-
include.json
90+
MOST/**/**/*.mat
91+
MOST/**/**/**/*.mat
92+
WECCCOMP/**/SS*.mat
93+
WECCCOMP/**/SS*.fig
94+
!WECCCOMP/WECCCOMP_Nonlinear_Model_Predictive/waveData/*.mat
95+
Passive_Yaw/**/IrrYaw.mat
96+
Passive_Yaw/**/figYawIrr.fig
97+
yaw*.mat
98+
!MOST/hydroData/VolturnUS15MW_nemoh/Results/QTF/*.dat

Body-to-Body_Interactions/README.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,14 @@
22

33
**Author:** Kelley Ruehl
44

5-
**Version:** WEC-Sim v2.2
5+
**Original Version:** WEC-Sim v2.2
66

77
**Geometry:** RM3
88

9-
Example using [Body-to-Body (B2B)](http://wec-sim.github.io/WEC-Sim/advanced_features.html#body-to-body-interactions) to run WEC-Sim for the [RM3](http://wec-sim.github.io/WEC-Sim/tutorials.html#two-body-point-absorber-rm3) geometry. The scripts run and plot the RM3 model with B2B on/off and with Regular/RegularCIC. Execute the `runB2B.m` script to run this case.
9+
**Description**
1010

11+
Example using [Body-to-Body (B2B)](https://wec-sim.github.io/WEC-Sim/main/user/advanced_features.html#body-to-body-interactions) to run WEC-Sim for the RM3 geometry. The scripts run and plot the RM3 model with B2B on/off and with Regular/RegularCIC. Execute the `runB2B.m` script to run this case.
12+
13+
**Relevant Citation(s)**
14+
15+
Ruehl, K.; Michelen, C.; Yu, Y.; Lawson, M. (2016). Update on WEC-Sim Validation Testing and Code Development. Paper presented at 4th Annual Marine Energy Technology Symposium (METS), Washington D.C., USA.

Body-to-Body_Interactions/TestB2B.m

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,26 +53,32 @@ function checkVisibilityRestored(testCase)
5353
function testB2B_Case1(testCase)
5454
cd('B2B_Case1')
5555
wecSim
56+
close_system('RM3',0)
5657
end
5758
function testB2B_Case2(testCase)
5859
cd('B2B_Case2')
5960
wecSim
61+
close_system('RM3',0)
6062
end
6163
function testB2B_Case3(testCase)
6264
cd('B2B_Case3')
6365
wecSim
66+
close_system('RM3',0)
6467
end
6568
function testB2B_Case4(testCase)
6669
cd('B2B_Case4')
6770
wecSim
71+
close_system('RM3',0)
6872
end
6973
function testB2B_Case5(testCase)
7074
cd('B2B_Case5')
7175
wecSim
76+
close_system('RM3',0)
7277
end
7378
function testB2B_Case6(testCase)
7479
cd('B2B_Case6')
7580
wecSim
81+
close_system('RM3',0)
7682
end
7783
end
7884
end

Cable/README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22

33
**Author:** Dominic Forbush
44

5-
**Version:** WEC-Sim v4.4
6-
75
**Geometry:** MBARI-WEC, and open-source WEC from Monterey Bay Aquarium Research Institute.
86

9-
**Dependency:** N/A
7+
**Original Version:** WEC-Sim v4.4
108

11-
**Note:** More WEC information can be found: https://link.springer.com/article/10.1007/s40722-021-00197-9
9+
**Description**
1210

1311
Example using WEC-Sim to simulate a [Cable](http://wec-sim.github.io/WEC-Sim/advanced_features.html) connecting two rigid bodies for the MBARI geometry.
12+
13+
**Relevant Citation(s)**
14+
15+
Hamilton, A., Cazenave, F., Forbush, D. et al. The MBARI-WEC: a power source for ocean sensing. J. Ocean Eng. Mar. Energy 7, 189–200 (2021). https://doi.org/10.1007/s40722-021-00197-9

Controls/Declutching/README.md

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
1-
# WEC-Sim Controls Examples
1+
# Declutching Controller
22

3-
**Author:** Jeff Grasberger (Sandia)
3+
**Author:** Jeff Grasberger
44

5-
**WEC-Sim Version:** v5.0 (or newer)
5+
**Geometry:** Sphere
66

7-
**Matlab Version:** 2020b (or newer)
7+
**Original Version:** v5.0
88

9-
**WEC-Sim Model**
10-
Numerical model for a semi-submerged sphere (diameter = 10 m) with a declutching controller. "wecSim" can be typed into
11-
the command window to run the example with the default setup. "optimalTimeCalc.m" is used to calculate the
12-
optimal declutching time. The "mcrBuildTimes.m" script can be run to set up multiple conditions runs, then
13-
"wecSimMCR" can be typed into the command window to run the different cases with varying declutching times.
9+
**Description**
1410

15-
**Questions?**
16-
* Post all WEC-Sim modeling questions to the [WEC-Sim online forum](https://github.com/WEC-Sim/WEC-Sim/issues).
11+
Numerical model for a semi-submerged sphere (diameter = 10 m) with a declutching controller. `wecSim` can be typed into the command window to run the example with the default setup. `optimalTimeCalc.m` is used to calculate the optimal declutching time. The `mcrBuildTimes.m` script can be run to set up multiple conditions runs, then `wecSimMCR` can be typed into the command window to run the different cases with varying declutching times.
12+
13+
**Relevant Citation(s)**
14+
15+
Leon, J.; Grasberger, J.; Forbush, D.; Sirigu, M.; Ancellin, M.; Tom, N.; Keester, A.; Ruehl, K.; Ogden, D.; Husain, S. (2024). Advanced Features and Recent Developments in the WEC-Sim Open-Source Design Tool . Paper presented at Pan American Marine Energy Conference (PAMEC 2024), Barranquilla, Colombia.

Controls/Latching/README.md

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
1-
# WEC-Sim Controls Examples
1+
# Latching Controller
22

3-
**Author:** Jeff Grasberger (Sandia)
3+
**Author:** Jeff Grasberger
44

5-
**WEC-Sim Version:** v5.0 (or newer)
5+
**Geometry:** Sphere
66

7-
**Matlab Version:** 2020b (or newer)
7+
**Original Version:** v5.0
88

9-
**WEC-Sim Model**
10-
Numerical model for a semi-submerged sphere (diameter = 10 m) with a latching controller. "wecSim" can be typed into
11-
the command window to run the example with the default setup. "optimalTimeCalc.m" is used to calculate the
12-
optimal latching time. The "mcrBuildTimes.m" script can be run to set up multiple conditions runs, then
13-
"wecSimMCR" can be typed into the command window to run the different cases with varying latching times.
9+
**Description**
1410

15-
**Questions?**
16-
* Post all WEC-Sim modeling questions to the [WEC-Sim online forum](https://github.com/WEC-Sim/WEC-Sim/issues).
11+
Numerical model for a semi-submerged sphere (diameter = 10 m) with a latching controller. `wecSim` can be typed into the command window to run the example with the default setup. `optimalTimeCalc.m` is used to calculate the optimal latching time. The `mcrBuildTimes.m` script can be run to set up multiple conditions runs, then `wecSimMCR` can be typed into the command window to run the different cases with varying latching times.
12+
13+
**Relevant Citation(s)**
14+
15+
Leon, J.; Grasberger, J.; Forbush, D.; Sirigu, M.; Ancellin, M.; Tom, N.; Keester, A.; Ruehl, K.; Ogden, D.; Husain, S. (2024). Advanced Features and Recent Developments in the WEC-Sim Open-Source Design Tool . Paper presented at Pan American Marine Energy Conference (PAMEC 2024), Barranquilla, Colombia.

Controls/MPC/README.md

Lines changed: 18 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,24 @@
1-
# WEC-Sim Controls Examples
1+
# Model Predictive Controller (MPC)
22

3-
**Author:** Jeff Grasberger (Sandia)
3+
**Author:** Ratanak So and Jeff Grasberger
44

5-
**WEC-Sim Version:** v5.0 (or newer)
5+
**Geometry:** Sphere
66

7-
**Matlab Version:** 2020b (or newer)
7+
**Original Version:** v5.0
88

99
**Dependencies:**
1010

11-
Optimization Toolbox --> for quadprog command
12-
System Identification Toolbox --> for ssdata, tfest, tfdata commands
13-
Statistics and Machine Learning Toolbox --> for regress command
14-
Control System Toolbox --> for frd command
15-
Symbolic Math Toolbox --> for subs command
16-
17-
**Description:**
18-
Numerical model for a semi-submerged sphere (diameter = 10 m) with a model predictive controller (MPC).
19-
"wecSim" can be typed into the command window to run the example with the default setup.
20-
"plotFreqDep.m" solves for and plots the frequency dependent coefficients,
21-
which are stored in "coeff.mat". "setupMPC.m" sets the controller up using "makePlantModel.m"
22-
and "makePredictiveModel.m" and is called by the input file when "wecSim"
23-
is run from the command window. "fexcPrediction.m" and "mpcFcn.m" predict the excitation forces
24-
and solve the quadratic programming problem, respectively, and are both called by "sphereMPC.slx"
25-
during the simulation. The model predictive controller parameters can be changed in the input file.
26-
27-
**Questions?**
28-
* Post all WEC-Sim modeling questions to the [WEC-Sim online forum](https://github.com/WEC-Sim/WEC-Sim/issues).
11+
* Control System Toolbox
12+
* Optimization Toolbox
13+
* Statistics and Machine Learning Toolbox
14+
15+
**Description**
16+
17+
Numerical model for a semi-submerged sphere (diameter = 10 m) with a model predictive controller (MPC). `wecSim` can be typed into the command window to run the example with the default setup. `plotFreqDep.m` solves for and plots the frequency dependent coefficients, which are stored in `coeff.mat`. `setupMPC.m` sets the controller up using `makePlantModel.m` and `makePredictiveModel.m` and is called by the input file when `wecSim` is run from the command window. `fexcPrediction.m` and `mpcFcn.m` predict the excitation forces and solve the quadratic programming problem, respectively, and are both called by `sphereMPC.slx` during the simulation. The model predictive controller parameters can be changed in the input file.
18+
19+
**Relevant Citation(s)**
20+
21+
Leon, J.; Grasberger, J.; Forbush, D.; Sirigu, M.; Ancellin, M.; Tom, N.; Keester, A.; Ruehl, K.; Ogden, D.; Husain, S. (2024). Advanced Features and Recent Developments in the WEC-Sim Open-Source Design Tool . Paper presented at Pan American Marine Energy Conference (PAMEC 2024), Barranquilla, Colombia.
22+
23+
R. So, M. Starrett, K. Ruehl and T. K. A. Brekken, "Development of control-Sim: Control strategies for power take-off integrated wave energy converter," 2017 IEEE Power & Energy Society General Meeting, Chicago, IL, USA, 2017, pp. 1-5, doi: 10.1109/PESGM.2017.8274314. keywords: {Force;Damping;Cost function;Springs;Sea state;Laboratories;wave energy;optimization;power take off;model predictive control},
24+

0 commit comments

Comments
 (0)