強酸添加後の緩衝液pH
強酸を加えると緩衝液のpHがどこまで下がるかを求めます。pKa 4.76で弱酸と共役塩基が各0.1 molの液に0.02 molを加えると、0.12 molと0.08 molになり、pHは4.583908740944です。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- Pka
- 4.76
- 酸のモル数
- 0.1
- 塩基のモル数
- 0.1
- 添加したモル数
- 0.02
- 最終的な酸のモル数
- 0.12
- 最終的な塩基のモル数
- 0.08
- 比
- 0.6666666667
- 対数比
- -0.1760912591
弱酸緩衝液に強一塩基酸を加えると、共役塩基A−がプロトン化されてHAが増え、対のモル比が変化し、最終モルに基づくHenderson–Hasselbalch式に従って緩衝液のpHが下がります。学生、実験技術者、処方ツールは、毎回手計算で化学量論を組み立て直すことなく、その新しいpHを必要とします。本機能はpKa、弱酸と共役塩基の初期モル数、加えた強酸のモル数を受け取り、A−とH+からHAが生成する反応を適用し、添加後のpHと中間のモル量・比・対数比を返します。
弱酸緩衝液への強酸添加の化学量論
既知のpKaと、未解離酸HAおよび共役塩基A−の初期モル量をもつ閉じた弱酸緩衝液から始めます。強一塩基酸をnモル加えると、各モルのH+が1モルのA−を1モルのHAに変換します。エンジンはしたがって、最終塩基モルを初期塩基モルから添加モルを引いた値、最終酸モルを初期酸モルに添加モルを加えた値として計算します。
これらの最終モルは同一溶液体積を共有するため、その比はHenderson–Hasselbalchに入る濃度比と等しくなります。すなわちpHはpKaに、最終A−モルを最終HAモルで割った値の常用対数を加えたものです。教科書問題は添加酸のモルを直接示すことが多いため濃度だけでは不要です。
モル濃度と体積しかない場合は、呼び出す前に両種を同じ体積で掛けてください。添加がゼロなら比は変わらず通常の静的緩衝pHが得られ、pKa 4.76付近の等モル酢酸系に対する健全性確認として有用です。
実験での使い方と限界
宿題確認、講義デモ、実験ノートの素早い検証には、表計算を入れずにブラウザ無料の強酸添加後緩衝pH計算をご利用ください。検証失敗はエンジンが拒否したあと残高を消費しません。モル量は非負で実用的な範囲にしてください。
極端に大きい・小さい値は数学的には有限でも、一般化学の水溶液緩衝液ではほとんど意味がありません。入力は他のKIT parse項目と同じ保持規則に従い、アルゴリズムはネットワーク・乱数・時計なしで完全に決定的なため、継続的インテグレーションのフィクスチャに固定できます。
古典的な酢酸チェックはpKa 4.76でHAとA−を各0.10 mol、強酸スパイクを0.02 molとし、最終モルは0.12と0.08になり、比は1未満、pHは予想どおりpKaをわずかに下回ります。
活用例
宿題:緩衝液に強酸を加えた後のpH
学生はpKaとHA・A−・HClのモルを入力し、pHが等モル値より下がることを確認し、酸負荷が共役塩基を枯渇させたときの明確なエラーを見ます。
実験ノートでの緩衝液調整
技術者は既知の酢酸またはリン酸緩衝液に測定量の強酸を加えた後の新しいpHを、滴定や保存の前に見積もります。
よくある質問
強酸を加えた後の緩衝液pHはどう計算しますか?
エンジンはA− + H+ → HAを適用し、ph = pKa + log10(n_A_final / n_HA_final)を返します。
濃度とモルのどちらを入力しますか?
HA、A−、加えた強酸はモルで入力してください。モル濃度と共通体積しかない場合は、先に両種にその体積を掛けて比を正しく保ちます。
塩基より多くの強酸を加えるとどうなりますか?
ツールは受け付けません。加えた酸が共役塩基と同じかそれ以上になると塩基が尽き、単純な緩衝液ではなくなるため、どんなpHを出しても作り話になってしまいます。
強酸1 molは緩衝液に何をしますか?
共役塩基1 molを弱酸1 molに変えます。塩基は加えた量だけ減り、酸は同じ量だけ増え、その新しい比がpHを決めます。
pOHも表示されますか?
はい。pHとpOHの和が14になる25 °Cを前提にした参考値として表示します。主な結果はpHで、pOHはそう問われる問題のための表示です。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/chem/buffer-after-addition \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pka":4.76,"moles_acid":0.1,"moles_base":0.1,"moles_added":0.02}'const res = await fetch("https://api.kit.forhosting.com/chem/buffer-after-addition", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pka": 4.76,
"moles_acid": 0.1,
"moles_base": 0.1,
"moles_added": 0.02
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/buffer-after-addition",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pka": 4.76,
"moles_acid": 0.1,
"moles_base": 0.1,
"moles_added": 0.02
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/buffer-after-addition", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pka":4.76,"moles_acid":0.1,"moles_base":0.1,"moles_added":0.02}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pka":4.76,"moles_acid":0.1,"moles_base":0.1,"moles_added":0.02}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/buffer-after-addition", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"pka": 4.76,
"moles_acid": 0.1,
"moles_base": 0.1,
"moles_added": 0.02
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.buffer_after_addition",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
加えた酸が存在する共役塩基と等しいかそれを超える場合、エンジンは緩衝領域外のpHを捏造せず invalid_input を返します。
弱酸緩衝液への強酸添加の化学量論
JSON数値または数値文字列として4つの必須フィールドを送ってください。pkaは酸強度(別名pKa、p_ka、acid_pka)、moles_acidは初期HAモル(別名moles_ha、n_ha、ha_moles、acid_moles)、moles_baseは初期A−モル(別名moles_a、n_a、base_moles、conjugate_base_moles、salt_moles)、moles_addedは強酸モル(別名strong_acid_moles、acid_added、n_added、moles_strong_acid)です。
応答の読み方と枯渇エラー
問題がpOHで書かれているときの表示に使い、主契約としてはphを扱ってください。共役塩基が完全に消費されると混合物はもはや対の両成分からなる単純な緩衝液ではなく、ゼロまたは負の塩基モルからpHを捏造するのは不誠実だからです。添加なしで濃度からpHだけが必要なときは静的緩衝pH計算と組み合わせ、Kaしか知らないときはpKa変換器と組み合わせてください。フィールドpoh_25cは25 °Cで水のイオン積が一般的な前提(pHとpOHの和が14)に基づく便宜的変換です。formula文字列は添加後のHenderson–Hasselbalch経路を示し、methodは常にbuffer_after_strong_acidなので、クライアントは形状を嗅ぎ分けずに分岐できます。必須フィールド欠落、非数値、負のモル量、非正の初期塩基、moles_addedがmoles_base以上の場合はすべてinvalid_inputで失敗し課金されません。この枯渇規則は意図的です。
API利用・料金・実験フローと実用上の限界
問題文の単位で有限な数値としてpka、moles_acid、moles_base、moles_addedを含むJSON本体を送ってください。量の3フィールドはほぼ常にモル、酸強度は無次元のpKaです。家庭教師プラットフォーム、処方ツール、品質管理スクリプト、カリキュラム生成器がKIT残高のもと安定した契約を必要とするときは前払いAPIを使い、成功1件あたり$0.002です。SDKを出荷する作者は、phと最終モルフィールドをUI表示に写し、ratioとlog_ratioを途中解パネルに示して、学生が紙に書く緩衝化学量論と同じ中間段階を見えるようにできます。
連携の活用例
家庭教師アプリと自動採点
教材作成者は言語ごとにモル収支を再実装せず、添加後Henderson–Hasselbalch用の安定した前払いエンドポイントを呼び出します。
技術的な質問
加えた酸が共役塩基を超えるとどうなりますか?
リクエストはinvalid_inputで失敗します。moles_addedがmoles_base以上のとき緩衝塩基は枯渇し、単純な緩衝pHは返されません。
強酸添加後の緩衝pH計算は無料ですか?
ブラウザツールはお使いの端末で無料です。API呼び出しは成功1件あたり$0.002の前払いKIT残高を使い、検証失敗は課金されません。
添加ゼロでも動きますか?
はい。moles_addedがゼロのとき最終モルは初期モルと等しく、pHはその対の通常のHenderson–Hasselbalch結果と一致します。