無次元化が必要な理由と方法〜数値計算の疑問

POINT

  • 無次元化が必要な理由とその方法についてまとめる.
  • 無次元化の効果(メリット):
    • 方程式に現れる変数が減り,簡単な形になる.
    • 方程式の解が相似になる条件がわかる.
    • 数値計算では,適切な無次元化によって変数が極端に小さい値/大きい値を取ることがなくなる.

数値計算などで,いきなり「無次元化」という概念が現れ,

  • 必要性がわからない
  • 具体的な手順がわからない

という理由で戸惑う人は多いのではないでしょうか.

やっていることは単なる変数変換です.いくつか具体例に触れれば理解できるはずです.

【関連記事】

無次元化とは

無次元化とは,方程式に現れる変数を無次元量にする変数変換のことです.無次元化を行うことにより
  • 変数の数が減り,方程式が簡単な形になる.
  • 方程式の解が相似になる条件がわかる.
  • 適切なスケールで無次元化すると,変数の桁が極端に小さく/大きくなることがないため,計算時の桁落ちを防げる.
という効果があります.

無次元化の手順

物理量と次元

まずは,Wikipedia:量の次元 - Wikipediaを参考にちゃちゃっと次元の復習をしましょう.

物理量は,以下の基本量の積で表される次元を持ちます.

基本量 長さ 質量 時間 電流 温度 物質量 光度
次元 $\sf{L}$ $\sf{M}$ $\sf{T}$ $\sf{I}$ $\sf{\Theta}$ $\sf{N}$ $\sf{J}$

以下では,物理量の次元を$[$物理量$]$で表すことにします.

物理量の次元は,方程式から求めることができます.例えば,力$F$の次元を求めるには運動方程式

\begin{aligned}
m\frac{\mathrm{d}^2 x}{\mathrm{d}t^2} = F
\end{aligned}
を考えます.すると,$[m]=\sf{M}$と$[x]=\sf{L}$から

  • $\biggl[\dfrac{\mathrm{d}^2 x}{\mathrm{d}t^2}\biggr]=[x][t]^{-2}=\sf{L}\sf{T}^{-2}$
  • $[F]=[m]\cdot \biggl[\dfrac{\mathrm{d}^2 x}{\mathrm{d}t^2}\biggr]=\sf{M}\sf{L}\sf{T}^{-2}$

であることがわかります.

無次元化の方法

次の操作を「無次元化」と呼びます.
無次元化
理論に出てくる変数を,全て無次元量に変数変換すること.


具体的には,次の手順を踏めば良いことになります:

無次元化の手順
  1. 基本量の次元$(\sf{L,M,T,I,\Theta,N,J})$を持つ物理量$(l_0,m_0,t_0,i_0,\theta_0,n_0,j_0)$を持ってくる.
    • 問題において定められている「定数」を使ってつくる.
    • もちろん,理論に現れないものは必要ない.
  2. 全ての物理量を,上で持ってきた$(l_0,m_0,t_0,i_0,\theta_0,n_0,j_0)$を単位とするように変数変換する.
    • つまり,物理量$X$の次元が$[X]=\sf{L}^a\sf{M}^b\sf{T}^c\sf{I}^d\sf{\Theta}^e\sf{N}^f\sf{J}^g$であるとき,
      \begin{aligned}
      \bar{X} = \frac{X}{l_0^a\, m_0^b\, t_0^c\, i_0^d\, \theta_0^e\, n_0^f\, j_0^g}
      \end{aligned}
      と変数変換する.
    • この変数変換により,物理量$\{X_i\}_i$で表される理論は,無次元量$\{\bar{X}_i\}_i$だけで表すことができる.つまり,次元を持つ量$(l_0,m_0,t_0,i_0,\theta_0,n_0,j_0)$の現れない式にできる.
一般的に述べようとすると難しそうに見えてしまうかもしれません.次の具体例を見れば,簡単な操作であることがわかるでしょう.

無次元化の例

上の手順に従って具体的な問題で無次元化の操作をしてみましょう.簡単なことがわかるはずです!

単振り子

単振り子
長さ$l$の棒の先に繋がれた,質量$m$の物体の運動(単振り子)について考えます.次元解析で周期を求める例としてもよく使われますね.

この問題は,次の運動方程式を解くことに相当します.

\begin{aligned}
m\frac{\mathrm{d}^2}{\mathrm{d}t^2} \left(l\theta \right)= -mg\sin\theta
\end{aligned}

とりあえず,両辺に現れる$m$を消去すれば,

\begin{aligned}
l \frac{\mathrm{d}^2 \theta}{\mathrm{d}t^2} = -g\sin\theta
\end{aligned}
となります.

方程式に現れる物理量の次元は以下の通りです.これより,現れる次元は$\sf{L},\sf{T}$だけであることがわかりました.


既知の定数/関数 未知の定数/関数
物理量 $l$ $g$ $t$ $\theta$
次元 $\sf{L}$ $\sf{L}\sf{T}^{-2}$ $\sf{T}$ 無次元

次元$\sf{L},\sf{T}$を持つ物理量として一番簡単なものは,それぞれ

次元 $\sf{L}$ $\sf{T}$
単位とする物理量 $l$ $\sqrt{l/g}$
です.そこで,これらを用いて(これらを単位として)物理量を無次元化しましょう.つまり,

既知の定数/関数 未知の定数/関数
物理量 $l$ $g$ $t$ $\theta$
無次元化した物理量 $\bar{l}=\dfrac{l}{l}=1$ $\bar{g}=\dfrac{g}{l\left(\sqrt{l/g}\right)^{-2}}=1$ $\bar{t}=\dfrac{t}{\sqrt{l/g}}=\sqrt{\dfrac{g}{l}}t$ 無次元
と変数変換すると,
\begin{aligned}
\left(\bar{l}l\right) \frac{g}{l}\frac{\mathrm{d}^2 \theta}{\mathrm{d}\bar{t}^2} = -\left(\bar{g}g\right)\sin\theta
\end{aligned}
となります$\left(\dfrac{\mathrm{d} \theta}{\mathrm{d}t}=\dfrac{\mathrm{d} \bar{t}}{\mathrm{d}t}\dfrac{\mathrm{d} \theta}{\mathrm{d}\bar{t}}=\sqrt{\dfrac{g}{l}}\dfrac{\mathrm{d} \theta}{\mathrm{d}\bar{t}}\right)$.

ここで,

  • 次元を持つ量$l,g$を消去する(方程式の両辺の次元は等しいので,「必ず」両辺で同じ次数で現れることに注意!
  • $\bar{l}=\bar{g}=1$に注意する

ことで

単振り子の「無次元化された」運動方程式
\begin{aligned}
\frac{\mathrm{d}^2 \theta}{\mathrm{d}\bar{t}^2} = -\sin\theta
\end{aligned}
が求められました.



次の記事で,この無次元化した式をもとにPythonで数値計算を行っています.また,単振り子の厳密解についても解説しています.:

Schrödinger方程式

1次元のSchrödinger方程式を考えましょう:
\begin{aligned}
-\frac{\hbar^2}{2m}\frac{\mathrm{d}^2 \varphi}{\mathrm{d} x^2}(x) + V(x)\varphi(x) = E\varphi(x)
\end{aligned}


ポテンシャル$V(x)$を決定するパラメータを$a$とします(例えば,井戸型ポテンシャルであれば,井戸の幅など).すると,各物理量とその次元は以下でまとめられます:


既知の定数/関数 未知の定数/関数
物理量 $\hbar$ $m$ $a$ $V(x)$ $E$ $x$ $\varphi(x)$
次元 $\sf{M}\sf{L}^2\sf{T}^{-1}$ $\sf{M}$ $\sf{L}$ $\sf{M}\sf{L}^2\sf{T}^{-2}$ $\sf{M}\sf{L}^2\sf{T}^{-2}$ $\sf{L}$ $\sf{L}^{-1/2}$

現れる次元は$\sf{M},\sf{L},\sf{T}$なので,それぞれの次元の単位として以下を選びます:

次元 $\sf{M}$ $\sf{L}$ $\sf{T}$
単位とする物理量 $m$ $a$ $ma^2/\hbar$


これらを単位として各物理量を無次元化すると,


既知の定数/関数
物理量 $\hbar$ $m$ $a$ $V(x)$
無次元化した物理量
\begin{aligned} \bar{\hbar}&=\dfrac{\hbar}{ma^2 \left(ma^2/\hbar \right)^{-1}}\\&=1 \end{aligned}
\begin{aligned} \bar{m}&=\dfrac{m}{m}\\&=1 \end{aligned}
\begin{aligned} \bar{a}&=\dfrac{a}{a}\\&=1 \end{aligned}
\begin{aligned} \bar{V}(\bar{x})&=\dfrac{V(x)}{ma^2 \left(ma^2/\hbar \right)^{-2} }\\&=\frac{ma^2}{\hbar^2}V(a\bar{x}) \end{aligned}


未知の定数/関数
物理量 $E$ $x$ $\varphi(x)$
無次元化した物理量
\begin{aligned} \bar{E}&=\dfrac{E}{ma^2 \left(ma^2/\hbar \right)^{-2} }\\&=\frac{ma^2}{\hbar^2}E \end{aligned}
$\bar{x}=\dfrac{x}{a}$
\begin{aligned} \bar{\varphi}(\bar{x})&=\dfrac{\varphi(x)}{a^{-1/2}}\\&=\sqrt{a}\varphi(a\bar{x}) \end{aligned}

これらの変数変換を行うと


\begin{aligned}
- \frac{\left(\bar{\hbar}\hbar\right)^2}{2\left(\bar{m}m\right)}
\cdot \frac{1}{a^2}\frac{\mathrm{d}^2 \left(\bar{\varphi}/\sqrt{a} \right)}{\mathrm{d} \bar{x}^2} (\bar{x})
+ \frac{\hbar^2 \bar{V}(\bar{x})}{ma^2} \frac{\bar{\varphi}(\bar{x}) }{\sqrt{a}}
= \frac{\hbar^2 \bar{E}}{ma^2} \frac{\bar{\varphi}(\bar{x}) }{\sqrt{a}}
\end{aligned}
となります.両辺から次元のある量を消去する$\Bigg(\dfrac{\hbar^2}{m\sqrt{a}a^2}$で割る$\Bigg)$ことで,無次元化されたSchrödinger方程式が求められます:
無次元化されたSchrödinger方程式
\begin{aligned}
- \frac{1}{2} \frac{\mathrm{d}^2 \bar{\varphi}}{\mathrm{d} \bar{x}^2} (\bar{x})
+ \bar{V}(\bar{x})\bar{\varphi}(\bar{x})
= \bar{E}\bar{\varphi}(\bar{x})
\end{aligned}


繰り返しになりますが,この一連の操作で両辺から次元のある量を全て消去できるのは偶然ではありません