モル分率計算ツール
2モル、3モル、5モルの混合物では、最初の成分のモル分率は0.2です。各成分のモル数を入れて1つ選ぶと、その割合と全体の組成が分かり、ラウールの法則やドルトンの法則にそのまま使えます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
処理はブラウザ内で完結します。ファイルは送信されません。無料でご利用いただけます。
モル分率は、混合物のうちある物質がモル基準でどれだけを占めるかを表す組成の尺度です。多成分系では、物質 i のモル分率は、その物質のモル量を存在する全物質の総モル量で割ったものです。比は無次元のため、すべての種を数え上げるとモル分率の和は常に 1 になり、Raoult の法則、Dalton の分圧の法則、理想溶液の自由エネルギー、気体の平衡定数に直接現れます。学習者はまず A が 2 モル、B が 3 モルで x_A が 5 分の 2 となるような二成分混合物から練習し、その後多成分のプロセス流やガス分析へ進みます。本計算ツールは成分モル量の順序付きリストと着目物質の 0 始まりインデックスを受け取り、選んだモル分率に加えて完全な組成ベクトル、総モル量、監査用の式文字列を返し、総量がゼロの場合は不正な分母が Infinity や NaN にならないよう拒否します。
モル分率の定義と総モル量が重要な理由
一般化学・物理化学の教科書で用いる形式的な定義から始めます。総量は厳密に正でなければなりません。個々の量は有限かつ非負でなければなりません。
ある種が 0 モルであることはそのインデックスのモル分率が 0 となる正当な極限ですが、負の量は非物理的として拒否されます。各物質のグラムしか分からない呼び出し側は、事前にモル質量でモルへ換算する必要があります。このランディングは化合物ライブラリを埋め込まず、純粋なモル分率の定義に意図的にとどまります。
本機能は決定的な浮動小数点演算で閉形式を評価します。モル濃度・質量パーセントや、モル分率だけからの分圧は計算しません。それらは製品カバレッジが広がる際の別の検索意図とランディングです。
モル分率計算ツールが実務で使われる場面
高校・大学の化学では、質量データをモルに換算し、さらに二成分・三成分混合物のモル分率へ進める組成演習が課されます。信頼できる単一のオラクルは、手計算の浮動小数点ノイズなしに採点とデモ準備を早めます。
プロセスエンジニアやプラント化学者は、実験室のガスクロマトグラフィーによるモル量をストリーム組成に変換し、x・y ベクトルを期待するフラッシュ・蒸留・反応器モデルへ渡します。環境・大気のノートブックは、測定した種のインベントリをモル分率に正規化し、理想気体の分圧や混合比の計算に用います。
材料・高分子ラボは共重合体フィード組成をモル分率基準で報告し、量論と転化率の計算を速度論モデルと整合させます。質量から質量分率、モルと溶媒キログラムからモル濃度、体積からモル濃度、内蔵モル質量表によるグラムからモルへの自動換算が必要な場合は、このモル分率計算ページを過負荷にせず、別の検索意図とランディングとして扱ってください。
活用例
プロセス流の組成
測定した成分モル量をモル分率に正規化し、フラッシュ・蒸留・反応器シミュレーションの入力に用います。
気体混合物と平衡の準備
在庫モルを無次元の組成ベクトルに変換し、Raoult・Dalton・平衡定数の計算に備えます。
よくある質問
モル分率とは何ですか?
無次元であり、すべての種を数えるとモル分率の和は 1 になります。
総モル量がゼロの場合はどうなりますか?
モル分率は総モル量で割るため、すべてゼロの混合物は Infinity や NaN を返す代わりに拒否されます。
2モル、3モル、5モルの混合物で最初の成分のモル分率はいくつですか?
0.2です。合計10モルのうち2モルがその成分だからです。全体の組成は10分の2、10分の3、10分の5で、合わせるとちょうど1になります。
モル数ではなくグラム数で入力できますか?
できません。入力はモル数のみで、モル質量の表も持っていません。先に各質量をそれぞれのモル質量で割り、得られたモル数を入れてください。
モル分率の合計は必ず1になりますか?
混合物のすべての成分を数えていれば、必ず1になります。このツールは各成分のモル分率をまとめて返すので、合計が1になることをその場で確かめられます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/chem/mole-fraction \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"moles":[2,3,5],"component_index":0}'const res = await fetch("https://api.kit.forhosting.com/chem/mole-fraction", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"moles": [
2,
3,
5
],
"component_index": 0
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/mole-fraction",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"moles": [
2,
3,
5
],
"component_index": 0
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/mole-fraction", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"moles":[2,3,5],"component_index":0}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"moles":[2,3,5],"component_index":0}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/mole-fraction", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"moles": [
2,
3,
5
],
"component_index": 0
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.mole_fraction",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
すなわち x_i は n_i を n_total で割った値に等しくなります。無料のブラウザツールと有料 API は同一の純粋な同型関数を共有するため、授業デモと自動化パイプラインが同じ入力で食い違うことはありません。
モル分率の定義と総モル量が重要な理由
成分 i のモル分率 x_i は、モル単位で測ったその成分の量 n_i と混合物中の総物質量 n_total の商であり、n_total は各成分 j についての n_j の和です。x_i を n_i を n_total で割ったものとして書き、入力が物理的に妥当なときは結果を 0 以上 1 以下の純粋な数として扱います。すべての成分が 0 モルだと比は定義されず、Infinity や NaN を返す代わりに明確な invalid_input メッセージで失敗します。質量分率と異なり、モル分率は粒子数で種を重み付けするため、気液平衡・化学ポテンシャル・理想気体の分圧の式では重量パーセントではなく x_i や y_i が使われます。乱数シード、壁時計、ネットワーク呼び出し、モデルドリフトはなく、同一入力は常に同一の JSON を生成します。
送信する内容と返ってくる内容
教科書の典型例には、moles が 2・3・5 で index 0 ならモル分率 0.2、1 と 1 の二成分でいずれの index でも 1/2、正の単一エントリの純物質配列でモル分率 1 があります。宿題や手早い健全性確認には無料のブラウザフォームを使い、一括解答キー・実験レポート用フィクスチャ・採点オラクルが必要なときはスクリプトから同一契約を呼び出してください。多段パイプラインでは成分の順序を固定し、インデックス 0 がレポート上の同じ種を常に指すようにしてください。必須フィールドは二つです。moles は固定順で各混合成分のモル量を与える有限非負数の空でない配列、component_index は主結果として報告する物質のモル分率を選ぶ 0 始まりの整数です。moles は 1 件以上 1000 件以下でなければならず、空配列・非数値文字列・NaN・Infinity・負の要素は invalid_input で失敗し課金されません。component_index は 0 から moles の長さマイナス 1 までの閉区間の整数でなければならず、範囲外は同様に失敗します。全モルの和がゼロの場合、モル分率はその総量で割るためリクエストは失敗します。成功時は整形済みの moles と component_index を返し、選んだ物質の n_i と混合物の total_moles を提供し、主結果として無次元の mole_fraction を返し、moles と同じ順の完全組成ベクトル all_mole_fractions を含め、component_count を設定し、単位ヒントオブジェクトを付与し、method を mole_fraction_from_component_moles、formula を x_i は n_i を n_total で割ったものに設定します。成功した API 呼び出しの料金は公開ベースの 1 件あたり $0.002 で、検証失敗は前払い残高を消費しません。
モル分率計算ツールが実務で使われる場面
本機能は純粋な parse エンジンのため、API 料金は成功 1 件あたり公開ベースの $0.002 で、検証失敗は残高を消費しません。
連携の活用例
宿題・実験の解答キー
成分モル量の順序付きリストから x_i = n_i / n_total を計算し、学習者と自動採点が一つの閉形式の正解を共有できるようにします。
技術的な質問
どの物質を報告するかはどう選びますか?
component_index を moles 配列内でのその物質の 0 始まり位置に設定します。インデックス 0 が先頭、1 が 2 番目、という順です。
すべての成分のモル分率を得られますか?
はい。応答には moles と同じ順の all_mole_fractions と、選んだ component_index の mole_fraction が含まれます。
費用はいくらですか?
ブラウザツールは無料でローカル実行されます。API リクエストは前払い KIT 残高を成功 1 件あたり $0.002 で使用し、無効入力は課金されません。