「え、海水に圧力をかければ勝手に真水が出てくるんでしょ?」
そう思ったあなた、実はその“常識”の裏に、めちゃくちゃシビアなトレードオフが隠れているんです。
例えば「回収率を上げれば効率が良くなる」──これ、真逆のケースが多い。むしろ回収率を上げると、エネルギー消費が爆増する。なぜか?
答えは、浸透圧という物理の壁にあります。今日は、その仕組みを数式とコードで完全に理解しましょう。
ざっくり本質:膜の穴に「無理やり通す」という発想
逆浸透膜(RO膜)の仕組みを一言で言うと:
「海水に浸透圧以上の圧力をかけ、水分子だけを膜の穴に押し込む」
海水側には塩イオンが大量にいるので、水は「薄い方(真水側)から濃い方(海水側)」に移動しようとします。これが浸透。この移動を止めるために必要な圧力が浸透圧。
逆浸透は、その浸透圧を「逆手に取って」、さらに高い圧力で水を逆方向に押し戻す技術。つまり、物理の原理に逆らって無理やり水を取り出すわけです。
数式で理解する:たった3つの式で全てが決まる
① 浸透圧の式(ファントホッフの式)
\Pi = iMRT = i c_s RT
- $\Pi$:浸透圧 [Pa]
- $i$:イオン係数(NaClなら約2)
- $M$:モル濃度 [mol/m³]
- $c_s$:塩分濃度 [mg/L] から換算
- $R$:気体定数 (8.314 J/(mol·K))
- $T$:絶対温度 [K]
何を言ってるか? → 塩分濃度が高いほど、温度が高いほど、浸透圧は上がる。つまり「塩辛い海水ほど、押し返すのに強い力が必要」。
② 透過流束の式(膜の性能を決める核心)
J_w = A_m (\Delta p - \Delta\Pi)
- $J_w$:透過水フラックス [m³/(m²·s)](膜面積あたりの水の通りやすさ)
- $A_m$:膜の透水係数
- $\Delta p$:印加圧力
- $\Delta\Pi$:膜内外の浸透圧差
ポイント:$\Delta p$ が $\Delta\Pi$ を超えないと、一滴も水は通らない。超えた分だけ水が通る。
③ 比エネルギー消費(SEC)の式
SEC = \frac{P}{Q_p \cdot \eta_{pump}\cdot \eta_{ERD}}
- $SEC$:比エネルギー消費量 [kWh/m³](1m³の真水を作るのに必要なエネルギー)
- $P$:ポンプ入力電力 [kW]
- $Q_p$:透過水流量 [m³/h]
- $\eta_{pump}$:ポンプ効率
- $\eta_{ERD}$:エネルギー回収装置の効率
これが全ての指標。海水淡水化の「コスパ」はこのSECで評価される。
コードで実装する:20行で動くRO膜シミュレーター
ここからが本番。実際に動くコードで、上記の式を組み立てます。
// RO膜シミュレーター コア計算(ブラウザで動く)
function calcRO(params) {
// 入力パラメータ
const cf = params.cf; // 給水塩分濃度 [mg/L]
const T = params.T; // 水温 [℃]
const Y = params.Y; // 回収率 [-]
const R_salt = params.R_salt; // 塩排除率 [-]
const etaP = params.etaP; // ポンプ効率 [-]
const etaERD = params.etaERD; // エネルギー回収効率 [-]
const Qp = params.Qp; // 透過水流量 [m³/h]
// 定数
const R = 8.314; // 気体定数 [J/(mol·K)]
const i = 2; // NaClのイオン係数
const M_NaCl = 58.44; // NaClの分子量 [g/mol]
// 1. モル濃度を計算
const cs = cf / 1000; // mg/L → g/L
const M = cs / M_NaCl; // モル濃度 [mol/L]
const M_m3 = M * 1000; // mol/L → mol/m³
// 2. 浸透圧を計算(ファントホッフ)
const T_K = T + 273.15; // ℃ → K
const Pi = i * M_m3 * R * T_K; // [Pa]
const Pi_bar = Pi / 1e5; // Pa → bar
// 3. 濃縮側の塩分濃度(回収率の影響)
// 物質収支: cf * Qf = cp * Qp + cb * Qb
const cp = cf * (1 - R_salt); // 透過水塩分濃度
const Qf = Qp / Y; // 給水流量
const Qb = Qf - Qp; // 濃縮水流量
const cb = (cf * Qf - cp * Qp) / Qb; // 濃縮水塩分濃度
// 4. 濃縮側の浸透圧
const cb_gL = cb / 1000;
const Mb = cb_gL / M_NaCl;
const Mb_m3 = Mb * 1000;
const Pi_b = i * Mb_m3 * R * T_K;
const Pi_b_bar = Pi_b / 1e5;
// 5. 必要な供給圧力(安全率1.2倍)
const deltaPi = Pi_b - Pi; // 膜内外の浸透圧差
const P_required = deltaPi * 1.2; // [Pa]
const P_bar = P_required / 1e5;
// 6. SEC計算
const P_pump = P_required * Qp / 3600; // [W](流体動力)
const P_input = P_pump / etaP / etaERD; // [W]
const SEC = P_input / 1000 / Qp; // [kWh/m³]
return {
Pi_feed: Pi_bar.toFixed(1), // 給水浸透圧 [bar]
Pi_conc: Pi_b_bar.toFixed(1), // 濃縮水浸透圧 [bar]
P_required: P_bar.toFixed(1), // 必要圧力 [bar]
SEC: SEC.toFixed(2), // 比エネルギー消費 [kWh/m³]
cp: cp.toFixed(0), // 透過水塩分 [mg/L]
cb: cb.toFixed(0) // 濃縮水塩分 [mg/L]
};
}
// 実行例:標準海水
const result = calcRO({
cf: 35000, // 塩分濃度 35,000 mg/L
T: 25, // 水温 25℃
Y: 0.5, // 回収率 50%
R_salt: 0.995,// 塩排除率 99.5%
etaP: 0.8, // ポンプ効率 80%
etaERD: 0.9, // エネルギー回収効率 90%
Qp: 100 // 透過水量 100 m³/h
});
console.log(result);
// → { Pi_feed: '27.0', Pi_conc: '54.0', P_required: '32.4', SEC: '1.41', cp: '175', cb: '69825' }
このコードの核心:
- 浸透圧は給水側(27 bar)より濃縮側(54 bar)が2倍になる
- 必要な圧力は濃縮側の浸透圧を基準に決まる
- SECはポンプ効率とエネルギー回収効率に大きく依存
数値例で確かめる:回収率を50%→75%にすると何が起きる?
条件:海水(35,000 mg/L, 25℃)、塩排除率99.5%
回収率50%の場合
- 濃縮水塩分濃度:約69,825 mg/L(約2倍)
- 濃縮側浸透圧:約54 bar
- 必要圧力:約32.4 bar(安全率1.2倍)
- SEC:約1.41 kWh/m³
回収率75%の場合
- 濃縮水塩分濃度:約139,650 mg/L(4倍!)
- 濃縮側浸透圧:約108 bar
- 必要圧力:約64.8 bar
- SEC:約2.82 kWh/m³
結果:回収率を50%→75%に上げると、SECは2倍になる。つまり、同じ量の真水を作るのに2倍の電気代がかかる。
これが「回収率は高ければいいわけじゃない」の理由。濃縮水の塩分濃度が指数的に上がるからです。
シミュレーターで遊ぶ:3つの実験
実際に海水淡水化シミュレーターを開いて、以下の実験をやってみてください。
実験1:温度の影響を確認
- 操作:給水塩分濃度35,000 mg/L固定で、温度を10℃→30℃に変更
- 結果:浸透圧が約24 bar→約29 barに上昇
- なぜ?:ファントホッフの式で温度に比例。つまり夏場はより高い圧力が必要
実験2:塩排除率のトレードオフ
- 操作:塩排除率を99.0%→99.9%に上げる
- 結果:SECが約1.3→約1.7 kWh/m³に上昇
- なぜ?:高性能膜ほど穴が小さく、水を通す抵抗が増える。純度とエネルギーはトレードオフ
実験3:エネルギー回収装置の効果
- 操作:ERD効率を0%(なし)→90%(あり)に変更
- 結果:SECが約14→約1.4 kWh/m³と10分の1に!
- なぜ?:濃縮水の圧力エネルギーを回収して再利用。実機ではERDが必須
現場でハマるポイント:3つの落とし穴
① 「浸透圧は27 bar」という思い込み
これは標準海水(35,000 mg/L, 25℃)の話。実際のプラントでは:
- 紅海:約42,000 mg/L → 浸透圧約32 bar
- バルト海:約8,000 mg/L → 浸透圧約6 bar
場所と季節で全然違うので、必ず実測値で計算すること。
② 回収率を上げれば効率的という誤解
先ほどの計算で見た通り、回収率を上げると濃縮水の浸透圧が急上昇。エネルギーコストと膜の洗浄コストのバランスで最適値が決まる。実機では40〜60%が一般的。
③ SECは「理想値」に過ぎない
シミュレーターのSECは、以下の要素を無視している:
- 膜の経年劣化(透水係数が低下)
- 温度補正係数(膜の性能は温度で変化)
- 配管損失(圧力損失が追加)
- 前処理工程(凝集・ろ過のエネルギー)
実機のSECはシミュレーター値の1.2〜1.5倍になることが多い。
まとめ:この3つを覚えて帰ってください
- 浸透圧は「塩分濃度 × 温度」で決まる ── 標準海水で約27 barだが、条件次第で大きく変動
- 回収率を上げるとエネルギー消費は指数的に増える ── 最適値は40〜60%が目安
- エネルギー回収装置(ERD)がなければ実用的ではない ── 効率90%でSECが10分の1に
海水淡水化は、単なる「圧力をかける技術」ではなく、物理の原理と経済性の絶妙なバランスの上に成り立っている。このシミュレーターで、そのバランスを体感してみてください。
▶ 海水淡水化シミュレーター — ブラウザで即動作、登録不要
NovaSolverでは1,600以上の工学シミュレーターを無料公開中 👉 一覧はこちら