反応速度式計算機
kが0.5、Aが0.1(一次)、Bが0.2(二次)なら、反応速度は0.002、全体の反応次数は3です。kと、各反応物の濃度と次数を入れると、速度と各項の値が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
処理はブラウザ内で完結します。ファイルは送信されません。無料でご利用いただけます。
化学速度論の教科書では、経験的な反応速度式を、速度がkに各反応物濃度を反応次数乗した積を掛けたものとして書きます。この式は実験室での濃度測定と、ある瞬間に生成物がどれだけ速く生じるかを結び、微分方程式を積分したり反応器モデルを組む前に学生が踏む最初の一歩です。本機能はべき乗則形式を決定的に評価します。有限の速度定数と、濃度と次数を持つ種の一覧を送ると、数値速度、全次数、種ごとの因子、読みやすい式文字列が返り、課題チェッカー、チュータリングアプリ、軽量なプロセスパイプラインにそのまま使えます。
授業での使い道と知っておきたい制限
宿題確認、講義デモ、簡単なラボ健全性チェックには、表計算テンプレートやローカル速度論パッケージを入れずにブラウザ無料の反応速度式計算機を呼び出します。次の問いが減衰後の残量なら半減期ツールと、速度から Kc 式へ進むなら平衡定数計算機と組み合わせます。
極端な濃度と次数の組み合わせでは浮動小数点のべきがオーバーフローし得るため、採点オラクルでは教室規模の入力に留め、継続的インテグレーションでは中庸な大きさを好みます。元入力は他の KIT parse 項目と同じ保持規則に従い、アルゴリズムが完全に決定的なので結果をフィクスチャに固定しても安全です。学生が多反応物の速度式を手で展開するときと同じ内訳です。
活用例
宿題・試験の検算
学生が k と次数付き濃度を速度式に入れ、返された速度と全次数を照合し、誤って負の濃度を送ったときは明確なエラーを受け取ります。
実験ノートとセンサーの健全性確認
教育ラボや小さなプロセススクリプトが、測定濃度で経験的速度式を評価し、単位ミスや不可能な負の読み取りを次の解析前に見つけます。
よくある質問
濃度が負のときどうなりますか?
本計算機では負の濃度は許可されず、エラーは課金なしで返されます。
次数は分数やゼロでもよいですか?
はい。 反応次数は経験的速度式と同様にゼロ・整数・分数が許されます。負の次数で濃度ゼロはべきが未定義のため拒否されます。
時間にわたって速度を積分しますか?
いいえ。 本機能は瞬間のべき乗則速度のみを評価します。半減期減衰後の残量には、専用の半減期計算機を使ってください。
反応次数は負の値でもよいですか?
かまいません。教科書の経験式と同じく、次数はゼロ、正、分数、負のいずれでも入力できます。受け付けないのは濃度0に負の次数を組み合わせた場合だけで、その累乗は定義できないためです。
反応速度はどの単位で表示されますか?
入力した値から決まる単位です。kの単位を濃度と時間の単位に合わせておけば、速度はkと濃度の項の積として、たとえばモル毎リットル毎秒で得られます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/chem/rate-law \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"k":0.5,"reactants":[{"concentration":0.1,"order":1,"name":"A"},{"concentration":0.2,"order":2,"name":"B"}]}'const res = await fetch("https://api.kit.forhosting.com/chem/rate-law", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"k": 0.5,
"reactants": [
{
"concentration": 0.1,
"order": 1,
"name": "A"
},
{
"concentration": 0.2,
"order": 2,
"name": "B"
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/rate-law",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"k": 0.5,
"reactants": [
{
"concentration": 0.1,
"order": 1,
"name": "A"
},
{
"concentration": 0.2,
"order": 2,
"name": "B"
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/rate-law", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"k":0.5,"reactants":[{"concentration":0.1,"order":1,"name":"A"},{"concentration":0.2,"order":2,"name":"B"}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"k":0.5,"reactants":[{"concentration":0.1,"order":1,"name":"A"},{"concentration":0.2,"order":2,"name":"B"}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/rate-law", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"k": 0.5,
"reactants": [
{
"concentration": 0.1,
"order": 1,
"name": "A"
},
{
"concentration": 0.2,
"order": 2,
"name": "B"
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.rate_law",
"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 エラーで拒否され、不良センサーデータや符号ミスが静かに無意味な速度を生むことはありません。
速度式が計算する内容と入力の準備方法
速度を、kに i についての括弧 A 下付き i 括弧の n 下付き i 乗の積を掛けた形で書きます。各 n 下付き i はその反応物に関する反応次数、k は濃度と時間に整合する単位の速度定数です。単一種の二次反応では k に濃度の二乗、A が一次で B が二次なら k に A に B の二乗を掛けます。次数は教科書の経験則と同様にゼロ・正・分数・負が許されますが、負の次数で濃度ゼロはべきが未定義のため拒否されます。必須フィールド k は JSON 数値または数値文字列として送り、別名 rate_constant、rateConstant、constant も受け付けます。reactants は空でないオブジェクト配列として送り、各オブジェクトに concentration(別名 conc、c、molarity、M)と order(別名 reaction_order、power、exponent、n)が必要で、表示用の任意の name や種ラベルを含めても構いません。濃度は有限かつ非負でなければならず、負の濃度は物理的意味がなく誤解を招くべき乗になるため invalid_input です。エンジンは Worker の isolate 安全のため種リストを三十二種までに制限しつつ、教室の多反応物演習と単純な産業例をカバーします。入力が同一なら常に同一の JSON が返り、経路は純算術でネットワークも乱数種も壁時計も使いません。
速度・全次数・因子・式文字列の読み方
reactants 配列が契約の構造的中核で、各要素に任意の name、concentration、order、濃度をその次数乗した factor が含まれます。expression は例えば速度がゼロポイント五に括弧 A 括弧に括弧 B 括弧の二乗を掛けた、といった読みやすい一行を UI やワークシート向けに組み立てます。単位の整合はご自身で保ってください。成功時、応答は表示安定化のため丸めた k、reactant_count、各反応次数の和に等しい overall_order を返します。concentration_product はそれらの因子を掛け合わせて k に掛かる積にし、rate はその積に k を掛けた値、つまり入力が示唆する単位での瞬間速度です。method ラベルは常に rate_law で、下流コードは形状を嗅がずに分岐できます。センサーパイプラインがスカラーだけ必要なら rate のみ、採点ソフトが各べきを個別に見るなら reactants と factors、教材で基本・非基本スキームを分類するなら overall_order を使います。k 欠落、reactants 欠落、空配列、非有限数、負の濃度はすべて invalid_input で失敗し課金されません。このエンドポイントは数を掛けるだけで、モル濃度をミリモルに、分を秒に換算しません。
API の使い方、料金、教室ワークフロー、実用上の制限
必須の速度定数 k と concentration・order オブジェクトの reactants 配列を含む JSON 本体を送ってください。チュータリング基盤、コーディング評価サンドボックス、カリキュラム生成、プロセス制御スクリプトが KIT 残高下で安定契約を必要とするときはプリペイド API を使い、成功一件あたり $0.002;検証失敗はエンジン拒否後に残高を消費しません。SDK を出す著者は reactants 配列を concentration・order・factor 列の UI 表に直接写せます。
連携の活用例
チュータリングとカリキュラム生成
レッスン作成ツールが、完全な CAS を埋め込まずに構造化 JSON で多反応物の解答例を作り、ドリルや自動採点の速度論問題に使います。
技術的な質問
この反応速度式計算機で反応速度をどう求めますか?
k を速度定数に、reactants を concentration と order を持つオブジェクト配列にした JSON を送ります(例:k: 0.5 と二種)。応答に rate、overall_order、factors、expression 文字列が含まれます。
反応速度式計算機は無料ですか?
ブラウザツールは端末上で無料です。API 呼び出しはプリペイド KIT 残高を成功一件あたり $0.002 で使い、検証失敗は課金されません。