从曲线坐标系推导拉普拉斯算符的表达式

本文章主要解答的问题是,为什么度规$g_{ij},g^{ij}$可以表达一个曲线坐标系的细节,以及与$\nabla$算符相关的表达式是如何在曲线坐标中推导和表达出来的。

曲线坐标系

如下图所示,为一个曲线坐标系在某一点的几何形式:

其中数学定义为

$$ \vb*r = x^i \vb*e_i = x^1 \vb*e_{1} + x^2 \vb*e_{2} + x^3 \vb*e_{3} $$

逆变基矢与协变基矢的定义

因而有基矢(协变基矢)定义:

$$ \vb*e_i = \pdv{\vb*r}{x^i} $$

上述协变基矢就是我们从高中开始学到的基矢,在正交坐标系中只需要基矢就可以了,但是在曲线坐标系中还可以定义逆变基矢。有两种定义方式:

  • 逆变基矢与协变基矢互为Reciprocal Sets of Vectors. 也就是满足如下表达式:

$$ \vb*e^i \cdot \vb*e_j = \delta^i_j $$

  • 也可以用叉乘来定义逆变基矢,其中$V$表示$\vb*e_1$,$\vb*e_2$,$\vb*e_3$形成的平行立方体的体积。

\begin{align*}
&\begin{cases}
\vb*e^1 &= \frac{1}{V}\qty(\vb*e_2 \cross \vb*e_3) \\
\vb*e^2 &= \frac{1}{V}\qty(\vb*e_3 \cross \vb*e_1) \\
\vb*e^3 &= \frac{1}{V}\qty(\vb*e_1 \cross \vb*e_2)
\end{cases}\\
&V = \vb*e_1 \cdot \qty(\vb*e_2 \cross \vb*e_3) = \pdv{\qty(x,y,z)}{\qty(x^1,x^2,x^3)} = \frac{1}{J}
\end{align*}

度规的定义

基于上面协变基矢和逆变基矢的定义,可以进一步定义度规:$g^{ij} = \vb*e^i \cdot \vb*e^j$, $g_{ij} = \vb*e_i \cdot \vb*e_j$。

逆变基矢和协变基矢的几何意义

协变基矢表示坐标曲线的方向

$$
\dd {\vb*s_i} = \vb*e_i \dd {x^i}
$$

逆变基矢表示坐标曲面法向方向(也即坐标的梯度)

\begin{equation}
\nabla x^i = \vb*e^i
\label{eq:gradient}
\end{equation}

坐标曲线的弧元表达式:
$$
\dd {\vb*s_i} = \vb*e_i \dd {x^i}
$$
坐标曲面的面元表达式:
\begin{equation}
\begin{cases}
\dd {\vb*a_1} = \dd {\vb*s_2} \cross \dd {\vb*s_3} = V \dd {x^2} \dd {x^3} \vb*e^1 \\
\dd {\vb*a_2} = \dd {\vb*s_3} \cross \dd {\vb*s_1} = V \dd {x^3} \dd {x^1} \vb*e^2 \\
\dd {\vb*a_3} = \dd {\vb*s_1} \cross \dd {\vb*s_2} = V \dd {x^1} \dd {x^2} \vb*e^3
\end{cases}
\label{eq:surface}
\end{equation}
坐标曲面的体元表达式:
\begin{equation}
\dd \tau = \sqrt g \dd x^1 \dd x^2 \dd x^3 = V \dd x^1 \dd x^2 \dd x^3
\label{eq:vol}
\end{equation}
其中$g$是度规$g_{ij}$的行列式的值
$$
g = \text{det}\qty(G) = \varepsilon_{ijk} g_{1i}g_{2j}g_{3k} = V^2
$$

标量场的梯度

正如公式\eqref{eq:gradient}所描述的那样,坐标的梯度正好是逆变基矢。因此对于任意标量场$\phi \qty(x^1, x^2, x^3)$的梯度$\nabla \phi$,则可由全微分的定义得到:

\begin{align*}
\dd {\phi} = \pdv{\phi}{x^i} \dd x^i = \pdv{\phi}{x^i} \vb*e^i \cdot \dd {\vb*r} = \nabla \phi \cdot \dd {\vb*r}
\end{align*}

由$\dd {\vb*r}$的任意性,可以得到$\nabla \phi$的表达式为: $$ \nabla \phi = \pdv{\phi}{x^i}\vb*e^i
$$

其中不同的书有不同的定义方法,其中张量分析的139页,对于Hamilton微分算子$\nabla$的定义就是
$$
\vb*g^i \pdv{}{x^i}
$$
梯度,散度与旋度是该算法与后续内容的运算方式不同(并,缩…)。

矢量场的散度

在推导矢量场的散度的表达式时,本文采用两个方法,殊途同归。

几何方法

通过对Hamilton算子的微分属性可得$\vb*u$的散度:

\begin{equation}
\nabla \cdot \vb*u = \nabla \cdot\qty(u^i \vb*e_i) = \vb*e_i \cdot \nabla u^i + u^i \nabla \cdot \vb*e_i
\label{eq:hamilton}
\end{equation}

求$\nabla \cdot \vb*e_i$,用原始定义(体积分$\to$面积分):

$\nabla \cdot \vb*e_i = \lim_{\Delta \tau \to 0} \frac{1}{\Delta \tau} \oint_{A} \vb*e_i\cdot \dd {\vb*a}$

可以带入体元表达式\eqref{eq:surface}和面元表达式\eqref{eq:vol}有(以$\vb*e_1$为例):

\begin{align*}
\nabla \cdot \vb*e_1 &= \lim_{\Delta \tau \to 0} \frac{1}{V\Delta x^1 \Delta x^2 \Delta x^3}
\oint_{A} \vb*e_1 \cdot \dd (V \Delta x^2 \Delta x^3 \vb*e^1) \\
&= \lim_{\Delta \tau \to 0} \frac{1}{V\Delta x^1}
\oint_{A} \dd V
\end{align*}
其中$V$是$\qty(x^1, x^2, x^3)$的函数,以$\vb*e_1$方向时,面积$A$的积分只考虑$x^1 + \Delta x^1$与$x^1$两处的面元。
\begin{align*}
\nabla \cdot \vb*e_1 &= \frac{1}{V} \lim_{\Delta x^1 \to 0} \frac{V\qty(x^1 + \Delta x^1) – V\qty(x^1)}{\Delta x^1} \\
&= \frac{1}{V} \pdv{V}{x^1} \\
&= \frac{1}{2g} \pdv{g}{x^1}
\end{align*}
得到基矢的散度$\nabla \cdot \vb*e_i = \frac{1}{V}\pdv{V}{x^i}$,回代入方程\eqref{eq:hamilton}有:

\begin{align*} \nabla \cdot \vb*u = \vb*e_i \cdot \nabla u^i + \frac{u^i}{V}\pdv{V}{x^i} = \pdv{u^i}{x^i} + \frac{u^i}{V}\pdv{V}{x^i} \end{align*}

引入Christoffel符号的数学推导

将散度$\nabla \cdot$定义为$\vb*e^i \cdot \pdv{\qty()}{x^i}$,可得$\vb*u$的散度: \begin{align*} \nabla \cdot \vb*u &= \vb*e^i \cdot \pdv{}{x^i}\qty(u^j \vb*e_j) \\ &= \pdv{u^i}{x^i} + \vb*e^i \cdot u^j\pdv{\vb*e_j}{x^i} \end{align*} 引入Christoffel符号定义 $$ \pdv{\vb*e_j}{x^i}=\Gamma^k_{ij}\vb*e_k $$ 则有 \begin{align*} \nabla \cdot \vb*u &= \pdv{u^i}{x^i} + u^j \vb*e^i \cdot \vb*e_k \Gamma^k_{ij} \\ &= \pdv{u^i}{x^i} + u^j \Gamma^i_{ij} \end{align*}

接下来对$\Gamma^i_{ij}$表达式进行证明:

\begin{align*} \pdv{V}{x^i} =& \pdv{}{x^i} \qty[\vb*e_1 \cdot \qty(\vb*e_2 \cross \vb*e_3)] \\ =& \pdv{\vb*e_1}{x^i} \cdot \qty(\vb*e2 \cross \vb*e3) + \vb*e_1 \cdot \qty(\pdv{\vb*e_2}{x^i} \cross \vb*e_3) + \vb*e_1 \cdot \qty(\vb*e_2 \cross \pdv{\vb*e_3}{x^i}) \\ =& \Gamma^j_{1i} \vb*e_j \cdot \qty(\vb*e2 \cross \vb*e3) + \vb*e_1 \cdot \qty(\Gamma^k_{2i} \vb*e_k \cross \vb*e_3) + \vb*e_1 \cdot \qty(\vb*e_2 \cross \Gamma^m_{3m} \vb*e_m) \\ =& \qty(\Gamma^1_{1i} + \Gamma^2_{2i} + \Gamma^3_{3i}) V \\ =& \Gamma^j_{ji} V \end{align*}

所以有
$$\nabla \cdot \vb*u = \pdv{u^i}{x^i} + \frac{u^i}{V}\pdv{V}{x^i}$$
与之前的几何推导的结论相同。

拉普拉斯算符推导

综合前面的$\nabla \cdot \vb*u$和$\nabla \phi$的表达式。 \begin{align*} \nabla^2 \phi =& \nabla \cdot \nabla \phi = \nabla \cdot \qty(\pdv{\phi}{x^i} \vb*e^i) \\ =& \nabla \cdot \qty(\pdv{\phi}{x^i} g^{ik} \vb*e_k) \end{align*} 其中可以将$\pdv{\phi}{x^i} g^{ik}$视为$u^k$,将$\nabla \cdot \vb*u$的表达式带入有 \begin{align*} \nabla \cdot \nabla \phi =& \nabla \cdot \vb*u = \pdv{u^k}{x^k} + \frac{u^k}{V} \pdv{V}{x^k} \\ =& \pdv{}{x^k}\qty(\pdv{\phi}{x^i}g^{ik}) + \pdv{\phi}{x^i}\frac{g^{ij}}{V}\pdv{V}{x^k} \\ =& \pdv{\phi}{x^k}{x^i} g^{ik} + \pdv{\phi}{x^i} \pdv{g^{ik}}{x^k} + \pdv{\phi}{x^i}\frac{g^{ik}}{V}\pdv{V}{x^k} \\ =& \pdv{\phi}{x^k}{x^i} g^{ik} + \frac{1}{V}\pdv{\phi}{x^i}\pdv{g^{ik}V}{x^k} \end{align*}

BOUT++的使用

bout中的变量G1,G2,G3如下所示:

G1 = (DDX(J*g11) + DDY(J*g12) + DDZ(J*g13))/J;
G2 = (DDX(J*g12) + DDY(J*g22) + DDZ(J*g23))/J;
G3 = (DDX(J*g13) + DDY(J*g23) + DDZ(J*g33))/J;

则有 $$ \nabla^2 \phi = g^{ik} \pdv{\phi}{x^i}{x^k} + G1\pdv{\phi}{x} + G2\pdv{\phi}{y} + G3\pdv{\phi}{z} $$ \begin{align*} \nabla^2 \phi = &g^{11} \pdv[2]{\phi}{x} + g^{22} \pdv[2]{\phi}{y} + g^{33} \pdv[2]{\phi}{z} \\ & + 2\qty(g^{12} \pdv{\phi}{x}{y} + g^{13} \pdv{\phi}{x}{z} + g^{23} \pdv{\phi}{y}{z}) \\ & + G1\pdv{\phi}{x} + G2\pdv{\phi}{y} + G3\pdv{\phi}{z} \end{align*}

文章标题:从曲线坐标系推导拉普拉斯算符的表达式
文章作者:Myron
转载链接:https://sunwaybits.tech/derivation-of-the-laplacian-operator-in-curvilinear-coordinates.html
暂无评论

发送评论 编辑评论


				
😃
😄
😁
😆
😅
😂
🤣
🥲
😊
😇
🙂
🙃
😉
😌
😍
🥰
😘
😗
😙
😚
😋
😛
😝
😜
🤪
🤨
🧐
🤓
😎
🥸
🤩
🥳
😏
😒
😞
😔
😟
😕
🙁
😣
😖
😫
😩
🥺
😢
😭
😤
😠
😡
🤬
🤯
😳
🥵
🥶
😱
😨
😰
😥
😓
🤗
🤔
🤭
🤫
🤥
😶
😐
😑
😬
🙄
Emoji
上一篇
下一篇