反射防止コート膜厚計算
単層反射防止コートに必要な膜厚を求めます。550 nm、屈折率1.38なら膜厚は100 nm弱で、光学的厚さは137.5 nmです。計算の手順も一緒に表示されます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 設計波長
- 550
- コーティングの屈折率
- 1.38
- 厚さ
- 99.6376811594
- 光学的厚さ
- 137.5
- 四分の一波長
- 137.5
ガラス・シリコンなどの光学面に施す単層反射防止コートは、選んだ真空中の設計波長で1/4波長層になるよう設計され、空気–膜および膜–基板の界面からの反射が破壊的干渉で打ち消されるようにします。設計者、成膜担当者、学生は、設計波長と膜の屈折率から成膜工程が狙うべき物理膜厚へ確実に換算する手段を必要とします。本反射防止コート膜厚計算機は設計波長λとコート屈折率nを受け取り、古典的な1/4波長関係 t = λ/(4n) を適用し、λと同じ長さ単位の物理膜厚と光学膜厚、答えの横に示せる短い手順一覧を返します。
1/4波長反射防止コートとは何か、膜厚が λ/(4n) である理由
光が薄膜を挟む二つの連続界面で反射すると、二つの反射光の光路差は膜の光学膜厚—物理膜厚 t と膜屈折率 n の積—に依存します。垂直入射と設計真空波長 λ では、光学膜厚 n·t を λ の1/4にすると、二つの反射波は位相で半波長分ずれます(低屈折率から高屈折率への反射に伴う位相跳びを考慮したうえで)。
この半波長の位相差は、二つの反射の振幅が同程度のとき反射光に破壊的干渉を生じさせ、ガラスなど透明基板上の単層ARコートの目的そのものです。n·t = λ/4 を物理膜厚について解けば直ちに t = λ/(4n) となります。式は単位が一貫しています。
λ をナノメートルで入れれば t もナノメートルで返り、マイクロメートルやメートルで扱うなら両辺で同じ単位を保ってください。コート指数 n は無次元であり、実材料は分散性があるため設計波長での値を用いる必要があります。可視域ガラス向けの典型的な単層膜はフッ化マグネシウムで n ≈ 1.38 付近、赤外では他の低屈折率フッ化物や酸化物が使われます。
本計算機は反射ゼロに最適な指数(理想的には基板指数の平方根付近)を選びません。与えられた λ と n を、成膜装置や工程レシピが必要とする1/4波長膜厚へ変換するだけです。
膜厚計算が役立つ場面
光学成膜工場や薄膜プロセス技術者は、レンズ・窓・センサへの単層AR成膜レシピを固める際に1/4波長膜厚計算機を使います。特に設計波長が製品系列間で変わる場合(例: 明所視ピーク 550 nm 対レーザ 1064 nm や通信 1550 nm)に有用です。
教育実験室や光学の授業では、学生がノートから呼び出せる決定論的オラクルが必要で、毎回手で位相条件を導出し直す必要がなくなります。計測器メーカーや MES は、物理膜厚を追う水晶振動子モニタやエリプソメトリのフィードバックループの設定値生成に同じ式を埋め込みます。検証失敗は残高を消費しません。
活用例
成膜レシピの設定値
設計波長と膜指数を、ガラスまたはシリコン上の単層AR成膜用の1/4波長物理膜厚へ変換します。
光学実験と課題の検算
学生が MgF₂ などの膜について教科書問題と照合し、手計算ミスなく t = λ/(4n) を検証できるようにします。
MES・モニタの目標値
設計線や材料指数が SKU 間で変わるとき、プロセス制御スクリプトに決定論的な膜厚目標を供給します。
よくある質問
計算機はどの単位を使いますか?
波長と膜厚には一貫した任意の長さ単位(nm、µm、m など)を使えます。屈折率は無次元です。 応答は単位換算を行いません。UI でラベル付けしてください。
反射ゼロに理想的なコート指数を選びますか?
本ツールはご指定の n と λ に対する1/4波長膜厚のみを計算します。
550 nmの光に対する反射防止コートの厚さはどれくらいですか?
コートの屈折率が1.38なら、1/4波長層の厚さは100 nm弱です。550を4×1.38で割って求め、光学的厚さは波長のちょうど4分の1の137.5 nmです。
1/4波長反射防止コートの式は何ですか?
物理的な膜厚は、設計波長をコートの屈折率の4倍で割った値、t = λ/(4n)です。結果は波長に使ったのと同じ長さの単位で表されます。
1/4波長の層で反射が減るのはなぜですか?
膜の表面と裏面で反射した光の間に半波長のずれが生じ、強さが近ければ2つの反射波が弱め合う干渉で打ち消し合うためです。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/optics/antireflection-coating-thickness \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"design_wavelength":550,"coating_refractive_index":1.38}'const res = await fetch("https://api.kit.forhosting.com/optics/antireflection-coating-thickness", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"design_wavelength": 550,
"coating_refractive_index": 1.38
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/optics/antireflection-coating-thickness",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"design_wavelength": 550,
"coating_refractive_index": 1.38
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/optics/antireflection-coating-thickness", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"design_wavelength":550,"coating_refractive_index":1.38}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"design_wavelength":550,"coating_refractive_index":1.38}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/optics/antireflection-coating-thickness", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"design_wavelength": 550,
"coating_refractive_index": 1.38
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "optics.antireflection_coating_thickness",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
無効な波長や非正の屈折率は invalid_input で失敗し、課金されません。
入力契約、応答形、エラー時の挙動
各値は厳密に正でなければなりません。ゼロまたは負の波長は設計線として物理的でなく、非正の屈折率はこの式に対する有効な絶対膜指数ではありません。応答にはご自身の単位ラベルを付けてください。必須の有限数を二つ含む JSON 本体を POST してください。design_wavelength(別名 wavelength, lambda, wl)は任意の長さ単位での設計真空波長、coating_refractive_index(別名 n, refractive_index, n_coating, index)はその波長での膜屈折率です。両フィールドは JSON 数値でも数値文字列でも構いません。欠落フィールド、空文字列、非数値、NaN、Infinity はフィールド名付きの invalid_input で失敗します。成功時は丸め済みの design_wavelength と coating_refractive_index を返し、thickness(物理膜厚 t)、optical_thickness(構成上 λ/4 に等しい n·t)、quarter_wavelength(λ/4)、t = λ/(4·n) を再掲する formula 文字列、読みやすい message、代入の steps 配列を返します。例: λ = 550、n = 1.38(MgF₂ コートガラスの一般的な可視設計)では 550 をナノメートルとみなすと膜厚 ≈ 99.637681159420 ナノメートルです。API は意図的に単位を暗黙にし、一つのエンドポイントで nm・µm・SI のワークフローを変換表なしに扱えます。
ARコート膜厚 API が役立つ場面
リクエストを小さく保ち、丸めた膜厚をテストに固定すれば、フルの薄膜スタック最適化器を立てずに成膜レシピ、LMS プラグイン、エッジワーカー向けに再現可能な1/4波長膜厚が得られます。
技術的な質問
1/4波長ARコートの膜厚はどう計算しますか?
正の design_wavelength λ と正の coating_refractive_index n を送ってください。API は λ と同じ長さ単位の物理膜厚 t = λ/(4n) と光学膜厚 n·t = λ/4 を返します。
波長や n がゼロまたは負の場合は?
タスクは invalid_input で失敗します。design_wavelength と coating_refractive_index はともに厳密に正の有限数でなければなりません。
反射防止コート膜厚計算機の料金は?
ブラウザツールは無料です。API リクエストは成功1回あたり $0.002 の前払い KIT 残高を使用し、無効入力は課金されません。