反応商Q計算機
反応物が0.5と0.3(係数1と3)、生成物が0.2(係数2)なら、Qは0.04を0.0135で割った2.962962962963です。現在の濃度と係数を入れると、各段階の計算が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 現在の濃度
- 0.5, 0.3
- 反応物係数
- 1, 3
- 生成物濃度
- 0.2
- 生成物係数
- 2
- Q
- 2.962962963
- 反応商
- 2.962962963
- Qc
- 2.962962963
- 分子
- 0.04
反応商計算機は、反応物と生成物の現在の濃度を、可逆反応が平衡に達するためにどちらへシフトすべきかを示す単一の質量作用数Qに変換します。釣り合い方程式の化学量論係数と、いま測定または仮定する濃度(または整合する単位の分圧)を入力すると、各生成物濃度を係数乗した積を各反応物濃度を係数乗した積で割ったQに加え、分子・分母・読みやすい式文字列・順序付き代入手順を返します。宿題確認、ルシャトリエの推論、プロセス監視、化学ソルバの単体テストは、完全な化学平衡パッケージを開かずに同じ決定的なQを必要とします。
反応商Qの意味
一般の可逆反応 a A プラス b B 逆矢印 c C プラス d D について、反応商は質量作用式で定義されます。分子は C の c 乗と D の d 乗の積、分母は A の a 乗と B の b 乗の積で、平衡の特別な値ではなく各種の現在濃度を用います。
系が平衡にあるとき同じ代数形は K または Kc(分圧なら Kp)と呼ばれ、Q と K の違いは差し込む数が瞬間スナップショットか真の平衡値かだけです。Q と K を比べるのは一般化学の標準的な方向判定で、Q が K より小さければ生成物濃度が上がるまで正反応が有利、Q が K より大きければ逆反応が有利、一致すればすでに平衡です。
教員は算術と同じくらいゼロ反応物の拒否を重視します。反応物濃度をゼロにして Q を報告した学生は式の定義域を外れており、infinity を返すとそのモデル化エラーを隠します。
本ツールは正の任意個の反応物・生成物種を濃度と係数の並行配列として受け付けるため、単純な一対一同分異性体化、窒素一に対し水素三のハーバー法アンモニア合成、多生成物の有機スキームをクライアント書き換えなしで同じハンドラが扱います。
単位は各種で一貫している必要があります — 通常水溶液 Qc はモル毎リットル、気相 Qp はバールや気圧 — 数値 Q は正味反応次数に上げたそれらの単位を引き継ぐためです。計算機は単位換算せず、有限性と符号を検証したうえで与えられた数の乗除だけを行います。
実用のヒント・限界・関連検索
べきと積がソルバの拒否する非有限 Q に溢れないよう、濃度と係数を公開絶対範囲内に保ってください。数値文字列は厳密な有限数値パターンに一致する場合のみ受け付けます。指導では古典例を組み合わせます。
N2 プラス三 H2 逆矢印二 NH3 で窒素零点五・水素零点三・アンモニア零点二なら、Q は零点二の二乗を零点五×零点三の三乗で割った値です。固体と純液体は慣例的に Qc 式から省きます。授業が活動度一を因子として示したい場合を除き濃度一として入れないでください。
本ランディングは反応商計算機・濃度から Qc・質量作用 Q をオンラインで探す人向けであり、平衡モル分率を反復する完全平衡ソルバでも自由エネルギー最小化でも速度則フィッタでもありません。
すでに濃度と釣り合い係数があり Q だけ(またはオフラインで終える Q 対 K 比較)が必要なときに本機能を選び、文章題なら先に化学量論数とスナップショット濃度を抜き出してください。
往復確認は容易です。 各生成物濃度を係数乗した積を手計算し反応物側で割り、公開 Q と十二桁丸め内で一致することを確認し、expression と steps がその算術と一致することを確認します。
活用例
質量作用Qの宿題チェック
学習者が釣り合い方程式の係数と現在濃度を入力し、手書きのQ・分子・分母を提出前に決定的結果と比較します。
平衡前のシフト方向
実験室やプロセス監視がライブ濃度からQを計算し既知のKと比べ、正反応と逆反応のどちらが有利かを判断します。
化学ソルバの単体テスト
既知の多種Qケースと意図的なゼロ反応物拒否を、コーディング型の期待値とCIのgoldens用に生成します。
よくある質問
反応商Qとは何ですか?
Qは現在濃度を用いた質量作用式です。各生成物濃度を化学量論係数乗した積を、反応物側の同様の積で割ります。平衡では同じ形をKまたはKcと呼びます。
平衡濃度を解きますか?
いいえ。 与えた濃度と係数からQを計算するだけです。Kと初量から最終モル分率が必要なら平衡ソルバを使ってください。
固体や純粋な液体も含めるべきですか?
通常は含めません。慣例として、固体と純粋な液体は濃度の式から除きます。授業でその活量を1として明示するよう求められている場合だけ、1の因子として入力してください。
濃度の代わりに分圧を使えますか?
使えます。気相のQならbarや気圧のように、すべての物質を同じ単位にそろえてください。計算機は単位を換算せず、入力した数値をかけ算と割り算するだけです。
求めたQはどう使えばよいですか?
同じ温度でのKと比べます。QがKより小さければ正反応、大きければ逆反応が進みやすく、等しければ混合物はすでに平衡にあります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/chem/reaction-quotient \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"reactant_concentrations":[0.5,0.3],"reactant_coefficients":[1,3],"product_concentrations":[0.2],"product_coefficients":[2]}'const res = await fetch("https://api.kit.forhosting.com/chem/reaction-quotient", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"reactant_concentrations": [
0.5,
0.3
],
"reactant_coefficients": [
1,
3
],
"product_concentrations": [
0.2
],
"product_coefficients": [
2
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/reaction-quotient",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"reactant_concentrations": [
0.5,
0.3
],
"reactant_coefficients": [
1,
3
],
"product_concentrations": [
0.2
],
"product_coefficients": [
2
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/reaction-quotient", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"reactant_concentrations":[0.5,0.3],"reactant_coefficients":[1,3],"product_concentrations":[0.2],"product_coefficients":[2]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"reactant_concentrations":[0.5,0.3],"reactant_coefficients":[1,3],"product_concentrations":[0.2],"product_coefficients":[2]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/reaction-quotient", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"reactant_concentrations": [
0.5,
0.3
],
"reactant_coefficients": [
1,
3
],
"product_concentrations": [
0.2
],
"product_coefficients": [
2
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.reaction_quotient",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_abs | 1000000000000 |
max_species | 32 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
いずれかの反応物濃度がゼロだと分母が消えるため、APIは infinity や静かな NaN ではなく明確な invalid_input エラーを返します。経路は純算術 — ネットワークなし、乱数シードなし、壁時計依存なし — なので、無料のブラウザ実行と前払い API は固定小数丸めのあと毎回同じ JSON を返します。
API の呼び出し方と戻り値
片側は最大三十二種です。反応物濃度は厳密に正で、ゼロまたは一×十のマイナス十五以下の近ゼロは分母をゼロにするため拒否されます。生成物濃度はゼロでもよく、正係数の下で生成物項がすべて消えると正しく Q はゼロになります。両側の係数は厳密に正の化学量論数でなければなりません。有限数の必須非空配列四つを JSON 本体で送ってください: reactant_concentrations(別名 reactants, reactant_conc, reactant_c, left_concentrations)、reactant_coefficients(別名 reactant_nu, reactant_stoich, left_coefficients, reactant_coeff)、product_concentrations(別名 products, product_conc, product_c, right_concentrations)、product_coefficients(別名 product_nu, product_stoich, right_coefficients, product_coeff)。各濃度配列の長さは並行する係数配列と一致しなければならず、絶対値は公開上限の一兆以内に保ち、Worker とブラウザの IEEE 倍精度で中間べきが有限のままになるようにします。成功時の応答は丸めた配列をエコーし、Q・reaction_quotient・Qc を同じ丸め値に、numerator と denominator を別々の質量作用積に、formula を生成物の nu 乗積を反応物の nu 乗積で割る記号文字列に、expression を完全代入の括弧付き積文字列に、message を短い要約に、steps をテストやワークシートで検証できる順序付き代入行配列に設定します。必須欄欠落・空配列・長さ不一致・非有限数・負の濃度・非正の係数・絶対上限外・ゼロ反応物濃度などの検証失敗は invalid_input を返し課金されません。料金は成功リクエストごとに固定 $0.002、単位は item、限界単位価格はゼロです。
実用のヒント・限界・関連検索
クライアントを制御できるときは前整形文字列より JSON 数値配列を送ります。等濃度の一対一同分異性体化は Q が一、意図的なゼロ反応物は硬い invalid_input 経路を示します。invalid_input を返す失敗タスクは前払い残高を消費しないため、学習者が意図的に反応物濃度をゼロにしても探索スクリプトが安く済みます。
技術的な質問
反応物濃度がゼロだとどうなりますか?
Qの分母がゼロになりQは未定義です。本ツールは infinity や NaN の代わりに invalid_input を返します。
生成物濃度はゼロでもよいですか?
はい。生成物濃度ゼロは分子をゼロにし、係数が正なら Q = 0 となり、まだ生成物がない有効なスナップショットです。
反応商計算機は無料ですか?
ブラウザツールは無料でローカル実行です。API呼び出しは成功リクエストごとに $0.002 の前払いKIT残高を使い、失敗タスクは課金されません。