Changes between Version 5 and Version 6 of theory_Eng


Ignore:
Timestamp:
Feb 17, 2025, 7:27:12 AM (19 months ago)
Author:
Yifeng Zheng
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • theory_Eng

    v5 v6  
    66== ISSDE Basic Algorithm
    77* Splitting Method
    8 [[math(\boldsymbol{F}(\boldsymbol{x},\boldsymbol{v})=\left[\begin{array}{c}\mathbf{v}\\0\end{array}\right]+\left[\begin{array}{c}0\\ \frac{q}{m}\mathbf{E}\end{array}\right]+\left[\begin{array}{c}0\\ \frac{q}{m}\mathbf{v}\times\mathbf{B}\end{array}\right]+\left[\begin{array}{c}0\\ \mathbf{a}_{c}\end{array}\right]\ ,)]]
     8The equations that ISSDE mainly requires to be solved are \\
     9[[math(\begin{equation}\begin{cases}\frac{\mathrm{d}\mathbf{x}}{\mathrm{d}t} & =\mathbf{v}\ ,\\ \frac{\mathrm{d}\mathbf{v}}{\mathrm{d}t} & =\frac{q}{m}\mathbf{E}+\frac{q}{m}\mathbf{v}\times\mathbf{B}+\mathbf{a}_{c}\ ,\end{cases}\end{equation})]] \\
     10where [[math(\mathbf{a}_{c})]] is the acceleration caused by the Coulomb collision. According to splitting method, the equation can be regarded as a vector field [[math(\boldsymbol{F}(\boldsymbol{x},\boldsymbol{v}))]] \\
     11[[math(\boldsymbol{F}(\boldsymbol{x},\boldsymbol{v})=\left[\begin{array}{c}\mathbf{v}\\0\end{array}\right]+\left[\begin{array}{c}0\\ \frac{q}{m}\mathbf{E}\end{array}\right]+\left[\begin{array}{c}0\\ \frac{q}{m}\mathbf{v}\times\mathbf{B}\end{array}\right]+\left[\begin{array}{c}0\\ \mathbf{a}_{c}\end{array}\right]\ ,)]]\\
     12Therefore, the above system can be divided into four subsystems and then solved separately. These subsystems are\\
     13[[math(\boldsymbol{\phi}_t ^{F_1}:\begin{cases}\boldsymbol{x}(t)=\boldsymbol{x}_0+t\boldsymbol{v}_0,\ \\ \boldsymbol{v}(t)=\boldsymbol{v}_0,\ \end{cases})]] \\
     14[[math(\boldsymbol{\phi}_t ^{F_2}:\begin{cases}\boldsymbol{x}(t)=\boldsymbol{x}_0,\ \\ \boldsymbol{v}(t)=\boldsymbol{v}_0+tq\boldsymbol{E}(\boldsymbol{x}_0)/m,\ \end{cases})]] \\
     15[[math(\boldsymbol{\phi}_t ^{F_3}:\begin{cases}\boldsymbol{x}(t)=\boldsymbol{x}_0+t\boldsymbol{v}_0,\ \\ \boldsymbol{v}(t)=\exp(-t\frac{q}{m}\hat{\boldsymbol{B}}(\boldsymbol{x}_0))\boldsymbol{v}_0,\ \end{cases})]] \\
     16where\\
     17[[math(\hat{\boldsymbol{B}}(\boldsymbol{x})=\left[\begin{array}{ccc}0 & -B_{3}(\boldsymbol{x}) & B_{2}(\boldsymbol{x})\\ B_{3}(\boldsymbol{x}) & 0 & -B_{1}(\boldsymbol{x})\\ -B_{2}(\boldsymbol{x}) & B_{1}(\boldsymbol{x}) & 0 \end{array}\right])]] \\
     18[[math(\boldsymbol{\phi}_t ^{F_4}:\begin{cases}\boldsymbol{x}(t)=\boldsymbol{x}_0,\ \\ \int\rm{d}\boldsymbol{v}=\int\boldsymbol{a}_{c}\rm{d}t\ . \end{cases})]] \\
     19The main purpose is that for the deterministic parts, which are [[math(\boldsymbol{\phi}_t ^{F_1},\ \boldsymbol{\phi}_t ^{F_2},\ \boldsymbol{\phi}_t ^{F_3})]], we can use the volume-preserving algorithm to calculte, while the Coulomb collision part, which is [[math(\boldsymbol{\phi}_t ^{F_4})]], still uses the Newton-Raphson method or the quasi-Newton method for calculation. In order to construct a second-order algorithm of implicit midpoint similar to Boris algorithm, we can use such a combination\\
     20[[math(\boldsymbol{G}_h ^2=\boldsymbol{\phi}_{h/2} ^{F_1}\circ \boldsymbol{\phi}_{h/2} ^{F_2} \circ \boldsymbol{\phi}_{h/2} ^{F_4} \circ \boldsymbol{\phi}_{h} ^{F_3} \circ \boldsymbol{\phi}_{h/2} ^{F_4}\circ \boldsymbol{\phi}_{h/2} ^{F_2} \circ \boldsymbol{\phi}_{h/2} ^{F_1}\ .)]]\\
     21The calculate each part separately. When there is no collision, it reduces to the normal Boris algorithm as\\
     22[[math(\boldsymbol{G}_h ^2=\boldsymbol{\phi}_{h/2} ^{F_1}\circ \boldsymbol{\phi}_{h/2} ^{F_2} \circ \boldsymbol{\phi}_{h} ^{F_3} \circ \boldsymbol{\phi}_{h/2} ^{F_2} \circ \boldsymbol{\phi}_{h/2} ^{F_1}\ .)]]\\
    923
    1024* Volumn-preserving algorithm