WEC-Sim
ユーザー・マニュアル

Version1.0
2014 年 6 月 30 日

翻訳：佐賀大学海洋エネルギー研究センター

今井康貴、小柳喜見子

1章
章 まえがきWEC-Sim(Wave Energy Converter SIMulator)はオープンソースの波力エネルギー変換(WEC)シミュレーションツールである。コードは、多体運動ソルバ SimMechanics を使用
する MATLAB と Simulink で開発された。WEC-Sim は、剛体、動力取出し(PTO)システ
ムおよび係留方式で構成される装置をモデル化する能力がある。流体力は radiation とdiffarction を使用してモデル化された。また、システムの運動は、6 自由度(DOF)の WEC
運動方程式を解くことにより時間領域で求められる。
本ユーザーマニュアルは、2 章で WEC-Sim に関する理論を述べる。3 章で MATLAB およ
び WEC-Sim のインストールおよび WEC-Sim の実行方法を述べる。4 章に WEC 構成要素のライブラリ構造が示される。5 章に WECSim のコード構造、WEC-Sim の入力パラメタが示される。最後に、ポイントアブソーバおよび上下可動装置モデル化の WEC-Sim の適用例を 6 章に示した。

12 章 理論
2.1 はじめにWEC のモデル化は、入射波と装置運動、PTO メカニズムおよび係留間の相互作用を含む
メカニズムおよび係留間の相互作用を含む(図2.1)。
。WEC-SimSim は、動力性能と設計最適化を予言するために放射および回折は、動力性能と設計最適化を予言するために放射および回折[1,2]を使用すを使用する。放射と回折の方法は、時間領域のシステム動特性を解決するため、線形の係数を使用
し、周波数領域境界要素法
し、周波数領域境界要素法(BEM)(BEM)ソルバから流体力を得る。
ソルバから流体力を得る。

2.2 境界要素法
流体力決定への共通のアプローチは、入射、散乱、回折の和である。これらの流体力成分
は、周波数領域ポテンシャル流れ BEM ソルバ(WAMIT[3](WAMIT[3]、AWQAAWQA-FER[4]FER[4]および
Nemoh[5])Nemoh[5])から理想的に得られた線形の係数を使用してモデル化された。
から理想的に得られた線形の係数を使用してモデル化された。BEMから理想的に得られた線形の係数を使用してモデル化された。
解は速度ポ
テンシャルを用いてラプラス方程式を解いて得られる。流れは非粘性、非圧縮、渦なしと仮定される。周波数領域 BEM のための理論についてのより多くの詳細はのための理論についてのより多くの詳細は[3]にある。
にある。

2.3 WECWEC-Sim
Sim の座標系
図 2.2 は入射波中にある 3D 浮体型ポイントアブソーバを示す。図は、さらに WEC-Sim
Sim の座標系および運動の 6 自由度を定義する。
自由度を定義する。WEC-SimSim 座標系は、入射角が 0 の場合、X
X 軸が波の進行方向と仮定する。
波の進行方向と仮定する。ZZ 軸は垂直の上向きにある。また、軸は垂直の上向きにある。また、Y
Y 軸方向は右手系で定義された。
2

2.4 時間領域計算方式
システムの運システムの運動応答は、
動応答は、WECWEC システムの運動方程式により計算される[2、システムの運動方程式により計算される 、6]。浮体の運動。浮体の運動方程式はその重心に関して、次のように与えることができる。
  ௘௫௧  ௥௔ௗ  ௉்ை  జ  ୺  ௠

2.1

ここで、
ここで、a は装置の加速度ベクトルである
は装置の加速度ベクトルである(平行移動および回転
平行移動および回転)、m
平行移動および回転は質量行列、
は質量行列、௘௫௧ は波強制力ベクトル、
強制力ベクトル、௥௔ௗ は波放射力ベクトル、は波放射力ベクトル、௉்ை は PTO 力ベクトル、
力ベクトル、 ௩ は粘性減衰力ベク
トル、、஻ は浮力復原力ベクトルである。また、は浮力復原力ベクトルである。また、௠は係留力ベクトルである。
は係留力ベクトルである。௘௫௧ と௥௔ௗ の両方は周波数領域 BEM ソルバによる値から計算された。
ソルバによる値から計算された。散乱項は、浮子体の加速度に関する散乱項は、浮子体の加速度に関する
付加質量と、速度に関連する造波ダンピング項を含む。
付加質量と、速度に関連する造波ダンピング項を含む。波強制項は、入射波によって生成波強制項は、入射波によって生成されたフルードクリロフ力成分、および浮体に起因する回折成分を含む。WEC
されたフルードクリロフ力成分、および浮体に起因する回折成分を含む。WEC-Sim は規則
波および不規則波シミュレーションに使用できるが、任意の海シミュレーションのために
Fext と Frad が正弦的な定常状態応答シナリオで計算されることに注意せよ。正弦的な定常応答は、規則的な入射波における WEC 設計にしばしば使用される。
しかし、ランダム海象あるいはシステムの流体のメモリー効果が不可欠のシミュレーショ
3

ンでは、浮体の流体のメモリ遅延力を表すために、畳み込み積分が推奨される。

2.4.1 正弦的な応答
このアプローチは、システム応答が正弦的な定常的と仮定し、規則波シミュレーションに有効である。与えられた波周波数における付加質量および波放射減衰項を使用して放射項が計算される。
௥௔ௗ = −Α௥  − ௥ (2.2)

A(ϖ)および B(ϖ)は付加質量と波放射減衰行列である。ϖは波周波数(rad/秒)である。また、dx/dt は浮体の速度ベクトルである。自由表面は、与えられた波高の線形の波理論、波周波数、水深に基づく。規則波強制力は次式で得られる。
௘௫௧ = ℜ௙   ௜ሺఠೝ௧ሻ 
2 ௫ ௥

(2.3)

ℜは式の実数、 ௙ はランプ関数、H は波高、௫ は波強制力であり大きさおよび位相から構成される。

2.4.2 畳み込み積分公式
浮体のメモリ効果を取り入れるため、カミンズ方程式[7]に基づく畳込み積分が使用される。
放射項は次式で計算される。
௥௔ௗ = −ஶ  −    − 
௧

(2.4)

଴

A∞は周波数無限大の付加質量行列、K はインパルス応答関数である。規則波では波強制力の計算に式 2.3 を用いる。不規則波では、自由表面は多数の規則波の線形重ね合せで構築される。不規則波は波スペクトル(図 2.3)を使用して特徴づけられる。波スペクトルは周波数ごとのエネルギー分布を示し、有義波高と有義周期で特徴づけられる。不規則波の波強制力は全ての波周波数帯にわたる積分の実数部として計算される。

௘௫௧ = ℜ  ௙  2௥  ௫ ௥  ௜ሺఠೝ௧ାఝሻ ௥ 
ஶ

଴

4

(2.5)

波スペクトルおよびφはランダムな位相角である。
はランダムな位相角である。
S 波スペクトルおよび2.4.3 波スペクトル
規則波を生成する能力は、特定条件下の模型の応答を観察する機会を提供する。一定波高
および一定周期の海状態は実海域ではほとんど無い。本当の海象は、異なる振幅および周期をもった様々な波の重ね合せをモデル化した、任意の波の時系列にて表わされる。この重ね合せは波スペクトルで特徴づけられる。スペクトルは、統計分析て表わされる。この重ね合せは波スペクトルで特徴づけられる。 スペクトルは、統計分析を用いいたパラメタで特徴づけられる。有義波高、ピーク周期、風速、フェッチ長さ。沖合たパラメタで特徴づけられる。有義波高、ピーク周期、風速、フェッチ長さ。沖合で使用されるスペクトルは次節で議論される。WEC-SimWECにおいて利用可能なスペクトルの一般形は次式で与えられる：Sିସ  ିହ
は波周波数(Hz)(Hz)、exp は指数関数である。
f は波周波数52.6

ピアソン-モスコビッツ
ピアソン モスコビッツ型スペクトルモスコビッツ型スペクトル
最も単純なスペクトル[8]で提案された。風が広域に長時間吹いた後、波は風と平衡に入ると仮定した。これは完全に荒海の概念である。
「長時間」はおよそ 10,000 周期、「広域」は
およそ 5,000 波長である。スペクトルは次式で表される。

௉ெ ଶ ିହ5 ௣ − 
ସ24 S =

௉ெ ଶ
2ସ

A=5
 = ௣ ସ
4

,

ସ



(2.7)

(2.8)

௉ெ =0.0081、g は重力加速度である。௣ はスペクトルのピーク周波数である。しかし、このスペクトル表現では、ユーザーが有義波高を定義できない。パワーマトリックスを生成するため、WEC-Sim では、αPM 係数を用いた。所望の有義波高に合致するようにαPM は
以下のように計算された:

௉ெ =

௠଴
ஶ
16 !଴  ∗ 
ଶ

(2.9)

ଶ
5 ௣
 ିହ  − 
ସ
2
4 

S ∗ f =ସ(2.10)

スペクトルモーメントと呼ばれる固有の値に関連づけられたことに注意。これらの値は"௞で表され k=0,1,2 として定義される"௞ =   ௞ 
ஶ(2.11)

଴スペクトルのモーメントおよび"଴ は自由表面の分散である。これより、有義波高が定義される。

௠଴ = 4"଴(2.12)

ブレトシュナイダー型
ブレトシュナイダー型スペクトルこのスペクトルは 2 つのパラメタ（有義波高およびピーク波周波数）に基づく。有義波高を与え、発達あるいは減衰など一連の波条件をカバーするようピーク周波数を変える。一般に、パラメタは風速(最も重要)、風向、フェッチ長、台風前線の位置に依存する。スペク
トルは次式で与えられる
S =

௠଴4

ଶ

(1.057௣ ) 

ସ ିହ

6

5 ௣
 − 4 ସ



(2.13)

௠଴

A=

ଶ

4

(1.057௣ )ସ ≈B = (1.057௣ )ସ ≈

ଶ ସ
௠଴ ௣

5
16

5 ସ

4 ௣

(2.14)(2.15)

௠଴ は有義波高であり、一般的に大きい方から 3 分の 1 平均した波高として定義される。

JONSWAP スペクトル
WEC-Sim で使用されるスペクトルは Hasselmann ら[9]によって提案された。オリジナルの公式化は次式である。
௝ ଶ ିହ5 ௣S =
 exp − 
ସ
(2)
4 


&
−1 ,
௣
%
Γ = exp %− '
) ++
√2σ
%
+
$
*
ଶ

A=

௝ ଶ
(2)ସ

ସ

 #୻
 ≤ ௣
 > ௣

0.07
σ=0.09,5,  = ௣ ସ
4

(2.16)(2.17)

ここで௝ は、風速およびフェッチ長の関数である無次元変数である。最も多い波状態のスペクトルをとらえた平均値を見つけるため、経験的な補正が適用された。所望の有義波高と一致させるため、௝ を次式で計算した。
௝ =

௠଴
ஶ
16 !଴  ∗ 
ଶ

ଶ
5 ௣
S ∗  = ିହ  − 
2ସ
4 

(2.18)ସ

 #୻

ITTC スペクトルJONSWAP スペクトルの別の形式が第 17 回 ITTC で提案された。

7(2.19)

S

155
ଶ ௠଴

2
 ସ (0.834+ , ସ

5 ௣
 -
 9 : ; <୻
4
ସ

ିହ

310
5 ௣

 ଶ ସ ିହ  -- 9 : ; < ୻2 ସ ௠଴ ௣
4
௣

ସ

0
1 @
௣
Γ  exp // 1
= ??
√2σ
/
?
.
>
ଶ

A

,

310
௠଴ ଶ ௣ ସ ,2 ସ ௠

0.07
σD
0.09


G ௣
H ௣

2.20

5 ସ
4 ௣

2.21

2.22


修正および ITTC 記述の JONSWAP スペクトルの比較を図 2.4 に示す。に示す。2 つの方法は
௝ の修正および非常によい合意を示す。

2.4.4 ランプ関数
ランプ関数
波強制力の計算において
波強制力の計算において、シミュレーションの初期の時間ステップにおいて強い移行流をシミュレーションの初期の時間ステップにおいて強い移行流を回避するため回避するためランプ関数
ランプ関数(Rf)(Rf)が使用された。
が使用された。ランプ関数
ランプ関数は(2.23)(2.23)で与えられる。
で与えられる。
1
87  A& 1  cos 7
2
8௥
௙ 
% 1,
$

8
B1
8௥
8
C1
8௥

8

2.23
23

tはシミュレーション時間、௥ は傾斜時間である。

2.5 動力取出し力
反力が次のものから与えられる場合、PTO メカニズムは線形のバネ・ダンパ・システムとして表わされる:௉்ை = −௉்ை ௥௘௟ − .௉்ை ௥௘௟

(2.24)KPTO は PTO のバネ定数、CPTO は PTO のダンピングである。また、Xrel と X'rel は 2 つの物
体間の相対運動および速度である。PTO によって消費されたパワーは次式で与えられる:/௉்ை = −௉்ை ௥௘௟ = 0௉்ை ௥௘௟ ௥௘௟ + .௉்ை  ଶ ௥௘௟ 1(2.25)
しかし、2 つの物体間の相対運動および速度の位相がπ/2 異なると、積の時間平均はゼロで/௉்ை = .௉்ை  ଶ ௥௘௟

ある。そこで、吸収された力は(2.26)で表される。

(2.26)

2.6 係留力
係留力は線形の疑似の静的な係留バネ定数を使用して表わされ、次式で計算することができる。

௠ = −௠ (2.27)Km は係留のバネ行列で、X は物体の変位である。

2.7 粘性抵抗
一般に、WEC 運動への粘性の影響を考慮する必要がある。特に線形モデルが適用される場
合、この影響を無視するとシステムの発電を過大に評価する。粘性減衰をモデル化する一
般的な方法は、二次のダンピング項を運動方程式に加えることである(モリソン式タイプ);1
௏ = .ௗ 2஽ 33
2(2.28)

Cd は粘性抵抗係数、ρは流体の密度、AD は投影面積である。装置用の粘性抵抗係数は注
意深く選択されるべきである[1,2]。それは、物体形状、スケール、物体間の相対速度、物体周囲の流れに依存する。レノルズおよびクーリガン・カーペンター数（KC 数）が小さい
場合、抗力係数ははるかに大きくなる。抗力係数の経験的なデータは様々な文献および基9準に記載されている。しかし、利用可能なデータは既存の単純な形状のみである。実際のポイント・アブソーバ形状については、流体力は水槽試験もしくは計算で評価する必要がある。

10

3 章: 入門WEC
WEC-Sim は MATLAB に実装された。実行には MATLAB と表 3.1 の MATLAB ツールボ
ックス、ックス、WEC-Sim
Sim ソースコードが必要である。
ソースコードが必要である。WEC
WEC-Sim は MATLAB R2014a 上で開発された。また、された。また、MATLAB
MATLAB バージョンが推奨される。本章では、WEC-Sim
バージョンが推奨される。本章では、Sim のダウンロード
およびインストール
およびインストール(節 3.1)、、WEC-SimSim 実行方法(節節 3.2)について記述する。
について記述する。

3.1 WECWEC-Sim
Sim のダウンロードとインストール
ステップ 1: MATLAB をインストール
MATLAB および表 3.1 の MATLAB ツールボックスをインストールする。
ツールボックスをインストールする。MATLAB
MATLAB コマ
ンドウィンドウで ver コマンドを実行し、必要なツールボックスがインストールされたことを確認するを確認する(図 3.1)。このステップの詳細3.1)。このステップの詳細 MathWorks ウェブサイト
http://www.mathworks.com を参照。

ステップ 2: WEC-Sim
WEC
をダウンロード
OpenEI ウェブサイト(http://en.openei.org/wiki/WEC
ウェブサイ (http://en.openei.org/wiki/WEC(http://en.openei.org/wiki/WEC-Sim/)からから WEC-Sim
Sim をダウンロー
ドする。

ステップ 3: WEC-Sim
WEC
ソースコード に MATLAB 検索パスを入れる
検索パスを入れる11

WEC
WEC-Sim ソースコード・ディレクトリ内の functions フォルダにある wecSimStartup.m
ファイルを開く。(このドキュメント中ではこのドキュメント中では wecSimSource と呼ばれる。
と呼ばれる ) wecSimStartup.m
ファイル中のコードをコピーして、それを MATLAB 起動フォルダ内の startup.m ファイルへ貼り付ける。コンピューター上で wecSimPath 変数を wecSimSource フォルダにセットする。
する。MATLAB
MATLAB を一度閉じ、コードを再開し、を一度閉じ、コードを再開し、MATLAB
MATLAB コマンドウィンドウで path コマ
ンドを実行する。次に wecsim-path-setup.m
wecsimsetup.m にのディレクトリが MATLAB 検索パスにあることを確認する。
ステップ 4：：Simulink ライブラリ・ブラウザに WEC-Sim
WEC
ブロックを追加
MATLAB コマンドウィンドウで simulink を入力し Simulink ライブラリ・ブラウザを開く。一度 Simulink
Simuli ライブラリ・ブラウザを開き、ライブラリ・ブラウザを開き、ViewBRefresh
ViewBRefresh ツリー表示を選択する。
この時点で、
この時点で、Libraries
Libraries ペインの WEC-Sim-Sim メニューを拡張すると WEC-Sim
Sim Body,
Constraints, PTOs, Frame ブロックが表示される。これらのブロックの機能は 4 章で説明される。以降、される。以降、WEC
WEC-Sim ライブラリ・ブラウザ中の Simulink を開くと、を開くと、WEC-Sim
Sim Body
Elements, Constraints, PTOs, Frames ブロックが利用可能になる。ライブラリ・ブロッ
クの使用
クの使用および修正に関するヘルプはおよび修正に関するヘルプは Simulink ドキュメント
http://www.mathworks.com/help/simulink/
http://www.mathworks.com/help/simulink/を参照する。
を参照する。

3.2 WECWEC-Sim
Sim の実行
本節は WEC-Sim
Sim ワークフローおよび WECWEC-Sim の実行方法を示す。ここでは、の実行方法を示す。ここでは、WEC
WEC-Simのファイル構造、のファイル構造、WEC-Sim
Sim・シミュレーションを実行させるためのステップを示す。入力
・シミュレーションを実行させるためのステップを示す。入力
ファイル用の入力パラメタの詳述およびオプションは 5 章に記述される。WEC 装置をシミュレートする WEC-Sim
WEC
使用例を 6 章に示す。

3.2.1 ファイル構造
WEC
WEC-Sim のデフォルト・ファイル構造を表 3.2 に示す。WECに示す。WEC-Sim 実行に必要なすべてのファイルはユーザー定義フォルダにある。WEC-SimSim ケースフォルダあるいはケースディレ
クトリと呼ぶ。

12

3.2.2 WEC
WEC-Sim
Sim の実行ステップ
WEC
WEC-Sim ワークフローを図 3.2 に示す。に示す。WEC-Sim
Sim のセットアップおよび実行を以下に示す。

ステップ 1: プリプロセス
WEC の各物体の流体力係数を WAMIT で計算する。WEC-Sim
Sim は WAMIT で生成された流体力係数を出力ファイル
体力係数を出力ファイル(<wamit_file_name>.out)
wamit_file_name>.out)から読む。WECWEC システムのモデル化において WEC-Sim
Sim が正確な流体力係数を使用するため、各物体の重心は WAMIT の物体座
標系(XBODY)(XBODY)の原点にある。現行の原点にある。現行 WECWEC-Sim は多方向波を考慮しない。WEC
は多方向波を考慮しない。 WEC-Sim は
WAMIT でモデル化されたどんな方向波の結果でも使用するので注意。WAMIT
でモデル化されたどんな方向波の結果でも使用するので注意。 WAMIT の詳細は
WAMIT ユーザーマニュアル[3]に記述される。
ユーザーマニュアル に記述される。
次に、WEC 船体形状を STL ファイル形式で作成する。STL ファイルは WEC
WEC-Sim/MATLAB
Sim/MATLABGUI における WEC 船体の可視化に使用する。
の可視化に使用する。

13

ステップ 2: 構造装置 Simulink/SimMechanics モデルの作成
次に、
次に、Simulink/SimMechanics
Simulink/SimMechanics ツールボックスおよび WEC-SimSim ライブラリを使用して、装置モデルを作成する
装置モデルを作成する(4 章を参照)。２物体ポイントアブソーバの章を参照 。２物体ポイントアブソーバのSimulink/SimMechanics モデルを図 3.3 に示す。

ステップ 3: WEC-Sim
WEC
入力ファイルの作成
ケースディレクトリに WEC-Sim
WEC
入力ファイル wecSimInputFile.m を作成する。２物体
ポイントアブソーバの入力ファイル例を図 3.4 に示す。入力ファイルでは、シミュレーショ
ン設定、波状態、物体質量分布、PTO、拘束が指定される。さらに、
ン設定、波状態、物体質量分布、、拘束が指定される。さらに、wecSimInputFile.m、拘束が指定される。さらに、wecSimInputFile.mの中で Simulink/SimMechanics モデルファイル名 "simu.simMechanicsFile=<WEC モデ
ル名>.slx">.slx" を指定する。

ステップ 4: WEC-Sim
WECの実行
MATLAB コマンドウィンドウで wecSim コマンドを入力し、シミュレーションを実行する(図 3.4) 。wecSim
wecSim コマンドは wecSimInputFile.m がある WEC-Sim
WEC
ケースディレクトリ
で実行すること。
で実行すること。WEC-SimSim シミュレーションは、
シミュレーションは、Simulink/SimMechanics
Simulink/SimMechanics モデルからではなく、常に MATLAB コマンドウィンドウから実行すること。これは、シミュレーション
中に変数が MATLAB 作業スペースにあることを保証するためである。

14

3.2.3 シミュレーション出力
シミュレーション出力はすべて MATLAB ワークスペース内の出力変数に保存される。具体的に、出力変数は、的に、出力変数は、WEC 物体の力および運動、物体の力および運動、PTS
PTS、拘束を含む。さらに出力データファ、拘束を含む。さらに出力データファ
イルは、シミュレーションの時間ステップ情報を含む。シミュレーション完了時、WEC-Sim
WEC
は、全てのシミュレーション情報を出力ディレクトリの３つのファイルに保存する。
<caseName>_simulationLog.txt : シミュレーション中に MATLAB コマンドウィンドウに表示された情報を含むアスキーファイル<caseName>_output.mat : WEC 船体、PTS、、拘束の力および運動を含む MATLAB データ
ファイル。さらに、このデータファイルはシミュレファイル。さらに、このデータファイルはシミュレーションの時間ステップ情報を含む。
ーションの時間ステップ情報を含む。
<caseName> matlabWorkspace: シミュレーションのワークスペース変数をすべて含む
MATLAB データファイル。この変数は output.mat データを含む。
15

3.2.4 ユーザー定義関数(UDF)を用いたポストプロセスを用いたポストプロセス
ユーザー定義関数
シミュレーションの完成の直前、WEC-Sim はケースディレクトリ内のuserDefinedFunctions.m を探す。userDefinedFunctions.m ファイルが存在する場合、
WECSim はこのファイル内のコマンドを実行する。シミュレーション終了前、ポストプロ
セスを行なうために、この m ファイルにコードを加えることができる。１つの例は WEC装置の船体およびジョイントの運動および作用する力の描画である。RM3 ケースは、ユー
ザー定義関数を用いた力および応答の描画方法の例を示す。userDefinedFunctions.m に記載された全てのコマンドを実行することに注意。
MATLAB ワークスペース内のすべてのデータがアクセスされる。

16

4 章:ライブラリ構造
ライブラリ構造
4.1 ライブラリ構造
WEC
WEC-Sim ライブラリは 4 つのサブライブラリに分割される。利用可能な WECWEC-Sim ブロックおよび恐らくいくつかの SimMechanics ブロックを使用して任意の WEC 装置をモデル化できる。
化できる。WECWEC-Sim ブロックおよびそれらのサブライブラリ構成を表 4.1 に示す。

表 4.1: WEC
WEC-Sim ライブラリ構造

次節では 4 つのサブライブラリおよびそれらの目的について記述する。Body
つのサブライブラリおよびそれらの目的について記述する。Body Elements サブライブラリは、異なる船体に使用される Rigid Body ブロックを含む。
ブロックを含む。Frames サブラ
イブラリはすべてのシミュレーションに必要な Global Reference Frame ブロックを含む。
Constraints サブライブラリは、船体の DOF（運動自由度）を抑制するために使用される（運動自由度）を抑制するために使用されるブロックを含む。付加的な力や抵抗は含まない。PTO サブライブラリは PTO システムのシ
ミュレートおよび船体運動の制限に使用されるブロックを含む。マルチボディ間の相対運動を制限するため、動を制限するため、Constraints
Constraints と PTO の両方が使用される。

4.2 Body Elements サブライブラリ
Body Eleme
Elements
nts サブライブラリは 1 つのブロック
つのブロック(Rigid(Rigid Body ブロック)を含む。
を含む。(図 4.1) これは剛体を表わすために使用される。このブロックの少なくとも 1 つの部品が各モデル中で必要である。
17

4.2.1 剛体ブロック
剛体ブロックはシミュレーション中で剛体を表わすために使用される。ブロック名"body(i)" (i=1,2,..) を指定する必要がある。質量分布、流体力データ、形状ファイル、係留および他の計算要素を入力ファイル中に指定する。Body ブロック内で、放射力、波強制力、復元力、粘性減衰および係復元力、粘性減衰および係留力が計算される。
留力が計算される。

4.3 Frames サブライブラリ
図 4.2 に示される Frames サブライブラリは、全てのモデルに必要なブロックを含む。
Global Reference Frame ブロックは海底に沿ったグローバル座標系を定義する。

4.3.1 Global Reference Frame ブロック
Global Reference Frame はソルバ、海底および自由表面、シミュレーション時間および他のグローバルなセッティングを定義する。モデルを作成する際、グローバル座標系は海底であると考えるこであると考えることは有用である。すべてのモデルには、とは有用である。すべてのモデルには、とは有用である。すべてのモデルには、Global
Global Reference Frame ブロックが必要である。
クが必要である。Global
Global Reference Frame はクラス変数 simu および波クラス変数 wave
を使用する。これは入力ファイルで定義される。

18

4.4 Constraints サブライブラリ
特定物体の運動自由度の定義に Constraints サブライブラリ内のブロックが使用される。
（図 4.34.3）。拘束ブロックは DOF だけを定義するだけを定義するが、が、他の物体運動の力や抵抗は定義しない。
Constraints ブロックには基礎(B)およびフォロアー
ブロックには基礎 およびフォロアー(F)のおよびフォロアー
2 つの接続点がある。Constraints
ブロックは、基礎に接続されたブロックに相対的なフォロアーブロックの運動を制限する。
これらブロックの基礎は Global Reference Frame ((海底と見なすことができる
海底と見なすことができる
海底と見なすことができる)である。まである。また、フォロアーは Rigid Body である。
5 つの Constraints がある。
DOF(Heave, Surge, Pitch)
Pitch)を制限する３つ、を制限する３つ、自由浮体
自由浮体(Floating)(Floating)、
固定(Fixed)(Fixed)である。本節の残りは各である。本節の残りは各 Constrain
Constraints ブロックについて詳細に記述する。

19

4.4.1 Floating Block
Floating ブロックは自由浮体をシミュレートする。フォロアーの運動を基礎の XZ 平面に沿って拘束する。つまり X 軸および Z 軸方向の平行移動および Y 軸回転を許可する。それは、GlobalGlobal Reference Frame (海底)に接続された基礎と共に使用される。グローバルな(に接続された基礎と共に使用される。グローバルな XZ
平面に沿ってフォロアーが運動する。

4.4.2 Heave ブロック
Heave ブロックは、フォロアーの運動を基礎に関して Z 軸方向に拘束する。
軸方向に拘束する。Global
Reference Frame ((海底)に接続された基礎の場合、船体が鉛直方向（に接続された基礎の場合、船体が鉛直方向（Zに接続された基礎の場合、船体が鉛直方向（ 軸）にのみ運動可能である。
である。2 つの物体を接続する Heave ブロックの場合、2 つの物体間の相対運動が、それらの Z 軸方向に拘束される。フォロアーと基礎の Z 軸は常に並列であり、それら軸間の距離は一定である。フォロアーの実際の移動方向は、基礎の方向に依存する。

4.4.3 Surge ブロック
Surge ブロックは、フォロアーの運動を基礎に対して X 軸方向に拘束する。基礎が Global
Reference Frame (s(seabed)に接続される場合、物体運動は水平方向の（に接続される場合、物体運動は水平方向の（Xに接続される場合、物体運動は水平方向の（ 方向）に拘束され20る。Surge ブロックが 2 つの物体を接続する場合、2 つの物体の相対運動は、それらの X 軸方向に拘束される。フォロアーの X 軸と基礎の X
軸は常に平行になる。また、それらの軸間距離は一定である。フォロアーの実際の運動方
向は、基礎の方向に依存する。

4.4.4 Pitch ブロック
Pitch ブロックは、フォロアーと基礎の間の相対運動をピッチ回転のみ(Y 軸回転)に拘束する。両方の物体固定座標系から回転軸までの距離は一定を保つ。両方の物体固定 Y 軸の方向も一定である。入力ファイルに回転が生じる点の記述が必要である。

4.4.5 固定ブロック
Fixed ブロックは固定接続である。基礎とフォロアーの間の運動をすべて抑制する。それは、X 軸と Z 軸方向の平行移動および Y 軸に関する回転を制限する。最も一般的な使用は海底に固定された剛体向けである。

4.5 PTO サブライブラリ
PTO サブライブラリは、単純な PTO システムのシミュレート、多数物体間の相対運動の抑制、物体と海底間の相対運動の抑制に使用される。図 4.4
PTO ブロックは接続に線形バネ定数およびダンピングの適用により単純な PTO システムをシミュレートする。拘束ブロック同様、PTO ブロックは基礎(B)およびフォロアー(F)を持つ。各 PTO ブロックは名前"pto(i)" i=1,2, が必要である。次に入力ファイルにそれらの特性を定義する

4.5.1 伸縮 PTO（
（Z 方向） ブロック
伸縮 PTO(ローカル Z)は Heave 拘束と同一であるが、接続に線形バネ定数および減衰係数が適用される。上記のように PTO には名前を指定する。次に入力ファイルに弾性係数(N/m)
および減衰係数(N/m)を指定する。

21

4.5.2 伸縮 PTO（
PTO（X 方向）ブロック
伸縮 PTO(X 方向)は方向
Surge 拘束と同一であるが、接続に線形バネ定数および減衰係数が適用される。上記のように PTO には名前を指定する。次に入力ファイルに弾性係数には名前を指定する。次に入力ファイルに弾性係数(N/m)(N/m)および減衰係数
よび減衰係数(N/m)(N/m)を指定する。
を指定する。

4.5.3 回転 PTO(RY) ブロック
回転 PTO(RY)はピッチ拘束と同一であるが、接続に線形回転バネ定数および減衰係数が加はピッチ拘束と同一であるが、接続に線形回転バネ定数および減衰係数が加わる。上記のように PTO には名前を指定する。次に入力ファイルに弾性係数には名前を指定する。次に入力ファイルに弾性係数(Nm/rad)(Nm/rad)および減衰係数
び減衰係数(Nm/rad)(Nm/rad)を指定する。
を指定する。

4.6 他の SimMechanics ブロック
独自の WEC モデルを作るため、WECSim
モデルを作るため、WECSim ライブラリに含まれな SimMechanics ブロック22

を使用する場合がある。よく使用されるブロックは Rigid Transform である。変形する、
それは PTO, 拘束, 物体のフレームの回転に使用される。これも SimMechanics ユーザー
ガイドで説明される。

23

5 章: コード構造および入力パラメタ
本節は WEC-Sim ソースコードおよびコード構造について記述する。ソースコードはMATLAB m-ファイルである。ユーザー入力データの読み取り、Simulink/SimMechanics
時間領域シミュレーションの前処理計算を行う。

5.1 単位WEC-Sim のすべての単位は MKS 系(meters-kilograms-seconds system)である。また、角度の単位はラジアンである。

5.2 WEC-Sim 入力ファイル
WEC-Sim 入力ファイルは計算に必要である。入力ファイルはケースディレクトリに置き、
wecSimInputFile.m と命名すること。2 物体ポイントアブソーバの入力ファイルの例を図5.1 に示す。WEC-Sim シミュレーションに必要な情報を入力ファイルに記述する。特に主要な関数が 4 つある。次節で各々説明される。

5.2.1 Simulation Parameters の仕様
入力ファイルにシミュレーション持続時間および時間ステップのようなシミューレーショ
ンパラメタが指定される。シミュレーションパラメタはが simu 変数に指定される。それはsimulationClass のメンバーである。図 5.1
さらに、Simulink/SimMechanics WEC モデルの名前を simu 変数に指定する。
simulationClass に設定可能なシミューレーションパラメタは節 5.3.1 に詳細に記述される。

5.2.2 物体パラメタの仕様
WEC-Sim では、WEC は剛体から構成され、剛体は波力にさらされると仮定される。各物体について、入力ファイル中で物体変数内の仕様が指定される。
質量、慣性モーメント、重心、流体力を記述する WAMIT ファイルを指定する。
(図 5.1 を参照。) ユーザーが設定可能な bodyClass パラメタは、節 5.3.2 に詳細に記述され
る。

24

25

5.2.3 波パラメタの仕様
入力ファイル中にシミュレーションの波条件を記述する。ユーザーMUST は変数 wave の波条件を指定する。ユーザーが設定可能な waveClass パラメタは、節 5.3.3 に詳細に記述される。

5.2.4 動力取出しと拘束パラメタの仕様
PTO と拘束のブロックは WEC 物体を接続する(恐らく海底に)。PTO と拘束の仕様は、PTO
変数および拘束変数内にそれぞれ定義される。ユーザーが指定できるオプションは、節 5.3.4
および 5.3.5 に詳細に記述される。

5.3 WEC-Sim コード
WEC-Sim シミュレーションに必要なデータは、simulationClass, bodyClass, wavesClass,jointClass オブジェクトのインスタンスである。変数 simu, body, waves, pto, constraintの中にそれぞれ含まれる。これらのオブジェクトは MATLAB クラスで作成された。
WEC-Sim 入力ファイル (wecSimInputFile.m) でこれらの変数を設定する(図 5.1 参照)．
本節の残りは、WEC-Sim オブジェクト内のデータ、適切なシミュレーション入力パラメタを設定するためにオブジェクトを記述する方法を記述する。WEC-Sim を用いた WEC 装置のシミュレートの例、および入力ファイルが 6 章に記述される。

5.3.1 simulationClass
simulationClass は WEC-Sim の実行に必要なシミューレーションパラメタおよびソルバを設定する。ユーザーは wecSimInputFile.m に適切なシミュレーションプロパティを設定できる。Simulink/SimMechanics WEC モデルの名前を指定する必要がある。それは入力ファイルに simu.simMechanicsFile='<WEC Model Name>.slx' コマンドを記述することにより設定できる。何もしなければ、他のすべてのシミューレーションパラメタはデフォルト値が使用される。利用可能なシミュレーションプロパティおよび各々のデフォルト
値を図 5.2 に示す。
MATLAB コマンドウィンドウで "doc simulationClass" と入力すると、詳細が表示される。
入力ファイルにシミューレーションパラメタおよびソルバ設定を指定することでデフォル
ト値は上書きされる。例えば、シミュレーションの終了時間は simu.endTime = <user
specified end time> で設定できる。

26

5.3.2 bodyClass
bodyClass オブジェクトは、シミュレートされる WEC 装置を構成する各物体の質量および流体力を含む。それぞれの物体は入力ファイルに bodyClass を持つこと。これらの物体
は body(<body number>)number>)と命名することが推奨される。図と命名することが推奨される。図 5.1
各物体オブジェクトは body(<body number>)=bodyClass('<
number>)=bodyClass('<bodybody name>')name>')のコマンド入力のコマンド入力により開始される。各物体の物体オブジェクトが始められた後、質量および流体力を指定する。図 5.1 に示されるように、各物体について、hydroDataType, hydroDataLocation, 質
量,, cg, momOfInertia, 形状パラメタの全てが指定される必要がある。ユーザーは物体パラ
メタにデフォルト値を使ってもよい。その場合何も指定しない、あるいは独自の値を指定する。
する。bodyClass
bodyClass の利用可能なオプションを図 5.3 に示す。
例えば、粘性抵抗を指定する
粘性抵抗係数（無次元）および投影面積
粘性抵抗係数（無次元）および投影面積(m2)をベクトル形式で入力するをベクトル形式で入力する
27

入力ファイルのフォーマットは以下の通りである
body(<body number>).cd= [0 0 1.3 0 0 0],body(<body number>).characteristicArea= [0 0 100 0 0 0],

Figure 5.3: Data contained within the bodyClass.

28

5.3.3 waveClass 波クラス
waveClass は時間領域シミュレーションは時間領域シミュレーションの波条件を定義するすべての情報を含む。特にの波条件を定義するすべての情報を含む。特に
WEC
WEC-Sim でサポートされる波環境のタイプを表 5.1 に示す。

・No
No waves (waves.type='noWave'): 波のないシミュレーションを実行し、一定の付加質量および放射減衰係数を使用する。従って WEC-SimWECの前に WAMIT を実行する必要がある。さらに、ユーザーは周期を指定する必要がある。
waves.noWaveHydrodynamicCoeffT 変数のセットにより、流体力係数が選択される。このオプションは、与えられた放射付加質量および減衰係数を使用した自由動揺テストに使用される。解析解と比較を行う。

・No
No waves with convolution integral calculation (waves.type='noWaveCIC'):
畳込み積分および無限周波数の負荷質量を用いて放射力を計算する。
それ以外は noWave と同じ。

・規則波
規則波
規則波(waves.type='regular'):(waves.type='regular'): 一定の付加質量および放射減衰係数を用いて規則波
シミュレーションを実行する。入力ファイルで波周期 wave.T および波高 wave.H を指定する。システム動的応答は正弦的な定常状態と仮定する。一定の付加質量および減衰係数を用いて波放射力を計算する。畳込み積分は使用されない。

・Regular
Regular waves with convolution integral (waves.type='regularCIC'): 畳込み
積分および無限周波数の付加質量を用いて放射力が計算される以外はwaves.type='r
waves.type='regular'
egular'と同じである。
と同じである。

・不規則波
不規則波
不規則波(waves.type='irregular'):(waves.type='irregular'): 波スペクトルを与え、不規則波シミュレーショ
ンを行う。入力ファイルで有義波高(wave.H),ンを行う。入力ファイルで有義波高 (wave.H), ピーク周期(wave.T),
ピーク周期(wave.T), 波スペクトル29

(waves.spectrumtype)(waves.spectrumtype)を指定する。利用可能な波スペクトルを表を指定する。利用可能な波スペクトルを表 5.2 に示す。

・ユーザー定義スペクトルの不規則波
ユーザー定義スペクトルの不規則波
ユーザー定義スペクトルの不規則波(waves.type='irregularImport')(waves.type='irregularImport')(waves.type='irregularImport'): ユーザー
定義の波スペクトルを用いて不規則波シミュレーションを行う。ユーザーは、入力フ
定義の波スペクトルを用いて不規則波シミュレーションを行う。ユーザーは、入力ファイル中で以下のように波スペクトルのファイル名を指定する必要がある。
waves.spectrumDataFile='<wave spectrum file>.txt',
ユーザー定義の波スペクトルは、第 1 列に波周波数
列に波周波数(Hz)、第 2 列にスペクトルのエネルギー密度ー密度(ଶ /Hz)を記載する。
を記載する。WEC-Simを記載する。
のの"applications""applications"フォルダに例
フォルダに例 ndbcBuoyData.txtがある。このフォーマットは、NDBC ブイデータから直接コピーすることができる。NDBC
ブイ計測の詳細は NDBC ウェブサイトを参照のこと。
http://www.ndbc.noaa.gov/measdes.shtml

デフォルトでは、不規則波の位相はランダムに生成されることに注意(waves.randPreDefined=0)

入力ファイル中で waves.randPreDefined=1 が指定された場合、波のランダム位相は MATLAB の rand 関数（seed=1）で生成される。これは同じ関数（）で生成される。これは同じ不規則波を再不規則波を再現できる。
現できる。
MATLAB コマンドウィンドウで"docコマンドウィンドウで"doc waveClass"
waveClass"を入力すると、クラス関数の詳細が表示を入力すると、クラス関数の詳細が表示される。また、利用可能な波パラメタが図 5.4 示される。

5.3.4 constraintClass 拘束クラス
物体を Global Reference Frame に接続するために拘束オブジェクトが使用される。拘束変数は以下により開始される数は以下により開始される:
constraint(<constraint number>)=constraintClass('<constraint name>');
回転拘束
回転拘束(ピッチなど
ピッチなど)は、さらには、さらに global reference frame に対する回転ジョイントの位置を
constraint(<constraint number>).loc に指定する必要がある。

30

5.3.5

PTO クラス

PTO オブジェクトは固定基準フレームあるいは別の物体に対する物体運動から力を抽出する。さらに、る。さらに、PTO
PTO オブジェクトはある自由度の運動を抑制する。PTO
オブジェクトはある自由度の運動を抑制する。
変数は以下の入力により開始される。
pto(<pto number>)=ptoClass('<pto name>'),
回転 ptos(RY)は位置を設定する必要がある。さらには位置を設定する必要がある。さらに PTO システムを表わすため、
ダンピング
ダンピング(pto(<pto(pto(<pto number>).c)およびバネ定数
number>).c)およびバネ定数(pto(<pto(pto(<pto number>).k)を指定するオプシ
number>).k)を指定するオプシ
ョンがある。デフォルトでは両方とも 0 である。また、入力ファイル中のデフォルト値は上書き可能である。例えば、ダンピング値は以下のように指定する:
上書き可能である。例えば、ダンピング値は以下のように指定する
pto(<pto number>).c=<pto damping value>,31

6 章: アプリケーション
本節では、
本節では、2 つの異なる WEC へ WEC--Sim を使用する方法について記述する。はじめに 2
物体ポイントアブソーバ WEC をモデル化する。次に OSWEC をモデル化する。

6.1 RM3 2 物体ポイントアブソーバ
6.1.1 形状定義
WEC
WEC-Sim コードの最初の例として、参照モデル 3(RM3)2 物体ポイントアブソーバを設計する。
する。WEC は波力に応じて 6DOF で自由に運動可能であるが、力は相対 Heave 方向に捕らえられる。
らえられる。DOE
DOE 参照モデルプロジェクトの数値計算および水槽実験でよく特性が分かっているため RM3 が選択された。
プロジェクトの詳細は以下ウェブサイト参照のこと。
http://energy.sandia.gov/rmp
装置は比較的単純な作動原理であり、WEC
装置は比較的単純な作動原理であり、 WEC 産業が現在追求しているものの代表である。
RM3 は、浮体とリアクションプレートから構成される単純な 2 物体ポイントアブソーバである。
ある。RM3 の原寸を図 6.1 に示す。質量分布を表 6.1 に示す。

32

6.1.2 RM3 の WEC-SimWEC Sim モデル化
本節では、
本節では、RM3
RM3 を WEC-Sim
Sim におけるシミュレーションの段階的な説明を示す。さらに、補足の RM3 WEC-Sim
WECのチュートリアルのビデオを作成した。
RM3 の WEC-SimSim シミュレーションをセットアップし実行する方法を示す。チュートリ
アルのビデオは、
アルのビデオは、documentation
documentation フォルダにある。
フォルダにある。3 章に記述されたように、すべての
WEC
WEC-Sim モデル は、入力フ ァイル (wecSimInputFile.m) および Simulink ファイル
(RM3.slx)(RM3.slx)から構成される。
から構成される。WEC-Simから構成される。
Sim シミュレーションの実行において、シミュレーションの実行において、WECSim
WECSim の流
体力係数
体力係数を入力するためを入力するため WAMIT(周波数領域
WAMIT(周波数領域 BEM ソルバ)の結果が必要である。
の結果が必要である。
の結果が必要である。WAMIT
WAMITの流体力はあらかじめ計算しておく。この例では WAMIT 出力は buoywamit.out であり、wamit サブフォルダにある。すべての流体力係数は重心まわりで出力することに注意する。
さらに、
さらに、WEC-SimSim 可視化のため、3D可視化のため、
形状ファイルを形状ファイルを<STL ファイル名>
ファイル名 >の形で指定する。
の形で指定する。
stl ファイルの座標系原点は重心にとる。ブイおよびスパー板から構成された RM3 の計算
では、それぞれ geometry サブフォルダ内の float.stl と plate.stl
late.stl に相当する。

RM3 Simulink モデルファイル
WEC
WEC-Sim シミュレーションの第 1 段階は、
段階は、Simulink
Simulink モデルファイルの作成である。
WEC
WEC-Sim ライブラリからブロックを<WEC
ライブラリからブロックを<WEC model name>.slx にドラッグする。
(詳細は
詳細は 4 章参照)。
章参照

ステップ 1: Simulink モデルファイルの WEC-SimSim ライブラリから
2 つの Rigid Body ブロックをドラッグし配置する。図 6.2

ステップ 2: Rigid Body ブロックをダブルクリックし、物体を改名する。最初の物体を
33

body(1)body(1)、第 2 の物体を body(2) と名付ける。これらの物体ブロックの特性は RM3 MATLAB
入力ファイル
入力ファイル(節節 6.1.2)に定義される。
に定義される。

ステップ 3: 図 6.3 のように、Simulinkのように、Simulink モデルファイルの WEC-SimSim ライブラリから
Global Reference Frame ブロックを配置する。ジョイントや拘束によって他の全ての物体が基礎にリンクされる。

34

ステップ 4: 海底にプレートを接続するため、海底にプレートを接続するため、Floating
Floating 拘束ブロックを使用する。
拘束ブロックを使用する。RM3はグローバル座標系に対して 6DOF で運動可能なため、これが必要である。ステップ 4 と5 の接続を図 6.4 に示す。

ステップ 5: 浮体とスパーを接続するため、浮体とスパーを接続するため、Translation
Translation PTO(Local Z)ブロックを配置す
Z)ブロックを配置する。これは、板に対する浮体運動を Heave 方向に拘束するために必要である。
方向に拘束するために必要である。RM3 シミュ
レーションでは、レーションでは、WEC の PTO を線形のダンパとしてモデル化するために translational
PTO ブロックが使用された。パラメタは節 6.1.2 に定義される。
WEC
WEC-Sim モデルのセットアップにおいて、基礎とフォロアーの座標系に注意することが重要である。例えば、プレートと海底の拘束において、海底は Global Reference Frame であるため、基礎として定義されるべきである。同様に、浮体とプレート間にある PTO の場
合、プレートは基礎として定義されるべきである。

RM3 MATLAB 入力ファイル
本節では、RM3 モデル用の WEC-SimMATLAB
SimMATLAB 入力ファイルを定義する。各行には定義されたパラメタの説明コメントがある。RM3れたパラメタの説明コメントがある。 RM3 モデルのシミューレーションパラメタ
モデルのシミューレーションパラメタ, 船体特性,, PTO, 拘束を定義する。RM3
拘束を定義する。
の入力パラメタを図 6.5 に示す。

35

RM3 WECWEC-Sim
Sim モデル
一度 WEC-Sim
Sim Simulink モデルがセットアップされ、モデルがセットアップされ、RM3 特性が MATLAB 入力ファイルに定義されれば、ルに定義されれば、WEC-Sim
Sim で RM3 モデルを実行できる。図 6.6 はシミュレーション中の RM3 Simulink モデルおよび WEC-SimGUISimGUI を示す。RM3 装置の WEC
WEC-Sim シミュレー
ションの詳細はションの詳細は[12][12]と[13]を参照のこと。
を参照のこと。

36

6.2 Surge
Surge-Pitch
Pitch 装置
6.2.1 形状定義
WEC
WEC-Sim コードの 2 番目の適用例は Surge 振動 WEC 装置(OSWEC)(OSWEC)である。
である。OSWEC の
設計は RM3 とは基本的に異なるのため選択された。WEC の設計空間は広大にわたるため、
これは致命的である。また、異なる法則で作動する装置を WEC-Sim
WEC
でモデル化することは重要である。
は重要である。OSWEC
OSWEC は地面に固定され、フラップをもつ。フラップはヒンジを通じて基礎に接続される。基礎はフラップ運動をヒンジに関してピッチ方向に拘束する。
基礎に接続される。基礎はフラップ運動をヒンジに関してピッチ方向に拘束する。OSWEC
OSWECの原寸を図 6.7 に示す。また、質量分布を表 6.2 に示す。

6.2.2 WEC-Sim
Sim を用いた OSWEC のモデル化
本節では、
本節では、WECWEC-Sim で OSWEC シミュレーションをセットアップし実行する段階的な方法 を 示 す 。 3 章 に 記 述 さ れ た よ う に 、 全 て の WEC-SimSim モ デ ル は 、 入 力 フ ァ イ ル(wecSimInputFile.m) および Simulink モデル(OSWEC.slx)(OSWEC.slx)から構成される。
から構成される。
から構成される。WAMITWAMIT の流体力もあらかじめ計算しておく。WAMIT流体力もあらかじめ計算しておく。 WAMIT 出力ファイルは wamit サブフォルダのoswec.out である。さらに、WEC-Simである。さらに、Sim 可視化のため、重心を座標系原点とした 3D 形状を<WEC model name>.stl で指定する必要がある。フラップと基礎から構成される OSWEC
では、では、geometrygeometry サブフォルダに位置する flap.stl と base.stl に相当する。

37

OSWEC Simulink モデルファイル
WEC
WEC-Sim シミュレーションの第 1 段階は、
段階は、Simulink
Simulink モデルファイルの作成である。
WEC
WEC-Sim ライブラリからブロックを<WEC
ライブラリからブロックを<WEC model name>.slx にドラッグする。
にドラッグする。(詳細は
詳細は 4
章参照
章参照。)

ステップ 1: Simulink モデルファイルの WEC-SimSim ライブラリから 2 つの Rigid Body ブ
ロックをドラッグし配置する。図 6.8

38

ステップ 2: Rigid Body ブロックをダブルクリックし、物体を改名する。最初の物体をbody(1)body(1)、第 2 の物体を body(2) と名付ける。これらの物体ブロックの特性は OSWEC
MATLAB 入力ファイル(節入力ファイル
6.2.2)に定義される。
6.2.2)に定義される。

ステップ 3: 図 6.9 のように、Simulinkのように、Simulink モデルファイルの WEC-SimSim ライブラリから
Global Reference Frame ブロックを配置する。
ブロックを配置する。Global
Global Reference
Reference Frame は基礎として働く。他のすべての物体はジョイントや拘束によって基礎にリンクされる。

39

ステップ 4: 海底にプレートを接続するため、Floating 拘束ブロックを使用する。OSWEC
基礎はグローバ座標系に固定されるので、これが必要である。ステップ 4 と 5 接続図を図6.10 に示す。

ステップ 5: フラップと基礎を接続するため、フラップと基礎を接続するため、rotationalrotational PTO ブロックを配置する。フラップ運動が基礎に対してピッチ方向に拘束されるため、これが必要である。
ップ運動が基礎に対してピッチ方向に拘束されるため、これが必要である。OSWEC
OSWEC シミュレーションでは、ュレーションでは、rotationalrotational PTO が使用された。
WEC の PTO を線形の回転ダンパとしてモデル化する。入力パラメタは(節を線形の回転ダンパとしてモデル化する。入力パラメタは 節 6.2.2)に定義さ
に定義さ
れる。
WEC
WEC-Sim モデルのセットアップにおいて、基礎とフォロアーの座標系に注意することは重要である。例えば、基礎と海底の間の拘束は、グローバルな座標系であるのため、海底は基礎として定義されるべきである。

OSWEC MATLAB 入力ファイル
本節では、
本節では、OSWEC
OSWEC モデルの WEC-Sim
Sim MATLAB 入力ファイル(wecSimInputFile.m)
入力ファイル(wecSimInputFile.m)を定(wecSimInputFile.m)
義する。各行には定義されたパラメタの説明コメントがある。OSWEC義する。各行には定義されたパラメタの説明コメントがある。
モデルのシミューレーションパラメタ
レーションパラメタ, 船体特性,
船体特性 PTO, 拘束を定義する。
拘束を定義する。OSWEC
OSWEC のパラメタの各々は下に定義された。
定義された。RM3
RM3 の入力パラメタを図 6.11 に示す。

40

OSWEC WECWEC-Sim・モデル
・モデル
一旦 WEC-Sim
Sim Simulink モデルがセットアップされ、モデルがセットアップされ、OSWEC
OSWEC 特性が MATLAB 入力ファ
イルに定義されれば、イルに定義されれば、WEC-Sim で OSWEC モデルを実行できる。図 6.12 は、シミュレー
ション中の OSWEC Simulink モデルおモデルおよび WEC-SimGUIWEC SimGUI を示す。
を示す。OSWEC 装置の
WEC
WEC-Sim シミュレーションの詳細は[13]シミュレーションの詳細は[13] と[14]を参照のこと。
を参照のこと。

41

6.3 WECWEC-Sim
Sim テストケース
WEC
WEC-Sim ディレクトリの applications フォルダ内に 2 つの WEC-Sim
WEC
コード適用例がある。最初の適用例は、る。最初の適用例は、WEC
WEC-Sim コードを用いた RM3 WEC のモデル化である。また、第2 の適用例は、の適用例は、OSWEC
OSWEC 装置のモデル化である。ユーザーは WEC-Sim
WEC
コード、提供されたスクリプトを変えるデバッグのため、WEC
WEC-Sim の旧バージョン結果を最新の実行結果と比の旧バージョン結果を最新の実行結果と比較する。これらのテストケースは RunTestCase.m スクリプトの実行により使用される。
このスクリプトは、オリジナルの WEC
WEC-Sim 結果を含む *.mat ファイルを取り込み、最新の WEC
WEC-Sim 実行結果と比較する。

6.3.1 RM3 試訴
RM3 について、テストケースは以下のパラメタを使用してセットアップされるについて、テストケースは以下のパラメタを使用してセットアップされる:

Wave Environment
Wave Type = Regular Waves (Sinusoidal Steady
Steady-State)State)
Wave Height H (m) = 2.5
Wave Period T (sec) = 842

WEC
WEC-Sim
Sim Simulation Settings
Time Marching Solver = Fourth-Order
Fourth Order Runge
Runge-Kutta
Kutta Formula
Start Time (sec) = 0
End Time (sec) = 400
Time Step Size (sec) = 0.1
Ramp Function Time (sec) = 100

List of PTO(s)Number of PTOs = 1
PTO stiffness (N/m) = 0
PTO Damping (Ns/m) = 1.2E+06

43

6.3.2 OSWEC テストケース
OSWEC については、テストケースは以下のパラメタでセットアップされるについては、テストケースは以下のパラメタでセットアップされる:

Wave Environment
Wave Type = Regular Waves (Sinusoidal Steady
Steady-State)State)
Wave Height H (m) = 2.5
Wave Period T (sec) = 8

WEC
WEC-Sim
Sim Simulation Settings
SettinTime Marching Solver = Fourth-Order
Fourth Order Runge
Runge-Kutta
Kutta Formula
Start Time (sec) = 0
End Time (sec) = 400
Time Step Size (sec) = 0.1
Ramp Function Time (sec) = 100

List of PTO(s)Number of PTOs = 1
PTO stiffness (Nm/rad) = 0
PTO Damping (Nsm/rad) = 044