浅水波の位相速度計算
この浅水波速度計算機は、局所的な重力加速度と静水深から、長い表面波の位相速度を求めます。標準的な関係 c = sqrt(g h) を計算し、結果をメートル毎秒で示すとともに、代入した値も表示します。波長が水深より十分に長い場合に、潮汐、津波の概算、沿岸モデル、流体力学の学習などで利用できます。正の水深を入力してください。必要に応じて、地球の標準重力を対象地点の値や別の天体の値に変更できます。
無料で実行
浅水近似の意味を理解する
浅水波または長波という名称は、人にとって水が浅く見えることではなく、波長が水深に比べて長いことを表します。この領域では、水柱内の圧力がおおむね静水圧となり、水平方向の運動が水面近くから底面近くまで及びます。こうした仮定により、分散性を含む表面波の関係は c = sqrt(g h) という簡潔な式になります。c はメートル毎秒で表す位相速度、g はメートル毎秒毎秒で表す重力加速度、h はメートルで表す静水深です。この近似では、結果は波の振幅、周期、波長に直接依存しません。実務上の目安として、水深が波長のおよそ二十分の一未満なら浅水波の性質が強いとされますが、必要精度によって許容範囲は変わります。本計算機には波長の入力がないため、近似の成立自体は判定できません。出力は長波の概算として扱い、入力水深におけるすべてのさざ波やうねりの共通速度とは解釈しないでください。
水深と重力加速度を整合する単位で入力する
water_depth には、鉛直方向に測った正の水深をメートル単位で入力してください。瞬間的な波高ではなく、対象区間を代表する静水深または平均水深を使用します。Gravity の既定値は、地球で慣用される 9.80665 メートル毎秒毎秒です。特定地点、実験模型、別の天体を扱う場合は、別の正の値を指定できます。返される位相速度はメートル毎秒なので、単位の統一が重要です。センチメートルの値をメートルとして入力すると、想定水深は百倍、速度は十倍になります。計算では重力加速度と水深を乗算し、その正の平方根を取ります。したがって、水深を四倍にすると速度は二倍になりますが、水深を二倍にしても速度は二の平方根倍にしかなりません。この物理モデルには正の重力加速度と水深が必要なため、ゼロ、負数、有限でない値、宣言済み上限を超える値は拒否し、Infinity や NaN のような誤解を招く JSON を返しません。
実際の環境に合わせて結果を解釈する
phase_speed_m_s は、均一な水深における理想的で線形な長波の、一定位相が進む速さを示します。非分散の浅水極限では群速度も位相速度とほぼ等しいため、潮汐信号や津波波群の伝播を見積もる最初の値として使えます。ただし、実際の海岸では注意が必要です。経路に沿って水深が変化し、流れが地面に対する伝播速度を増減させます。また、摩擦、屈折、浅水変形、砕波、有限振幅、複雑な海底地形も到達時刻や波形に影響します。水深が変わる経路では、区間ごとの局所速度を計算し、各区間長をその速度で割った時間を合計してください。単一の平均水深では、重要な低速区間を見落とす場合があります。短い波には、この式ではなく完全な線形分散関係を使用します。応答には入力値、代入後の式、有効性の注意が含まれるため、表計算、報告書、教材、自動処理でも計算根拠を確認できます。
活用例
長波の伝播時間を概算する
海底地形の各区間で局所速度を求め、区間長を速度で割って、津波や潮汐の到達時間を一次近似します。
沿岸モデルの入力を検証する
一定水深の試験条件で、長波のシミュレーション速度を解析的な基準 sqrt(g h) と比較します。
水深への依存性を説明する
長波が深い水ほど速く進み、水深を二倍ではなく四倍にすると位相速度が二倍になることを示します。
よくある質問
計算機の料金はいくらですか?
このページのブラウザー上では無料で実行できます。API の各リクエスト料金は $0.002 です。
どの式を使用しますか?
c = sqrt(g h) を使用します。c は位相速度、g は重力加速度、h は静水深です。
この式はいつ有効ですか?
波長が水深より十分に長い長波に有効です。一般的な目安では、水深を波長のおよそ二十分の一未満とします。
どの単位で入力すればよいですか?
水深はメートル、重力加速度はメートル毎秒毎秒で入力してください。結果はメートル毎秒で返されます。
結果に流れの影響は含まれますか?
含まれません。理想的な浅水近似で静水に対する速度を求めます。流れは地面に対する速度を変化させます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/optics/shallow-water-wave-speed \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"water_depth":10}'const res = await fetch("https://api.kit.forhosting.com/optics/shallow-water-wave-speed", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"water_depth": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/optics/shallow-water-wave-speed",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"water_depth": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/optics/shallow-water-wave-speed", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"water_depth":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"water_depth":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/optics/shallow-water-wave-speed", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"water_depth": 10
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "optics.shallow_water_wave_speed",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |