「地面に水をまいたら、どれくらいの速さでしみ込むか」——これ、子どもの頃に一度は考えたことありませんか? 実はこの「しみ込みやすさ」こそが、地下資源の採算性を左右する最重要パラメータなんです。
例えば、ある油田で「掘ったけど油が出ない」というトラブル。原因の多くは、岩盤の中を油がうまく移動できないこと。つまり「多孔質媒体の中の流れ」を正確に予測できないと、何十億円もの投資が無駄になりかねません。
今日は、そんな「見えない流れ」を支配するダルシー則を、実装レベルで完全理解しましょう。
ざっくり本質:ストローとスポンジのアナロジー
「ダルシー流速とは、スポンジ全体の断面積で割った“見かけの流速”であり、実際の水はその何倍もの速さで粒の間を縫っている」
もう少し具体的に。コーヒーのフィルターを思い浮かべてください。コーヒー粉の隙間を液体が通る速さは、フィルターの目の細かさ(透過率)と、押す力(圧力勾配)で決まります。
- 透過率 k が大きい=ざるのようにスカスカ → 流れやすい
- 粘度 μ が高い=油のようにドロドロ → 流れにくい
- 圧力勾配 ΔP/L が大きい=強く押す → 流れが速い
この3つの要素を1つの式にまとめたのが、ダルシー則です。
数式で理解する
ダルシー則の基本形はこちら:
q = \frac{k}{\mu} \cdot \frac{\Delta P}{L}
| 記号 | 意味 | 単位 |
|---|---|---|
| $q$ | ダルシー流速(見かけの流速) | m/s |
| $k$ | 透過率(多孔質媒体固有の値) | m² |
| $\mu$ | 流体の粘度 | Pa·s |
| $\Delta P$ | 圧力差 | Pa |
| $L$ | 流路長さ | m |
ただし、これが成り立つのは流れが十分に遅い(層流)場合だけ。流速が上がると、慣性の影響で圧力損失が線形から外れます。そこで登場するのがフォルヒハイマー補正:
-\frac{dP}{dx} = \frac{\mu}{k} q + \beta \rho q^2
第1項がダルシー項(粘性支配)、第2項がフォルヒハイマー項(慣性支配)。$\beta$ は多孔質構造に依存する非ダルシー係数で、経験的には:
\beta \approx \frac{1.75}{\sqrt{k} \cdot \phi^{1.5}}
($\phi$ は空隙率)
コードで実装する ★最重要★
それでは、実際にブラウザで動くダルシー流れ計算機を実装しましょう。今回紹介するシミュレーターのコアロジックを、JavaScriptで再現します。
/**
* ダルシー流れ計算機(コアロジック)
* 多孔質媒体中の流体流れを、ダルシー則+フォルヒハイマー補正で計算
*/
class DarcyFlowCalculator {
constructor() {
// 媒体プリセット(透過率 k [m²])
this.media = {
gravel: { k: 1e-9, phi: 0.35, name: '礫' },
sand: { k: 1e-12, phi: 0.40, name: '砂' },
sandstone: { k: 1e-14, phi: 0.25, name: '砂岩' },
clay: { k: 1e-17, phi: 0.50, name: '粘土' }
};
// 流体プリセット(粘度 μ [Pa·s], 密度 ρ [kg/m³])
this.fluids = {
water: { mu: 1e-3, rho: 1000, name: '水' },
oil: { mu: 5e-2, rho: 850, name: '油' },
air: { mu: 1.8e-5, rho: 1.2, name: '空気' }
};
}
/**
* ダルシー流速を計算
* @param {string} mediaKey - 'gravel'|'sand'|'sandstone'|'clay'
* @param {string} fluidKey - 'water'|'oil'|'air'
* @param {number} dP - 圧力差 [Pa]
* @param {number} L - 流路長さ [m]
* @param {boolean} useForchheimer - フォルヒハイマー補正の有無
* @returns {object} 計算結果
*/
calculate(mediaKey, fluidKey, dP, L, useForchheimer = false) {
const media = this.media[mediaKey];
const fluid = this.fluids[fluidKey];
// 圧力勾配 [Pa/m]
const gradP = dP / L;
// ダルシー流速(線形近似) [m/s]
const qDarcy = (media.k / fluid.mu) * gradP;
let qForchheimer = null;
let Re = null;
let regime = 'Darcy';
if (useForchheimer) {
// フォルヒハイマー係数 β の推定
const beta = 1.75 / (Math.sqrt(media.k) * Math.pow(media.phi, 1.5));
// 非線形方程式: (μ/k)q + βρq² = ΔP/L
// 二次方程式: βρ q² + (μ/k) q - gradP = 0
const a = beta * fluid.rho;
const b = fluid.mu / media.k;
const c = -gradP;
// 正の解を採用
qForchheimer = (-b + Math.sqrt(b*b - 4*a*c)) / (2 * a);
// レイノルズ数(多孔質体内)
// 代表長さ d = √(k/φ) で近似
const d = Math.sqrt(media.k / media.phi);
Re = (fluid.rho * qForchheimer * d) / fluid.mu;
// 流れ領域の判定
if (Re <= 1) regime = 'Darcy(層流)';
else if (Re <= 10) regime = '過渡域';
else regime = 'Forchheimer推奨域';
}
// 間隙流速(実際の流体速度)
const vPoreDarcy = qDarcy / media.phi;
const vPoreForch = qForchheimer ? qForchheimer / media.phi : null;
return {
qDarcy, // ダルシー流速(線形)[m/s]
qForchheimer, // ダルシー流速(非線形補正後)[m/s]
vPoreDarcy, // 間隙流速(線形)[m/s]
vPoreForch, // 間隙流速(非線形)[m/s]
Re, // レイノルズ数
regime, // 流れ領域
gradP, // 圧力勾配 [Pa/m]
beta: useForchheimer ? beta : null // フォルヒハイマー係数
};
}
}
// 使用例
const calc = new DarcyFlowCalculator();
const result = calc.calculate('sandstone', 'oil', 500000, 10, true);
console.log(result);
このコードのポイント:
-
ダルシー則の線形計算:
q = (k/μ) × (ΔP/L)をそのまま実装 - フォルヒハイマー補正:二次方程式を解析的に解いている(数値反復不要)
- レイノルズ数判定:代表長さを $\sqrt{k/\phi}$ で近似し、領域判定を自動化
数値例で確かめる
実際の油田開発を想定したケースを計算してみましょう。
条件:
- 媒体:砂岩($k = 1 \times 10^{-14}$ m², $\phi = 0.25$)
- 流体:油($\mu = 5 \times 10^{-2}$ Pa·s, $\rho = 850$ kg/m³)
- 圧力差:$\Delta P = 5$ MPa($5 \times 10^6$ Pa)
- 流路長さ:$L = 10$ m
ステップ1:ダルシー流速(線形)
q_{\text{Darcy}} = \frac{1 \times 10^{-14}}{5 \times 10^{-2}} \times \frac{5 \times 10^6}{10}
= 2 \times 10^{-13} \times 5 \times 10^5
= 1 \times 10^{-7} \text{ m/s}
ステップ2:フォルヒハイマー係数
\beta = \frac{1.75}{\sqrt{1 \times 10^{-14}} \times 0.25^{1.5}}
= \frac{1.75}{1 \times 10^{-7} \times 0.125}
= 1.4 \times 10^8 \text{ m}^{-1}
ステップ3:非線形方程式を解く
1.4 \times 10^8 \times 850 \times q^2 + \frac{5 \times 10^{-2}}{1 \times 10^{-14}} q - 5 \times 10^5 = 0
1.19 \times 10^{11} q^2 + 5 \times 10^{12} q - 5 \times 10^5 = 0
正の解:
q_{\text{Forch}} = \frac{-5 \times 10^{12} + \sqrt{(5 \times 10^{12})^2 + 4 \times 1.19 \times 10^{11} \times 5 \times 10^5}}{2 \times 1.19 \times 10^{11}}
q_{\text{Forch}} \approx 1.0 \times 10^{-7} \text{ m/s}
結果:
- このケースでは、ダルシー流速とフォルヒハイマー流速がほぼ一致 → ダルシー則の適用範囲内
- 実際の間隙流速:$v_{\text{pore}} = 1.0 \times 10^{-7} / 0.25 = 4.0 \times 10^{-7}$ m/s
- 1日あたりの移動距離:$4.0 \times 10^{-7} \times 86400 \approx 0.0345$ m(約3.5cm/日)
「油田の油は1日3.5cmしか動かない」——この数字が、採掘計画の時間軸を決めるんです。
シミュレーターで遊ぶ
実際にダルシー流れ計算ツールを開いて、以下の実験を試してみましょう。
実験1:媒体を変えて流量を比較
| 媒体 | 透過率 k | 流速(相対値) |
|---|---|---|
| 礫 | $1 \times 10^{-9}$ | 100,000倍 |
| 砂 | $1 \times 10^{-12}$ | 100倍 |
| 砂岩 | $1 \times 10^{-14}$ | 1倍(基準) |
| 粘土 | $1 \times 10^{-17}$ | 0.001倍 |
なぜ? 透過率が1桁変わると流速も1桁変わる。砂岩から粘土に変えるだけで、流速は1万分の1に。つまり「粘土層があると、油はほぼ動かない」という現場の常識が数字で確認できます。
実験2:流体を水→油に変える
- 砂岩(固定)、圧力勾配 $5 \times 10^5$ Pa/m
- 水:$q \approx 5 \times 10^{-6}$ m/s
- 油:$q \approx 1 \times 10^{-7}$ m/s
なぜ? 粘度が50倍違うから。油の流れにくさが一目瞭然。
実験3:フォルヒハイマー補正をON/OFF
- 媒体を「礫」(高透過率)に設定
- 圧力勾配を最大($1 \times 10^7$ Pa/m)に
- 補正OFF:$q \approx 10$ m/s(非現実的)
- 補正ON:$q \approx 0.5$ m/s(現実的)
なぜ? 高速になると慣性効果で圧力損失が急増。ダルシー則だけだと過大評価してしまう。「高流速では必ず補正が必要」 という教訓が得られます。
現場でハマるポイント
1. ダルシー流速 ≠ 実際の流速
新人が最も間違えるポイント。ダルシー流速は「断面積全体で割った見かけの値」。実際の水は粒の間の隙間(空隙率 $\phi$ の部分)だけを通るので、実速度は $q / \phi$ になります。
例えば砂岩($\phi = 0.25$)なら、実速度はダルシー流速の4倍。地下水汚染の拡散予測でこれを間違えると、汚染範囲を過小評価して大事故になります。
2. 透過率の単位とオーダーを間違えるな
教科書では $k$ の単位は m² が基本。でも現場ではダルシー(D) や ミリダルシー(mD) が使われます。
1 D ≈ 9.87 × 10⁻¹³ m²
良い砂岩:100〜1000 mD(約 $10^{-13}$〜$10^{-12}$ m²)
緻密な泥岩:0.001 mD以下(約 $10^{-18}$ m²以下)
「1e-12」という指数表示を見て「小さいな」とスルーすると、後の設計で桁違いのミスを犯します。
3. フォルヒハイマー補正は「高流速だけ」の問題じゃない
確かに低流速では線形近似でOK。でも高透過率媒体(礫、割れ目岩盤)では、流速が小さくてもReが大きくなるケースがあります。
Re = (ρ × q × √(k/φ)) / μ
透過率 $k$ が大きいと代表長さ $\sqrt{k/\phi}$ も大きくなり、Reが上がりやすい。「流速が小さいから大丈夫」ではなく、必ずReを確認する習慣を。
まとめ
- ダルシー則は「多孔質媒体中の流れ」の基本:$q = (k/\mu) \cdot (\Delta P/L)$ で流速が決まる
- 高流速ではフォルヒハイマー補正が必須:二次項 $\beta \rho q^2$ を加えて現実的な圧力損失を計算
- 現場で使うには単位と適用範囲の理解が不可欠:ダルシー流速≠実流速、kのオーダー感覚、Reの確認
今回紹介したシミュレーターで、様々なパラメータを動かしながら体感してみてください。理論と実践のギャップを埋める最高のツールです。
▶ ダルシー流れ計算 — ブラウザで即動作、登録不要
NovaSolverでは1,600以上の工学シミュレーターを無料公開中 👉 一覧はこちら
「見えない流れ」を可視化できれば、地下資源も、地下水も、あなたの思い通りにコントロールできる。その第一歩が、ダルシー則の完全理解です。