反応エンタルピー計算
生成エンタルピーから、反応が熱を出すか吸うかが分かります。メタンが酸素中で燃えて二酸化炭素(−393.5 kJ/mol)と水2 mol(各−241.8)になる反応は−802.3 kJ/molで、発熱です。物質ごとの寄与も一覧で示され、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
処理はブラウザ内で完結します。ファイルは送信されません。無料でご利用いただけます。
標準反応エンタルピーは、定圧で反応物が生成物になるとき化学変化が熱を放出するか吸収するかを示します。釣り合い式の両側の各種について表にされた標準生成エンタルピーが与えられると、ヘスの法則は ΔH_rxn が生成物の係数×生成エンタルピーの和から反応物の同じ和を引いたものに等しいと述べます。本機能はその式を決定的に適用します。生成値と任意の係数を渡し、反応エンタルピー、生成物・反応物の和、種ごとの寄与、発熱・吸熱・熱中立の簡易分類を返します。
ヘスの法則が生成エンタルピーを ΔH_rxn にする仕組み
釣り合いの取れた化学反応式を書き、各反応物・各生成物について同じエネルギー単位(多くはキロジュール毎モル)の標準生成エンタルピーを集めます。標準状態の元素は定義により零を寄与し、化合物は教科書・実験シート・データベースの表 ΔH_f を使います。エンジンは各係数にその生成エンタルピーを掛け、生成物側を合計し、反応物側を合計して引きます。
ΔH_rxn は生成物の ΣνΔH_f から反応物の ΣνΔH_f を引いたものです。負の ΔH は書かれたまま発熱、正は吸熱、零は熱中立とラベルされます。
活用例
宿題・試験の検算
学習者が釣り合い式の生成エンタルピーと係数を入力し、返された ΔH_rxn と側和を手計算と比べ、生成値が欠けると明確なエラーを受けます。
よくある質問
生成エンタルピーが1つ抜けているとどうなりますか?
計算は止まり、どの物質の値が抜けているかがメッセージで示されます。表のデータを勝手に補うことはないので、空欄を埋めてからもう一度計算してください。
O2のような単体の生成エンタルピーはいくつですか?
標準状態の単体は定義により0です。省かずに0と入力すれば、その物質は係数とともに一覧に残り、和には何も加えません。
2分の1のような分数の係数も使えますか?
使えます。係数は釣り合った反応式に合わせ、酸素の2分の1のような分数も入力できます。係数は正の値である必要があり、省いた係数は1として扱われます。
ΔHがマイナスなら発熱反応ですか?
はい。マイナスの結果は、書いたとおりの反応で熱が放出される発熱反応を意味します。プラスなら吸熱反応で、0なら熱的に中立と表示されます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/chem/enthalpy-reaction \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"reactants":[{"name":"CH4","enthalpy_formation":-74.8,"coefficient":1},{"name":"O2","enthalpy_formation":0,"coefficient":2}],"products":[{"name":"CO2","enthalpy_formation":-393.5,"coefficient":1},{"name":"H2O","enthalpy_formation":-241.8,"coefficient":2}]}'const res = await fetch("https://api.kit.forhosting.com/chem/enthalpy-reaction", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"reactants": [
{
"name": "CH4",
"enthalpy_formation": -74.8,
"coefficient": 1
},
{
"name": "O2",
"enthalpy_formation": 0,
"coefficient": 2
}
],
"products": [
{
"name": "CO2",
"enthalpy_formation": -393.5,
"coefficient": 1
},
{
"name": "H2O",
"enthalpy_formation": -241.8,
"coefficient": 2
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/enthalpy-reaction",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"reactants": [
{
"name": "CH4",
"enthalpy_formation": -74.8,
"coefficient": 1
},
{
"name": "O2",
"enthalpy_formation": 0,
"coefficient": 2
}
],
"products": [
{
"name": "CO2",
"enthalpy_formation": -393.5,
"coefficient": 1
},
{
"name": "H2O",
"enthalpy_formation": -241.8,
"coefficient": 2
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/enthalpy-reaction", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"reactants":[{"name":"CH4","enthalpy_formation":-74.8,"coefficient":1},{"name":"O2","enthalpy_formation":0,"coefficient":2}],"products":[{"name":"CO2","enthalpy_formation":-393.5,"coefficient":1},{"name":"H2O","enthalpy_formation":-241.8,"coefficient":2}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"reactants":[{"name":"CH4","enthalpy_formation":-74.8,"coefficient":1},{"name":"O2","enthalpy_formation":0,"coefficient":2}],"products":[{"name":"CO2","enthalpy_formation":-393.5,"coefficient":1},{"name":"H2O","enthalpy_formation":-241.8,"coefficient":2}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/enthalpy-reaction", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"reactants": [
{
"name": "CH4",
"enthalpy_formation": -74.8,
"coefficient": 1
},
{
"name": "O2",
"enthalpy_formation": 0,
"coefficient": 2
}
],
"products": [
{
"name": "CO2",
"enthalpy_formation": -393.5,
"coefficient": 1
},
{
"name": "H2O",
"enthalpy_formation": -241.8,
"coefficient": 2
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.enthalpy_reaction",
"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 で失敗します。サーバーや SDK が同じ契約を必要とする場合、前払い API は成功1件あたり $0.002 を課金します。
ヘスの法則が生成エンタルピーを ΔH_rxn にする仕組み
reactants と products の二つの配列を送ってください。各種オブジェクトは有限数の enthalpy_formation を含める必要があり、省略時の任意 coefficient は既定で1で、釣り合いの化学量論係数(酸素の1/2など分数を含む)に合わせます。CH4 や H2O などの任意 name ラベルは報告で JSON を読みやすくしますが数学は変えません。いずれかの種の生成エンタルピー欠落、空配列、非正係数、非有限数は invalid_input を起こし課金されません。経路はネットワーク・モデル・乱数種・壁時計のない純算術なので、同一入力は常に同一 JSON を返します。
応答の読み方:和・寄与・分類
classification は ΔH が負なら exothermic、正なら endothermic、零なら thermoneutral で、クライアント側で符号を再導出しなくても十分な簡易ラベルです。エンジンは単位変換をしません。kJ と kcal を混ぜると誤った数になるので、要求全体で一つのエネルギー単位を保ってください。生成エンタルピー欠落を述べる検証メッセージは種インデックスを示すので、スタックトレースを読まずに空セルを直せます。成功時の応答には delta_h、別名 delta_H、enthalpy_reaction(いずれも計算された反応エンタルピー)と、表示単位文字列を送らない限り既定 kJ/mol の unit が含まれます。sum_products と sum_reactants は二つの中間ヘス和を示し、学習者が項ごとに検算できます。reactants と products 配列は提供時の name、coefficient、enthalpy_formation、係数×生成エンタルピーの contribution をエコーします。reactant_count と product_count は UI 表用の配列長です。formula はヘス恒等式を短い文字列で再掲し、method は常に hess_formation_enthalpies なので下流は形を嗅がずに分岐できます。表計算や成績簿が1数値だけ必要なら delta_h を、実験報告で二酸化炭素と水がそれぞれメタン燃焼エンタルピーを下げる様子を示すなら寄与列を使います。
API の使い方・料金・授業ラボと実用上の限界
ブラウザ無料の反応エンタルピー計算器を宿題確認・講義デモ・素早い実験準備に使い、熱化学パッケージのインストールは不要です。検証失敗はエンジン拒否後に残高を消費しません。次が ΔH_f 図からの空欄埋めなら自前の生成表参照と、まず式を釣り合わせるなら量論補助と組み合わせてください。学習者が生成データからヘスの法則を手計算する列と同じです。必須配列 reactants と products を持つ JSON 本体を送ってください。SDK が文書化する限り reactant、left、product、right のエイリアスを受け付けます。種ごとの生成エイリアスには delta_hf、dhf、hf、formation_enthalpy、Hf があり、係数エイリアスには coeff、nu、stoich、n があります。個別指導プラットフォーム、LIMS 連携、プロセス安全シート、教材生成器が KIT 残高下で成功1件あたり $0.002 の安定契約を必要とするときは前払い API を使います。種リストは Worker isolate の安全のため上限がありつつ、通常の多反応物の教室・産業教育例をカバーします。SDK 作者は name・coefficient・ΔH_f・contribution の表へ寄与配列を写せます。
連携の活用例
教材アプリと自動採点ドリル
教材ツールが構造化 JSON でヘス法則の演習を作り、完全な熱化学データベースを埋め込まずにカードやルーブリックや段階表に使います。
実験ノートとプロセス計算
スクリプトが渡された ΔH_f 表を、安定した前払い endpoint 経由で安全シート・エネルギー収支・教育デモ用の反応エンタルピーに変換します。
技術的な質問
生成エンタルピーから反応エンタルピーをどう計算しますか?
reactants と products 配列の JSON を送ってください。各種に enthalpy_formation が必要で、coefficient は任意です。応答の delta_h は生成物寄与の和から反応物寄与の和を引いた値です。
生成エンタルピーが欠けるとどうなりますか?
要求は invalid_input で失敗し、enthalpy_formation が無い種のインデックスを示します。エンジンは表を参照せず値を捏造しません。
ΔH_f = 0 の元素は許されますか?
はい。標準状態の元素には enthalpy_formation: 0 を送ってください。零は有効な有限値で、欠落または非有限の生成フィールドだけが拒否されます。
反応エンタルピー計算は無料ですか?
ブラウザツールは端末上で無料です。API 呼び出しは成功1件あたり $0.002 の前払い KIT 残高を使い、検証失敗は課金されません。
負の ΔH は反応が発熱であることを意味しますか?
書かれたままでははいです。classification は delta_h が負なら exothermic、正なら endothermic、零なら thermoneutral です。式を逆にすると符号も反転します。