WEC-Sim - University of Washington

WEC-Sim: An open-source wave
energy converter simulation tool
Michael Lawson and Yi-Hsiang Yu
National Renewable Energy Laboratory
Kelley Ruehl and Carlos Michelen
Sandia National Laboratories
Research sponsored by the U.S. Department of Energy
NREL is a national laboratory of the U.S. Department of Energy, Office of Energy Efficiency and Renewable Energy, operated by the Alliance for Sustainable Energy, LLC.
An open-source simulation code is needed to accelerate
the pace of wave energy technology development
NREL, SNL and the US DOE initiated the 3-year WEC-Sim code development effort
Desired capabilities:
• Model TRL 3-4 WECs
• Ability to model various types of WEC devices
• Predictions of structural, PTO, and mooring motions and loads
• Open-source and user customizable
• Can run on a personal computer  capable of design optimization
Emulate the success of NREL’s FAST wind turbine modeling code by providing a freely
available WEC simulation tool
Potential users and stakeholders: Industry, national labs, DOE, university researchers,
investors
2
Presentation overview
Mathematical model
mx(t ) = f h (t ) + f e (t ) + f r (t ) + f v (t ) + f PTO (t ) + f m (t )
Numerical
implementation
Demonstration: floating
oscillating surge WEC
Development of an
open-source boundary
element method code
3
Numerical model: multi-body dynamics, potential flow
hydrodynamics, mooring, and PTO models
Multi-body dynamics
Hydro forces
WEC device (CPT StingRay)
PTO and mooring
4
Mathematical model: Multi-body dynamics and potential
flow hydrodynamics
mx(t ) = f h (t ) + f e (t ) + f r (t ) + f v (t ) + f pto (t ) + f m (t )
Mooring force
Power-take-off
force
Viscous force: 𝑐𝑑 𝑥̇ 2
Radiation force (added mass and damping):
𝑡
− 𝑥̈ (𝑡)𝑚𝑎 − ∫0 𝐾 𝜏 𝑥̇ 𝑡 − 𝜏 𝑑𝜏
Wave excitation & diffraction force:
BEM simulations
Hydrostatic force: −𝑘ℎ 𝑥(𝑡)
5
The numerical model is being implemented using a
MATLAB-based modular structure
Following a development strategy that has had success in the wind industry
Year 1: Develop core WEC-Sim abilities, leveraging commercial codes where necessary
Out years: (1) Verification and validation (2) Replace commercial modules with open-source
code
6
Pre-processing modules
Wave Surface Elevation
3
2
1
0
η [m]
WaveSim:
• Generates random wave field data
• Provides common wave spectral shapes
(e.g. JONSWAP, Pierson-Moskowitz, and
Bretschneider)
• Custom MATLAB and open-source WAFO
toolbox
-1
-2
-3
-4
0
20
40
60
Time [s]
80
100
120
Boundary Element Method (BEM):
• Solve velocity potential in frequency
domain
• Outputs hydrodynamic coefficients and
excitation forces
• Currently using WAMIT
• Executing a code competition to develop
OpenBEM open-source alternative
7
Time-domain simulation modules
PTO-Sim:
• Models power extraction due to relative
motion between WEC components
• Current version of PTO-Sim models joint
linear stiffness/damping and has a PCC
library including hydraulic and direct drive
models
• Custom MATLAB and
SimMechanics/Simulink code
MAP (Mooring Analysis Program):
• Models mooring system connection from
rigid body to ground
• Current version of MAP provides mooring
stiffness matrix around WEC equilibrium
position
• Custom C++/Python code with MATLAB
interface
6DOF Multi-Body Solver:
• Simulates rigid body motion of WEC
components
• Uses MATLAB time integration subroutines, e.g. ode45
• MATLAB SimMechanics/Simulink
• Team will investigate available opensource multi-body packages in FY14
Hydro-Force:
• Generates hydrodynamic forcing functions
from hydrodynamic coefficients and wave
data
• Linear hydrodynamics now non-linear
in 2014
• Custom MATLAB and Simulink code
8
Code demonstration: simulating a floating oscillation pitch
WEC with a tension mooring system (DOE Ref Model 4)
Pre-processing
• Run WAMIT
Independent flaps
Set user inputs
• Wave conditions
• Simulation settings
Build SimMechanics model
• Use library of WEC
components to build
multi-body model of
device
• Define geometry
• Define inertia properties
25 m
50 m
Linear PTO
Tension
Mooring
system
Execute WEC-Sim code
9
The SimMechanics model is created by building a WEC
using the “WEC-Sim SimMechanics library”
10
They “hydro body” block models hydrodynamic,
hydrostatic, and mooring system forces
11
WEC-Sim model of floating oscillating pitch device
SimMechanics model
Input file
% Simulation data
simu = simulationClass;
simu.simMechanicsFile = 'wecModel.slx';
simu.numWecBodies = 2;
simu.dt = 0.01;
simu.endTime = 1000
% Bodies
body(1) = bodyClass;
body(1).geom.file = ['geometry' filesep 'flap.stl'];
body(1).setHydroData('wamit',['wamit' filesep
'oswec.out'],1,simu);
body(1).setMass('user',220e3);
body(1).setCg('user',[0 0 -14.28]);
body(1).momOfInertia = [147.85e6 42.04e6 106.00e6];
File structure
body(2) = bodyClass;
body(2).geom.file = ['geometry' filesep 'frame.stl'];
body(2).setHydroData('wamit',['wamit' filesep
'oswec.out'],2,simu);
body(2).setMass('wamit',simu);
body(2).setCg('wamit');
body(2).momOfInertia = [3.55e8 2.05e8 4.84e8];
body(2).setMooring('linear',['mooring' filesep
'frameMooring.m']);
%% Set wave type and Run the simulation
waves = waveClass('irregular',5,8,simu);
% Run the simulation
wecSimDriver
12
Simulation output
Predictions of power, forces and motions
Mooring system allows too much platform motion
More than 50% of AEP is lost with this mooring configuration compared to a
bottom fixed device
Hs (kW)
Tp (sec)
5.7
6.7
7.7
8.7
9.7
10.7
11.7
12.7
13.7
14.7
15.7
16.7 17.1
0.25
2.9
3.1
2.6
2.2
1.5
1.2
0.8
0.7
0.5
0.4
0.3
0.3
0.2
0.75
26.3
27.5
23.1
19.7
13.5
10.5
7.6
5.9
4.6
3.6
2.9
2.3
1.9
1.25
73.2
76.3
64.3
54.9
37.5
29.1
21.0
16.5
12.7
10.1
8.1
6.4
5.3
1.75
143.4
149.5
126.0 107.5 73.5
57.0
41.2
32.3
24.9
19.7
15.8
12.6 10.4
2.25
237.1
247.1
208.3 177.7 121.5 94.3
68.1
53.4
41.1
32.6
26.1
20.8 17.1
2.75
354.2
369.1
311.2 265.5 181.6 140.9 101.8 79.7
61.4
48.8
39.0
31.0 25.6
3.25
494.7
515.6
434.6 370.8 253.6 196.7 142.1 111.4 85.8
68.1
54.5
43.3 35.8
3.75
658.7
686.4
578.6 493.7 337.6 261.9 189.2 148.3 114.2 90.7
72.6
57.7 47.6
4.25
846.1
881.6
743.1 634.1 433.6 336.4 243.1 190.5 146.7 116.5 93.3
74.1 61.2
4.75 1056.9 1101.3 928.3 792.0 541.7 420.3 303.6 238.0 183.3 145.5 116.5 92.6 76.5
5.25 1291.2 1345.3 1133.9 967.5 661.7 513.4 370.9 290.7 223.9 177.8 142.4 113.1 93.4
Coding competition: development of an open-source
boundary element code
Problem: WAMIT/AQWA is one of the most expensive
components of the WEC-Sim package  reduce burden on
WEC developers by creating an open source alternative
Leverage the world-wide TopCoder coding community to
efficiently develop a BEM code
There is a possibility of using existing open-source BEM codes
to provide a starting point for improvements
http://www.topcoder.com/doe/
14
Future work
Verification and Validation
• Code-to-code comparison with AQWA, WaveDyn, and OrcaFlex
• Comparison with available experimental data (e.g. CPT StingRay, OPT, DOE
Reference Model)
• Experimental tests to generate experimental data in 2015-2016
• OC3/OC4 type verification project
Code development:
• Implement non-linear hydrostatics and excitation forces
• State space representation of convolution integral
• Move to in-house state space model (e.g. FAST) and/or open-source (e.g.
Modelica) multi-body dynamics?
• Open-source boundary element method solver
15