気相組成計算機
成分1が0.6、成分2が0.4の理想液体で、純成分の蒸気圧が100と50なら、気相の成分1は0.75になります。2つの液相モル分率と純成分の蒸気圧を入力すると、分圧、全圧、気相の組成が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- X1
- 0.6
- X2
- 0.4
- P1 飽和
- 100
- P2 飽和
- 50
- 分圧 1
- 60
- 分圧 2
- 20
- 全圧
- 80
- Y1
- 0.75
気相組成とは、液体混合物と平衡で共存する気体中のモル分率の集合です。理想の二成分液体では、ラウールの法則に従い、各液相モル分率にその成分の純成分蒸気圧を掛けて分圧を求め、それらを合計して全圧を出し、各分圧を全圧で割ることで y1 と y2 が得られます。全圧がゼロの場合、暗黙のゼロ除算ではなく、明確な無効入力エラーが返されます。
混合液体の上の気相に含まれるもの
密閉した容器に混合液体を入れると、各成分の一部が蒸発し、やがて気相と液相が平衡になります。2成分の理想液体では、ラウールの法則により、各成分の分圧はその液相モル分率に、その温度での純成分の蒸気圧を掛けた値になります。2つの分圧を足すと全圧になり、それぞれの分圧を全圧で割ると気相のモル分率が分かります。液相が0.6と0.4、純成分の蒸気圧が100と50なら、分圧は60と20、全圧は80で、気相は0.75と0.25になります。
ラウールの法則で避けたい間違い
純成分の蒸気圧は、系の温度での値を入れる必要があります。このツールはアントワン定数を使って値を調べることはしません。2つの蒸気圧はキロパスカル、バール、気圧、トルなど同じ単位でそろえてください。液相のモル分率はそれぞれ0から1の間で、合計が1を超えてはいけません。純成分の蒸気圧が両方ゼロだと記述する気相がないため、ゼロでの割り算の代わりに分かりやすいメッセージが表示されます。モデルは理想溶液で、2成分に限られます。
ラウールの入力:液相モル分率と純成分蒸気圧
二成分の理想液体を、各成分が「系の温度における液相モル分率×純成分蒸気圧」に等しい分圧を持つ開放系の平衡としてモデル化します。x1 と x2 はゼロから1までの閉区間の有限数として送信してください。ただし両方の圧力が同じ単位を共有し、全圧と気相分率が無次元で一貫している必要があります。
合計が1を超える液相分率は、二成分の基準が1モルを超えられないため検証に失敗します。エンジンは Antoine 定数の参照や単位変換を行いません。P_i^sat は対象温度で評価済みの値をご提供ください。
よくある質問
x1 と x2 の合計は1でなければなりませんか?
1を超えてはいけません。部分的な二成分基準をモデル化する場合、1未満の合計は許可されます。P と y1、y2 には与えられた2成分のみが寄与します。
気相組成計算機は無料ですか?
ブラウザのツールはお使いのデバイス上で無料で動作します。検証失敗は課金されません。
非理想混合物や3成分以上には対応していますか?
いいえ。 この製品は液相モル分率と純成分蒸気圧による理想二成分のラウール解法です。活量係数や多成分系は対象外です。
ラウールの法則で気相の組成はどう求めますか?
各成分の液相モル分率に純成分の蒸気圧を掛け、2つを足して全圧を出し、それぞれの分圧を全圧で割ります。0.6と0.4、蒸気圧100と50なら、分圧は60と20、全圧は80です。
気相が揮発しやすい成分に富むのはなぜですか?
その成分の分圧が全圧に占める割合が大きいためです。例では成分1は液相の0.6ですが、純成分の蒸気圧が2倍なので、気相では0.75を占めます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/chem/vapor-phase-composition \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"x1":0.6,"x2":0.4,"p1_sat":100,"p2_sat":50}'const res = await fetch("https://api.kit.forhosting.com/chem/vapor-phase-composition", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"x1": 0.6,
"x2": 0.4,
"p1_sat": 100,
"p2_sat": 50
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/vapor-phase-composition",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"x1": 0.6,
"x2": 0.4,
"p1_sat": 100,
"p2_sat": 50
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/vapor-phase-composition", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"x1":0.6,"x2":0.4,"p1_sat":100,"p2_sat":50}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"x1":0.6,"x2":0.4,"p1_sat":100,"p2_sat":50}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/vapor-phase-composition", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"x1": 0.6,
"x2": 0.4,
"p1_sat": 100,
"p2_sat": 50
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.vapor_phase_composition",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
この計算機は x1、x2、P1sat、P2sat の4つの数値からその計算を決定的に実行するため、学生、プロセスエンジニア、パイプライン開発者は、完全な熱力学パッケージを組み込まずに、宿題、フラッシュカード、継続的インテグレーションのフィクスチャで気相組成を固定できます。
ラウールの入力:液相モル分率と純成分蒸気圧
省略可能な別名 mole_fraction_1、liquid_mole_fraction_1、x_1 は第1成分に対応し、第2成分にも同様の別名があります。純成分蒸気圧 p1_sat と p2_sat は非負の有限数で、キロパスカル、バール、気圧、トルなど一貫した圧力単位であれば何でも構いません。数値文字列も受け付け、JSON の数値と同じ方法で変換されます。ゼロから1の範囲外の値、欠落フィールド、非有限の大きさ、負の純成分蒸気圧はすべて invalid_input を発生させ、課金されません。同一の入力は常に同一の JSON を生成します。これはネットワーク、乱数シード、壁時計を使わない純粋な算術パスであり、気相組成計算機を自動テストや教室の解答オラクルに安全に固定できることを意味します。
y1、y2、分圧、全圧の読み方
NaN や無限大を返すのではなく、これがゼロ圧力のエッジケースに対する製品契約です。成功時、レスポンスは安定した丸めの後の x1、x2、p1_sat、p2_sat をエコーし、続いて partial_pressure_1(x1×p1_sat)と partial_pressure_2(x2×p2_sat)を報告します。total_pressure フィールドはこの2つの分圧の合計で、気相分率の分母として使われます。y1 と y2 は気相モル分率で、vapor_mole_fractions は単一のマップを好むクライアント向けにそれらをネストしたオブジェクトとして繰り返します。formula ラベルは常に「y_i = x_i·P_i^sat / P」で、method は常に raoult_vapor_phase_composition であるため、下流のコードは形状を推測せずに分岐できます。両方の純成分蒸気圧がゼロの場合、あるいは両方の液相の寄与が消えて合計がちょうどゼロになる場合、エンジンは invalid_input と「全圧がゼロで気相モル分率は未定義」というメッセージでリクエストを拒否します。レポートに Dalton 式の中間値が必要な場合は分圧を、蒸留の概略で気相組成だけが必要な場合は y1 と y2 を、沸点圧が実験測定値と一致するかを供給した純成分蒸気圧と同じ単位で確認する場合は total_pressure をご利用ください。
API の使い方、料金、教室でのワークフロー、実用上の限界
Aspen、CoolProp、ローカルのプロセスシミュレータをインストールせずに、宿題の確認、講義デモ、簡単な VLE の暗算には無料のブラウザ内気相組成計算機をお使いください。気相モル分率と全圧がすでに分かっている場合は分圧ツールと、次のステップが相分割ではなく反応進度の場合は平衡定数ユーティリティと組み合わせてください。Worker アイソレートの安全のため、純成分蒸気圧は非負で公開された大きさの範囲内に保ってください。ソース入力は他の KIT の parse アイテムと同じ保持ルールに従い、アルゴリズムは完全に決定的なため、結果は継続的インテグレーションのフィクスチャに安全に固定できます。必須の4フィールド x1、x2、p1_sat、p2_sat(または文書化された別名)を含む JSON ボディを送信してください。家庭教師プラットフォーム、実験ノートサービス、化学工学パイプライン、評価サンドボックスが KIT 残高の下で安定した契約を必要とする場合は、成功したアイテム1件あたり $0.002 のプリペイド API をご利用ください。エンジンがリクエストを拒否した後、検証失敗が残高を消費することはありません。SDK を提供する開発者は y1 と y2 を液相の x1、x2 の隣の UI テーブルに直接マッピングできます。これは学生が二成分の Txy や Pxy の概略にラウールの法則を手で適用するときに描くのと同じ並列レイアウトです。
連携の活用例
二成分 VLE の宿題と試験
学生は液相モル分率と純成分蒸気圧を入力して y1 と y2 を読み取り、全圧がゼロのときに不可解なゼロ除算ではなく明確な invalid_input エラーを受け取ります。
個別指導とカリキュラム生成
教材ビルダーは、プロセスシミュレータを組み込まずに、フラッシュカード、手順シート、自動採点ドリル向けの構造化 JSON でラウールの気相組成の例題を生成します。
軽量なプロセス・実験パイプライン
測定または表引きした Psat 値から理想二成分の気相モル分率が必要なスクリプトは、言語ごとに y_i = x_i·Psat_i / P を再実装する代わりに、安定したプリペイドのエンドポイントを呼び出します。
技術的な質問
この計算機で気相モル分率はどう計算しますか?
x1、x2、p1_sat、p2_sat を含む JSON を送信してください。レスポンスにはラウールの法則(y_i = x_i·P_i^sat / P)による分圧、total_pressure、y1、y2 が含まれます。
全圧がゼロの場合はどうなりますか?
リクエストは invalid_input で失敗します。x_i·P_i^sat の合計がゼロの場合、気相モル分率は未定義であり、エンジンは NaN を返す代わりに除算を拒否します。