二物質混合物の最終温度計算
2つの物体が最終的にそろう温度を求めます。20 °Cの水100 gと80 °Cの金属50 gでは、水の熱容量418が金属の45を大きく上回るため、20 °Cより数度高いところで落ち着きます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 物質1の質量
- 100
- C1
- 4.18
- T1
- 20
- 物質2の質量
- 50
- C2
- 0.9
- T2
- 80
- 熱容量1
- 418
- 熱容量2
- 45
- 合計熱容量
- 463
- 最終温度
- 25.8315334773
温度の異なる二物質を熱接触させ、周囲へ熱が逃げないとき、エネルギーは両者が一つの平衡温度を共有するまで流れます。その最終温度は、二つの初期温度を熱容量で重み付けした平均です。各体の質量と比熱の積が、混合物をどれだけ引き寄せるかを決めます。学生、実験準備ツール、熱量測定風のパイプラインは CAS を入れずに安定した契約を得ます。
熱平衡の式と適用条件
比熱が一定で相変化のない二体についてエネルギー保存を書きます。一方が失う熱は他方が得る熱に等しく、言い換えれば各物質の m c に温度変化を掛けた和はゼロです。
m1 c1 の Tf マイナス T1 と m2 c2 の Tf マイナス T2 の和をゼロと展開し Tf について解くと、古典的な加重平均 Tf =(m1 c1 T1 + m2 c2 T2)/(m1 c1 + m2 c2)が得られます。
グラムとジュール毎グラム毎セルシウス、キログラムとジュール毎キログラム毎ケルビンなど、一貫した単位系を用い、両物質で質量単位・比熱単位・温度目盛を揃えてください。ケルビンの絶対温度とセルシウスの間隔は差については同じ働きをします。T1 と T2 は同一目盛に保ちます。
モデルは環境から完全に断熱され、混合や接触が他の熱経路が効く前に終わることを仮定します。氷の融解などの相変化には潜熱項が必要で、本製品には含まれません。二物質の純顕熱平衡については、この式が教室と実験室の標準です。
経路は純算術で、ネットワークも乱数シードも壁時計もありません。
授業や実験での使い方
講義デモ、実験ノート確認、手計算の素早い検証に、Mathematica や表計算テンプレート、ローカル物理スタックを入れずにブラウザ無料の最終温度混合物計算を呼び出してください。検証失敗はエンジン拒否後に残高を消費しません。
一物質だけの Q = m c ΔT が必要なときは単体比熱計算と、チャールズやゲイ=リュサックを意図するときは気体の最終温度ツールと組み合わせます。ソース入力の保持規則は他の KIT parse 項目と同じです。採点オラクルには教室規模の数を保ち、選んだ単位系を文書化して採点者と学習者が一貫するようしてください。
活用例
宿題と実験の平衡問題
学生は熱い金属と冷たい水(または二つの液体)を混ぜ、質量・比熱・初期温度を送り、計算された平衡温度を手計算と比較します。
よくある質問
合計熱容量がゼロのときはどうなりますか?
m1*c1 + m2*c2 がゼロのとき、この式から定義される平衡温度はなく、エンジンは入力を拒否し課金しません。
どの単位を使うべきですか?
一貫した系なら何でも構いません(例:g と J/(g·°C)、または kg と J/(kg·K))。両物質で質量単位・比熱単位・温度目盛を揃えてください。
相変化や潜熱は含まれますか?
いいえ。 本製品は顕熱の熱平衡のみをモデル化します。融解・凝固・沸騰には潜熱項が必要で、この契約の外です。
空気や容器に逃げる熱は考慮されますか?
いいえ。2つの物質は周囲から完全に断熱され、ほかの熱の出入りが効いてくる前に平衡に達すると仮定しています。空気や容器へ逃げる熱は計算に含まれません。
片方の質量がゼロのときはどうなりますか?
もう一方の物質に熱容量があれば計算できます。その場合、最終温度はもう一方の物質の初期温度と同じになります。熱をためるのがその物質だけだからです。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/chem/final-temperature-two-substances \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"m1":100,"c1":4.18,"t1":20,"m2":50,"c2":0.9,"t2":80}'const res = await fetch("https://api.kit.forhosting.com/chem/final-temperature-two-substances", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"m1": 100,
"c1": 4.18,
"t1": 20,
"m2": 50,
"c2": 0.9,
"t2": 80
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/final-temperature-two-substances",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"m1": 100,
"c1": 4.18,
"t1": 20,
"m2": 50,
"c2": 0.9,
"t2": 80
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/final-temperature-two-substances", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"m1":100,"c1":4.18,"t1":20,"m2":50,"c2":0.9,"t2":80}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"m1":100,"c1":4.18,"t1":20,"m2":50,"c2":0.9,"t2":80}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/final-temperature-two-substances", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"m1": 100,
"c1": 4.18,
"t1": 20,
"m2": 50,
"c2": 0.9,
"t2": 80
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.final_temperature_two_substances",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
本機能は六つの数—m1、c1、T1、m2、c2、T2—から決定的に結果を計算し、各体と合計の熱容量を含む構造化 JSON を返し、合計熱容量がゼロとなる特異ケースを拒否してクライアントが黙ってゼロ除算しないようにします。
熱平衡の式と適用条件
同一入力は常に同一 JSON を生みます。
入力・出力と熱容量ゼロのエラー
有限の必須数を六つ送ります。二つの質量 m1 と m2、比熱容量 c1 と c2、初期温度 t1 と t2 です。片側だけ質量または比熱がゼロでも、他側が容量を寄与する限り許容され、その自明な場合の平衡温度は非ゼロ側に等しくなります。mass1、specific_heat1、T1、temp2、s2 などの文書化された別名を受け付けるので、課題フォームや実験スクリプトは慣れた名前を使えます。成功時の応答は丸めた入力をエコーし、heat_capacity_1 は m1 と c1 の積、heat_capacity_2 は m2 と c2 の積、total_heat_capacity はその和、final_temperature と、その同義の equilibrium_temperature を返します。formula 文字列と method thermal_equilibrium_two_substances により、下流コードは形を嗅がずにどのモデルが走ったかを断言できます。合計熱容量 m1 c1 + m2 c2 がゼロのとき、要求は invalid_input で失敗し、合計熱容量ゼロを名指しするメッセージを付けます—ゼロ除算は未定義であり、エンジンが本体を拒否したあと課金されません。欠落フィールド、非有限値、範囲外の大きさも invalid_input で失敗します。
API の使い方・料金・教室と実験の流れ
学習プラットフォーム、LMS 自動採点、熱量測定ヘルパー、プロセス工学サンドボックス、科学カリキュラム生成器が KIT 残高の下で安定契約を必要とするときはプリペイド API を使い、成功アイテムごとに $0.002 です。SDK を出荷する作者は final_temperature と total_heat_capacity を、各体の質量・比熱・初期温度と共有平衡結果を示す UI 表へ直接写せます—学生が紙の上で失熱と得熱を等しくするときの配置と同じです。
連携の活用例
学習支援と自動採点ドリル
教材作者は構造化 JSON で二体熱量測定ドリルを生成し、完全な物理 CAS を埋め込まずにフラッシュカードや自動採点器へ渡せます。
プロセスと教育のパイプライン
既知の熱容量をもつ二つのプロセス流の接触温度を見積もるスクリプトは、各言語で加重平均を再実装せず、安定したプリペイド endpoint を呼び出します。
技術的な質問
二物質混合物の最終温度はどう計算しますか?
m1、c1、t1、m2、c2、t2 を含む JSON を送ってください。応答には final_temperature=(m1 c1 T1 + m2 c2 T2) / (m1 c1 + m2 c2) と各体の熱容量が含まれます。
最終温度の混合物計算は無料ですか?
ブラウザのツールは端末上で無料です。API 呼び出しは成功アイテムごとに $0.002 のプリペイド KIT 残高を使い、検証失敗は課金されません。