ベッツ限界による風力発電の最大出力計算機
このベッツ限界計算機は、理想的な風力タービンが流れる空気から取り出せる出力の理論上限を求めます。ローターの掃引面積と乱されていない風速を入力し、必要に応じて空気密度も変更できます。最初にローター面を通過する風の運動エネルギー率を求め、次に0.593のベッツ係数を適用します。結果は物理的な上限であり、特定のタービンの実際の電気出力を予測する値ではありません。
無料で実行
ベッツ限界が示す内容
風は運動エネルギーを運びますが、タービンはそのすべてを取り出しながら、空気をローターの先へ流し続けることはできません。ローター面で空気を完全に停止させると、新しい空気が通過できず、出力を維持できなくなります。理想的なアクチュエーターディスク理論は、空気の減速と継続する質量流量の釣り合いから最大出力係数を導きます。この計算機では、一般的な丸め値である0.593をベッツ限界として使用します。つまり、掃引面を通過する風の運動エネルギー率のうち、取り出せるのは最大でも59.3パーセントです。したがって、結果は理論上の空力的な上限です。翼型損失、後流の回転、増速機、発電機、電力変換、制御方式、カットイン・カットアウト、乱流、タワーシャドー、停止時間は含みません。同じ条件で実機がこの値を上回ることは想定されません。物理的な妥当性の確認、ローターと風況の概略比較、認証済み出力曲線を適用する前の楽観的な上限設定にご利用ください。
面積・風速・空気密度の正しい入力方法
rotor_area_m2には、翼そのものの表面積ではなく、翼が回転して掃く面積を入力してください。一般的な円形ローターでは、掃引面積はpiにローター半径の二乗を掛けた値です。wind_speed_m_sには、設置地点とハブ高さに対応する上流側の乱されていない風速をメートル毎秒で入力します。負の風速は使用できません。ゼロは有効で、出力もゼロになります。任意項目のair_density_kg_m3は、一般的な基準値である1立方メートル当たり1.225キログラムを既定値とします。実際の密度は気温、気圧、標高、湿度によって変わるため、現地測定値や補正値を使うと条件設定が適切になります。この計算機は1つの運転点を評価し、入力値がローター円板全体を代表すると仮定します。異なる高さへの風速補間、突風の平均化、風速分布から年間発電量への換算は行いません。入力は指定されたSI単位にそろえてください。直径しか分からない場合は、2で割って半径を求め、先に円の面積を計算してください。
返される出力値の読み方
まずavailable_wind_power_w = 0.5 × 空気密度 × ローター面積 × 風速の3乗を計算します。次に、その値へ固定のbetz_coefficient 0.593を掛けてmaximum_power_wを求め、同じ上限をmaximum_power_kwでも返します。風速の3乗に比例する点は特に重要です。面積と密度が一定なら、風速を2倍にすると瞬間的な理論出力は8倍になり、ローター面積を2倍にすると出力も2倍になります。この関係は感度分析に役立ちますが、風速の不正確な想定が結果へ大きく影響することも示します。現実の風は一定ではないため、1つの最大出力に年間の全時間を掛けて年間発電量を推定しないでください。年間推定には、風速の頻度分布、タービンの出力曲線、稼働率、電気損失が必要です。この結果は上限の目安として扱ってください。機器を比較する際は、同じ空気密度条件のメーカー出力曲線を使い、定格出力、制御限界、運転範囲をベッツ限界とは別に確認してください。
活用例
タービン構想の予備評価
空力・機械・電気効率を加味する前に、提案されたローターの物理的な出力上限を見積もれます。
公称出力値の妥当性確認
同じ面積、密度、風速における風の運動エネルギー率とベッツ上限を、公表された出力と比較できます。
風速感度の検討
複数の運転点を評価し、風速の3乗関係が最大抽出可能出力をどのように変えるか確認できます。
よくある質問
計算の料金はいくらですか?
このページのブラウザーでは無料で実行できます。APIリクエストは1回当たり$0.002です。
結果は実際のタービン出力と同じですか?
いいえ。翼、駆動系、発電機、制御、稼働率、電気系統の損失を差し引く前の理想的な空力上限です。
なぜ風速を3乗するのですか?
質量流量は風速に比例し、単位質量当たりの運動エネルギーは風速の二乗に比例するため、全体では3乗になります。
どのローター面積を入力しますか?
掃引円板の面積を平方メートルで入力してください。円形ローターでは、piにローター半径の二乗を掛けます。
風速にゼロや負の値を使えますか?
ゼロは有効で、出力もゼロです。計算では速さの大きさを使うため、負の風速は受け付けません。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/earth/betz-limit-power \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"rotor_area_m2":100,"wind_speed_m_s":10}'const res = await fetch("https://api.kit.forhosting.com/earth/betz-limit-power", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"rotor_area_m2": 100,
"wind_speed_m_s": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/earth/betz-limit-power",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"rotor_area_m2": 100,
"wind_speed_m_s": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/earth/betz-limit-power", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"rotor_area_m2":100,"wind_speed_m_s":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"rotor_area_m2":100,"wind_speed_m_s":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/earth/betz-limit-power", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"rotor_area_m2": 100,
"wind_speed_m_s": 10
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "earth.betz_limit_power",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |