ブラッグの法則による結晶面間隔計算ツール
このブラッグの法則による面間隔計算ツールは、測定したブラッグ角、既知のX線波長、回折次数から、平行な結晶格子面の間隔を求めます。標準式 n lambda = 2 d sin(theta) を適用し、結果をメートル、ナノメートル、ピコメートル、オングストロームで表示します。外部データを使わない決定論的な計算であるため、回折測定の確認、結晶学の学習、再現可能な実験手順の作成にご利用いただけます。
無料で実行
ブラッグの法則で用いる角度をご入力ください
式に用いる角度はブラッグ角 theta であり、入射X線と反射する格子面の間の角度です。多くの回折計では、入射線と回折線の間の角度を記録するため、横軸が 2 theta と表示されます。測定ピーク位置が 2 theta で示されている場合は、その値を2で割ってから angle_deg にご入力ください。theta と 2 theta の取り違えは、面間隔が誤る代表的な原因です。本ツールでは、0度より大きく90度より小さい角度のみを受け付けます。内部で度をラジアンに変換してから正弦を計算するため、入力には実験で使われる度をそのままお使いいただけます。精度が重要な場合は、バックグラウンド除去とピークフィッティングを行い、一貫した方法でピーク位置を決定してください。計算結果は測定角度の不確かさを引き継ぎます。特に小角では、わずかな角度誤差でも面間隔が大きく変わることがあります。本ツールは中心値のみを計算し、装置分解能やピーク幅から不確かさ区間を推定しません。
実験に合う波長と回折次数をご指定ください
X線波長には正の数をご入力いただき、単位を明示的にお選びください。結晶学ではオングストロームが一般的ですが、ナノメートル、ピコメートル、メートルにも対応しています。たとえば Cu K-alpha 線の波長は 1.54 オングストローム付近とされることが多いものの、実際の光源、線の選択、測定校正に合う値をご使用ください。回折次数 n は正の整数でなければなりません。通常の粉末回折の指数付けでは一次反射が使われるため、一般には n = 1 が適切な開始値です。高い次数では光路差が複数の波長に相当するため、同じ波長と角度なら、計算される d は次数に比例して大きくなります。ミラー指数を回折次数として入力しないでください。(111) は面族を表しますが、n はブラッグ方程式中の整数です。本ツールは両者を区別し、誤入力を防ぐため次数の上限を 100 としています。
計算した面間隔をご確認ください
計算では、ブラッグの法則 n lambda = 2 d sin(theta) を変形した d = n lambda / (2 sin(theta)) を使用します。選択された波長単位を最初にメートルへ変換し、計算後、同じ物理的な間隔を4種類の単位で示します。そのため、結晶学データ表、シミュレーション結果、異なる単位系のソフトウェアと容易に比較できます。ただし、数値だけで物質を同定したり、ミラー指数を割り当てたりすることはできません。参照パターンと比較する際は、相組成、系統的消滅、校正、ひずみ、ピーク重なりもご検討ください。返された d を元の式へ代入すれば、表示精度の範囲で両辺が一致することを確認できます。本計算は単色X線と通常のブラッグ幾何を前提とします。波長ダブレット、試料変位、屈折、装置のゼロシフト、不確かさは補正しません。自動処理でのAPI料金は1回あたり$0.002で、ブラウザー版も同じ決定論的ロジックを使用します。
活用例
X線回折ピークを確認する
フィッティングしたピーク角と既知の波長から面間隔を求め、参照回折パターンと比較できます。
単位を含めてブラッグの法則を学ぶ
角度、波長、回折次数が d に及ぼす影響を、一般的な結晶学単位で確認できます。
実験室の計算手順を統一する
個別の表計算式を管理せず、ノートブックやデータ処理で決定論的なAPI計算を利用できます。
よくある質問
どの式を使用しますか?
ブラッグの法則 n lambda = 2 d sin(theta) を、d = n lambda / (2 sin(theta)) に変形して使用します。
theta と 2 theta のどちらを入力しますか?
theta をご入力ください。回折計のピーク位置が 2 theta の場合は、その角度をあらかじめ2で割ってください。
対応している波長単位は何ですか?
オングストローム、ナノメートル、ピコメートル、メートルから該当する単位を選択できます。
どの回折次数を使えばよいですか?
反射に対応する正の整数次数をご使用ください。通常の粉末回折計算では一次、すなわち n = 1 が一般的です。
結果から結晶やミラー指数を特定できますか?
できません。本ツールは入力測定値から d を計算します。物質同定と指数付けには構造データや参照回折パターンとの比較が必要です。
API計算の料金はいくらですか?
APIは1回あたり$0.002です。ブラウザーでも同じ決定論的ロジックを利用できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/optics/bragg-plane-spacing \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"angle_deg":20,"wavelength":1.5406,"wavelength_unit":"angstrom","diffraction_order":1}'const res = await fetch("https://api.kit.forhosting.com/optics/bragg-plane-spacing", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"angle_deg": 20,
"wavelength": 1.5406,
"wavelength_unit": "angstrom",
"diffraction_order": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/optics/bragg-plane-spacing",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"angle_deg": 20,
"wavelength": 1.5406,
"wavelength_unit": "angstrom",
"diffraction_order": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/optics/bragg-plane-spacing", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"angle_deg":20,"wavelength":1.5406,"wavelength_unit":"angstrom","diffraction_order":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"angle_deg":20,"wavelength":1.5406,"wavelength_unit":"angstrom","diffraction_order":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/optics/bragg-plane-spacing", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"angle_deg": 20,
"wavelength": 1.5406,
"wavelength_unit": "angstrom",
"diffraction_order": 1
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "optics.bragg_plane_spacing",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_diffraction_order | 100 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |