Allen-Cahn 和 Cahn-Hilliard 方程的推导

Numerical methods for Navier-Stokes equations and phase-field models

梯度流

从自由能开始

一个常见且简单的自由能是这样定义的:

\[E(\phi) = \int_{\Omega} \frac{1}{2} \left| \nabla \phi \right|^2 + F(\phi) \, d\Omega \]

其中,\(\nabla\)是梯度算子,\(\phi\)是标量或向量,在相场中通常指代相场参量,\(F(\phi)\)是自由能密度函数。一个通常的自由能密度函数是:

\[F(\phi) = \frac{1}{4} \left( \phi^2 - 1 \right)^2 \]

这是一个双井势函数。

通常,我们考虑的标准问题是相场的演化,即:

\[\frac{\partial \phi}{\partial t} = - G \frac{\delta E(\phi)}{\delta \phi} \]

这个式子的意思就是能量\(E\)下降最快的方向就是\(\phi\)的随时间变化方向。其中,\(\frac{\partial \phi}{\partial t}\) 指的是 \(\phi\)的时间导数,也就是\(\phi\)随时间的变化率。\(\frac{\delta E}{\delta \phi}\)是能量\(E\)\(\phi\)的变化率。当我们取负数时,就是能量下降最快的方向。\(G\)是一个算子。这会在下面详细讲解。

算子的意思是一个函数,它接受一个函数,然后返回一个函数。更为正式的说法是从函数空间到函数空间的映射。这里,\(G\)的选择是多样的。

  1. G是一个正定算子(Positive Definite Operator)。当G是正定算子的时候,\(\frac{\partial \phi}{\partial t} = - G \frac{\delta E}{\delta \phi}\) 就是梯度流。常见的正定算子包括:
    • 恒等式,例如:\(G = I\),这可以推出Allen-Cahn方程。
  2. G是反对称算子(Anti-symmetric Operator)。此时,\(\frac{\partial \phi}{\partial t} = - G \frac{\delta E}{\delta \phi}\) 能量守恒。常见的反对称算子包括:
    • 负离散Laplace算子:\(-\nabla^2\) 或者 \(-\Delta\),这可以推出Cahn-Hilliard方程。当我们把整个\(-G\)视为一个算子,且取\(G = \Delta\)的时候,这就是一个反对称算子。

    反对称算子在数学和物理学中经常出现,特别是在描述旋转和某些类型的对称性时。一个具体的例子是三维空间中的旋转矩阵。在三维空间中,一个旋转可以由一个3x3的矩阵表示,这个矩阵是反对称的。让我们考虑一个简单的例子,其中\(G\)是一个表示旋转的反对称矩阵。在三维空间中,一个反对称矩阵\(G\)可以写成如下形式:

    \[ G = \begin{bmatrix} 0 & -g_3 & g_2 \\ g_3 & 0 & -g_1 \\ -g_2 & g_1 & 0 \end{bmatrix} \]

    这里,\(g_1\),\(g_2\),\(g_3\)是矩阵\(G\)的元素,它们对应于旋转轴的方向余弦。这个矩阵的反对称性质体现在\(G = -G^\top\),即:

    \[ G^\top = \begin{bmatrix} 0 & g_3 & -g_2 \\ -g_3 & 0 & g_1 \\ g_2 & -g_1 & 0 \end{bmatrix} \]

    \(G\)是反对称算子时,我们有\(G = -G^\top\),这意味着\(G\)的转置等于它的负值。一个矩阵\(G\)是反对称的,当且仅当对于所有向量\(u\)\(v\),有\(u \cdot (Gv) = - (Gu) \cdot v\)

    要证明当 \(G\) 是反对称算子时,对于所有向量 \(u\)\(v\),有 \(u \cdot (Gv) = - (Gu) \cdot v\),我们可以直接利用反对称矩阵的定义和性质。

    首先,我们知道反对称矩阵 \(G\) 满足 \(G = -G^\top\)。这意味着对于任何向量 \(u\)\(v\),我们有:

    \[u \cdot (Gv) = u^\top Gv \]

    由于 \(G = -G^\top\),我们可以将 \(G\) 替换为 \(-G^\top\)

    \[u^\top Gv = u^\top (-G^\top) v = - (u^\top G^\top v)\]

    现在,注意到 \(u^\top G^\top v\) 实际上是 \((Gu)^\top v\),因为 \(u^\top G^\top v = (Gu)^\top v\)。因此,我们有:

    \[(u^\top G^\top v) = - (Gu)^\top v = - (Gu) \cdot v \]

    这证明了对于所有向量 \(u\)\(v\),有 \(u \cdot (Gv) = - (Gu) \cdot v\)。这个等式表明了反对称矩阵的一个重要性质,即它在对向量进行线性变换时保持了某种对称性(在这个情况下是反对称性)。

当我们取他们的共性在于,当我们对\(\frac{\partial \phi}{\partial t} = - G \frac{\delta E}{\delta \phi}\)的两边做内积,也就是:

\[\frac{\partial \phi}{\partial t} \cdot \frac{\delta E(\phi)}{\delta \phi} = - G \frac{\delta E(\phi)}{\delta \phi} \cdot \frac{\delta E(\phi)}{\delta \phi} \]

受到链式法则启发:

\[\frac{\partial E(\phi)}{\partial t} = - G \frac{\delta E(\phi)}{\delta \phi} \cdot \frac{\delta E(\phi)}{\delta \phi} \]

这样的方程在物理意义上,实际表达了能量随时间的变化率。随着算子\(G\)的不同,我们可以看出不同的效果。

  1. 当G是正定算子,此时,\(- G \frac{\delta E(\phi)}{\delta \phi} \cdot \frac{\delta E(\phi)}{\delta \phi} < 0\),也就是\(\frac{\partial E(\phi)}{\partial t} < 0\),能量随着时间是耗散/下降的。
  2. 当G是反对称算子,此时,\(- G \frac{\delta E(\phi)}{\delta \phi} \cdot \frac{\delta E(\phi)}{\delta \phi} = \frac{\delta E(\phi)}{\delta \phi} \cdot G \frac{\delta E(\phi)}{\delta \phi} = 0\),也就是\(\frac{\partial E(\phi)}{\partial t} = 0\),能量随着时间的变化不变,也就是说能量是守恒的。

    现在,让我们看一下表达式\(- G \frac{\delta E(\phi)}{\delta \phi} \cdot \frac{\delta E(\phi)}{\delta \phi}\)

    1. 首先,由于\(G\)是反对称的,我们有\(G = -G^\top\)
    2. 然后我们来看点乘(内积):

    \[- G \frac{\delta E(\phi)}{\delta \phi} \cdot \frac{\delta E(\phi)}{\delta \phi} = - \left( G \frac{\delta E(\phi)}{\delta \phi} \right) \cdot \frac{\delta E(\phi)}{\delta \phi} \]

    根据反对称性质:

    \[\left( G \frac{\delta E(\phi)}{\delta \phi} \right) \cdot \frac{\delta E(\phi)}{\delta \phi} = - \left( \frac{\delta E(\phi)}{\delta \phi} \right) \cdot \left( G \frac{\delta E(\phi)}{\delta \phi} \right) \]

    1. 因此,我们得到:

    \[- \left( G \frac{\delta E(\phi)}{\delta \phi} \right) \cdot \frac{\delta E(\phi)}{\delta \phi} = \left( \frac{\delta E(\phi)}{\delta \phi} \right) \cdot \left( G \frac{\delta E(\phi)}{\delta \phi} \right) \]

    因为内积是交换的,所以:

    \[\left( \frac{\delta E(\phi)}{\delta \phi} \right) \cdot \left( G \frac{\delta E(\phi)}{\delta \phi} \right) = - \left( G \frac{\delta E(\phi)}{\delta \phi} \right) \cdot \frac{\delta E(\phi)}{\delta \phi}\]

    这表明:

    \[\left( \frac{\delta E(\phi)}{\delta \phi} \right) \cdot \left( G \frac{\delta E(\phi)}{\delta \phi} \right) = 0\]

    所以:

    \[G \frac{\delta E(\phi)}{\delta \phi} \cdot \frac{\delta E(\phi)}{\delta \phi} = 0 \]

    再结合时间上的导数,假设系统的能量\(E(\phi)\)是一个时间不变的量,系统中的某个量的时间导数可以通过梯度流的变化来表示:

    \[\frac{\partial E(\phi)}{\partial t} = \frac{\delta E(\phi)}{\delta \phi} \cdot \frac{d \phi}{dt} \]

    由于\(\frac{d \phi}{dt} = - G \frac{\delta E(\phi)}{\delta \phi}\),我们有:

    \[\frac{\partial E(\phi)}{\partial t} = \frac{\delta E(\phi)}{\delta \phi} \cdot \left(- G \frac{\delta E(\phi)}{\delta \phi}\right) = 0 \]

    因此,能量\(E(\phi)\)在时间上是不变的,这意味着能量是守恒的。

变分导数

我不会,看这个:

总而言之,Euler-Lagrange是:

\[\frac{\delta E}{\delta \phi} = \frac{\partial \hat{E}}{\partial \phi} - \nabla \cdot \left( \frac{\partial \hat{E}}{\partial (\nabla \phi)} \right) \]

Allen-Cahn的推导

自由能的定义是:

\[E(\phi) = \int_{\Omega} \frac{1}{2} \left| \nabla \phi \right|^2 + F(\phi) \, d\Omega \]

我们求它对\(\phi\)的变分导数:

\[\frac{\delta E}{\delta \phi} = \frac{\partial F}{\partial \phi} - \nabla \cdot \nabla \phi = \frac{\partial F}{\partial \phi} - \nabla^2 \phi \]

又根据我们之前说的梯度流$$\frac{\partial \phi}{\partial t} = - G \frac{\delta E}{\delta \phi}$$,当我们取\(G = I\)时,就是Allen-Cahn方程:

\[\frac{\partial \phi}{\partial t} = \nabla^2 \phi - \frac{\partial F}{\partial \phi} \]

我们之前就已经知道,这是能量不守恒的。

Cahn-Hilliard的推导

类似的,我们求自由能对\(\phi\)的变分导数:

\[\frac{\delta E}{\delta \phi} = \frac{\partial F}{\partial \phi} - \nabla^2 \phi \]

当我们取\(G = -\nabla^2\)时,就是Cahn-Hilliard方程:

\[\frac{\partial \phi}{\partial t} = \nabla^2 \left( \frac{\partial F}{\partial \phi} - \nabla^2 \phi \right) \]

这是能量守恒的。

posted @ 2024-06-13 22:36  Lemon-GPU  阅读(155)  评论(0编辑  收藏  举报