|
103 | 103 | \[\frac{d\mathbf{x}}{dt} = \sigma\,\mathbf{u}(\mathbf{x},t)\,, |
104 | 104 | \mathbf{x}(t_n)=\mathbf{x}_n\,,\]</div> |
105 | 105 | <p>where <span class="math notranslate nohighlight">\(\sigma = \pm1\)</span> selects forward or backward integration. |
106 | | -During the time integration process, the algorithm frequently queries the flow velocity vector <span class="math notranslate nohighlight">\(\bm{v}(\bm{x},t)\)</span> at specific locations and moments with very high precision. |
107 | | -However, since the computational grid is inherently spatially discretized, high-order interpolation methods are required by the program to obtain a physically meaningful flow map. |
| 106 | +During the time integration process, the algorithm frequently queries the flow velocity vector <span class="math notranslate nohighlight">\(\mathbf{v}(\mathbf{x},t)\)</span> at specific locations and moments with very high precision requirements. |
| 107 | +However, since the data grid is inherently spatially discretized, high-order interpolation methods are required by the program to keep numerical stability and obtain a physically meaningful flow map. |
108 | 108 | Furthermore, when querying the velocity, special wall treatment must be applied at the boundaries to avoid value discontinuities and to represent certain real physical conditions.</p> |
109 | 109 | <section id="time-integration"> |
110 | 110 | <span id="marching"></span><h3>Time Integration<a class="headerlink" href="#time-integration" title="Link to this heading"></a></h3> |
|
126 | 126 | <div class="math notranslate nohighlight"> |
127 | 127 | \[y_{n+1} = y_n + h \sum_{i=1}^s b_i\,k_i.\]</div> |
128 | 128 | <p><strong>Second-Order Runge-Kutta (RK2, Heun’s)</strong></p> |
129 | | -<p>Heun’s method attains second-order accuracy by combining predictor and corrector slopes:</p> |
| 129 | +<p>Heun’s <code class="docutils literal notranslate"><span class="pre">RK2</span></code> method attains second-order accuracy by combining predictor and corrector slopes:</p> |
130 | 130 | <div class="math notranslate nohighlight"> |
131 | 131 | \[\begin{split}k_1 &= \sigma\,\mathbf{u}(\mathbf{x}_n,t_n),\\ |
132 | 132 | \mathbf{x}^* &= \mathbf{x}_n + \Delta t\,k_1,\\ |
133 | 133 | k_2 &= \sigma\,\mathbf{u}(\mathbf{x}^*,t_n + \Delta t),\\ |
134 | 134 | \mathbf{x}_{n+1} &= \mathbf{x}_n + \tfrac{\Delta t}{2}\,(k_1 + k_2).\end{split}\]</div> |
135 | 135 | <p>This scheme yields a global error of order <span class="math notranslate nohighlight">\(O(\Delta t^2)\)</span> with two velocity evaluations per step.</p> |
136 | 136 | <p><strong>Classical Fourth-Order Runge-Kutta (RK4)</strong></p> |
137 | | -<p>The classical RK4 method achieves fourth-order accuracy via four slope evaluations at intermediate points:</p> |
| 137 | +<p>The classical <code class="docutils literal notranslate"><span class="pre">RK4</span></code> method achieves fourth-order accuracy via four slope evaluations at intermediate points:</p> |
138 | 138 | <div class="math notranslate nohighlight"> |
139 | 139 | \[\begin{split}k_1 = \mathbf{u}(\mathbf{x}_n,t_n),\\ |
140 | 140 | k_2 = \mathbf{u}\!\bigl(\mathbf{x}_n + \tfrac{\Delta t}{2}k_1,\;t_n + \tfrac{\Delta t}{2}\bigr),\\ |
|
0 commit comments