光度から毎秒の光子束を求める計算機
この計算機は、単色光源のパワーを1秒当たりに放出される光子数へ変換します。パワーをワット、波長をメートルで入力してください。プランク定数、光速、波長から光子1個のエネルギーを求め、その値でパワーを割ります。天文学、分光法、レーザー、光通信、検出器の設計など、放射パワーを光子放出率で表す場面に適しています。
無料で実行
単色光のパワーを光子数レートへ換算します
パワーは単位時間に移動するエネルギーを表し、1ワットは1秒当たり1ジュールです。一方、光子数レートは、そのエネルギーを毎秒いくつの光子が運ぶかを表します。単色光では各光子のエネルギーが同じなので、直接換算できます。計算機は E = h c / lambda を使用します。hは厳密なプランク定数、cは真空中の厳密な光速、lambdaはメートル単位の波長です。続いて N = P / E、すなわち N = P lambda / (h c) を計算します。結果の単位は光子毎秒です。同じパワーなら、長波長ほど光子1個のエネルギーが小さいため光子数は多くなります。結果は入力したパワーが示す位置での理想値であり、減衰、幾何学的損失、吸収、スペクトル幅、検出器応答は含みません。
整合したパワーと波長を入力します
パワーはワットで入力してください。ミリワットは千で、マイクロワットは百万で割ってから入力します。パワーがゼロなら結果もゼロですが、負値は使用できません。波長はメートル単位の正数にしてください。たとえば500ナノメートルは5e-7メートルです。科学表記を使うと小さな光学量を正確に入力できます。未入力、文字列、無限大、負のパワー、ゼロ以下の波長は拒否されます。また、光源は1つの波長で適切に表せる単色光である必要があります。広帯域光源に中心波長だけを使う結果は近似です。厳密な総光子数を得るには、全スペクトルにわたりスペクトルパワーを各波長の光子エネルギーで割って積分する必要があります。
観測装置に合わせて結果を解釈します
返される値は、入力パワーが定義された位置に対応します。光源でのパワーなら放出率を、フィルター、ファイバー、望遠鏡の後で測ったパワーならその位置での光子率を示します。検出器のカウント率と自動的に同じになるわけではありません。光学透過率はセンサーに届く光子を減らし、量子効率は測定イベントを生む割合を決めます。予想カウント数には、幾何学的な集光率、各透過率、対象波長での検出効率を掛けてください。パルス光源では平均パワーから平均レートが得られ、パルス当たりの光子数にはパルスエネルギーを光子エネルギーで割ります。入力値と効率を結果と共に保存すると検証しやすくなります。実装はネットワーク、時刻、乱数、保存状態を使用しません。APIは1回$0.002です。
活用例
単色光源の放出量を見積もります
既知の放射パワーと波長を毎秒の光子放出数へ変換します。
天文観測を計画します
集光した単色パワーを、各効率を適用する前の入射光子率へ変換します。
光検出器の収支を確認します
理想光子率を透過率、量子効率、予想カウントの計算に利用します。
よくある質問
どの式を使用しますか?
E = h c / 波長で光子エネルギーを求め、毎秒の光子数 = パワー / E とします。
入力する単位は何ですか?
パワーはワット、波長はメートルに換算して入力してください。
波長が正数でなければならない理由は何ですか?
ゼロでは式が定義できず、負の波長はこの計算では無効だからです。
広帯域光にも使えますか?
代表波長では近似に限られます。正確な計算にはスペクトル積分が必要です。
結果は検出器のカウント率ですか?
必ずしも同じではありません。損失、透過率、量子効率を別途適用してください。
API計算の料金はいくらですか?
APIリクエスト1回当たり$0.002です。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/astro/photon-flux-from-power \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"power_w":1,"wavelength_m":5e-7}'const res = await fetch("https://api.kit.forhosting.com/astro/photon-flux-from-power", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"power_w": 1,
"wavelength_m": 5e-7
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/astro/photon-flux-from-power",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"power_w": 1,
"wavelength_m": 5e-7
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/astro/photon-flux-from-power", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"power_w":1,"wavelength_m":5e-7}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"power_w":1,"wavelength_m":5e-7}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/astro/photon-flux-from-power", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"power_w": 1,
"wavelength_m": 5e-7
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "astro.photon_flux_from_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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |