Publish docs for local build

This commit is contained in:
Forgejo Actions 2026-04-19 16:40:30 -07:00
commit 693e3af8fa
9 changed files with 2042 additions and 817 deletions

View file

@ -1345,58 +1345,63 @@ matrix equation (Ax=b) or eigenvalue problem.</p>
<p>From the "Frequency domain" section of <code>meanas.fdmath</code>, we have</p>
<div class="arithmatex">\[
\begin{aligned}
\tilde{E}_{l, \vec{r}} &amp;= \tilde{E}_{\vec{r}} e^{-\imath \omega l \Delta_t} \\
\tilde{H}_{l - \frac{1}{2}, \vec{r} + \frac{1}{2}} &amp;= \tilde{H}_{\vec{r} + \frac{1}{2}} e^{-\imath \omega (l - \frac{1}{2}) \Delta_t} \\
\tilde{J}_{l, \vec{r}} &amp;= \tilde{J}_{\vec{r}} e^{-\imath \omega (l - \frac{1}{2}) \Delta_t} \\
\tilde{M}_{l - \frac{1}{2}, \vec{r} + \frac{1}{2}} &amp;= \tilde{M}_{\vec{r} + \frac{1}{2}} e^{-\imath \omega l \Delta_t} \\
\tilde{E}_{l, \vec{r}} &= \tilde{E}_{\vec{r}} e^{-\imath \omega l \Delta_t} \\
\tilde{H}_{l - \frac{1}{2}, \vec{r} + \frac{1}{2}} &= \tilde{H}_{\vec{r} + \frac{1}{2}} e^{-\imath \omega (l - \frac{1}{2}) \Delta_t} \\
\tilde{J}_{l, \vec{r}} &= \tilde{J}_{\vec{r}} e^{-\imath \omega (l - \frac{1}{2}) \Delta_t} \\
\tilde{M}_{l - \frac{1}{2}, \vec{r} + \frac{1}{2}} &= \tilde{M}_{\vec{r} + \frac{1}{2}} e^{-\imath \omega l \Delta_t} \\
\hat{\nabla} \times (\mu^{-1}_{\vec{r} + \frac{1}{2}} \cdot \tilde{\nabla} \times \tilde{E}_{\vec{r}})
-\Omega^2 \epsilon_{\vec{r}} \cdot \tilde{E}_{\vec{r}} &amp;= -\imath \Omega \tilde{J}_{\vec{r}} e^{\imath \omega \Delta_t / 2} \\
\Omega &amp;= 2 \sin(\omega \Delta_t / 2) / \Delta_t
-\Omega^2 \epsilon_{\vec{r}} \cdot \tilde{E}_{\vec{r}} &= -\imath \Omega \tilde{J}_{\vec{r}} e^{\imath \omega \Delta_t / 2} \\
\Omega &= 2 \sin(\omega \Delta_t / 2) / \Delta_t
\end{aligned}
\]</div>
<p>resulting in</p>
<div class="arithmatex">\[
\begin{aligned}
\tilde{\partial}_t &amp;\Rightarrow -\imath \Omega e^{-\imath \omega \Delta_t / 2}\\
\hat{\partial}_t &amp;\Rightarrow -\imath \Omega e^{ \imath \omega \Delta_t / 2}\\
\tilde{\partial}_t &\Rightarrow -\imath \Omega e^{-\imath \omega \Delta_t / 2}\\
\hat{\partial}_t &\Rightarrow -\imath \Omega e^{ \imath \omega \Delta_t / 2}\\
\end{aligned}
\]</div>
<p>Maxwell's equations are then</p>
<div class="arithmatex">\[
\begin{aligned}
\tilde{\nabla} \times \tilde{E}_{\vec{r}} &amp;=
\tilde{\nabla} \times \tilde{E}_{\vec{r}} &=
\imath \Omega e^{-\imath \omega \Delta_t / 2} \hat{B}_{\vec{r} + \frac{1}{2}}
- \hat{M}_{\vec{r} + \frac{1}{2}} \\
\hat{\nabla} \times \hat{H}_{\vec{r} + \frac{1}{2}} &amp;=
\hat{\nabla} \times \hat{H}_{\vec{r} + \frac{1}{2}} &=
-\imath \Omega e^{ \imath \omega \Delta_t / 2} \tilde{D}_{\vec{r}}
+ \tilde{J}_{\vec{r}} \\
\tilde{\nabla} \cdot \hat{B}_{\vec{r} + \frac{1}{2}} &amp;= 0 \\
\hat{\nabla} \cdot \tilde{D}_{\vec{r}} &amp;= \rho_{\vec{r}}
\tilde{\nabla} \cdot \hat{B}_{\vec{r} + \frac{1}{2}} &= 0 \\
\hat{\nabla} \cdot \tilde{D}_{\vec{r}} &= \rho_{\vec{r}}
\end{aligned}
\]</div>
<p>With <span class="arithmatex">\(\Delta_t \to 0\)</span>, this simplifies to</p>
<div class="arithmatex">\[
\begin{aligned}
\tilde{E}_{l, \vec{r}} &amp;\to \tilde{E}_{\vec{r}} \\
\tilde{H}_{l - \frac{1}{2}, \vec{r} + \frac{1}{2}} &amp;\to \tilde{H}_{\vec{r} + \frac{1}{2}} \\
\tilde{J}_{l, \vec{r}} &amp;\to \tilde{J}_{\vec{r}} \\
\tilde{M}_{l - \frac{1}{2}, \vec{r} + \frac{1}{2}} &amp;\to \tilde{M}_{\vec{r} + \frac{1}{2}} \\
\Omega &amp;\to \omega \\
\tilde{\partial}_t &amp;\to -\imath \omega \\
\hat{\partial}_t &amp;\to -\imath \omega \\
\tilde{E}_{l, \vec{r}} &\to \tilde{E}_{\vec{r}} \\
\tilde{H}_{l - \frac{1}{2}, \vec{r} + \frac{1}{2}} &\to \tilde{H}_{\vec{r} + \frac{1}{2}} \\
\tilde{J}_{l, \vec{r}} &\to \tilde{J}_{\vec{r}} \\
\tilde{M}_{l - \frac{1}{2}, \vec{r} + \frac{1}{2}} &\to \tilde{M}_{\vec{r} + \frac{1}{2}} \\
\Omega &\to \omega \\
\tilde{\partial}_t &\to -\imath \omega \\
\hat{\partial}_t &\to -\imath \omega \\
\end{aligned}
\]</div>
<p>and then</p>
<div class="arithmatex">\[
\begin{aligned}
\tilde{\nabla} \times \tilde{E}_{\vec{r}} &amp;=
\tilde{\nabla} \times \tilde{E}_{\vec{r}} &=
\imath \omega \hat{B}_{\vec{r} + \frac{1}{2}}
- \hat{M}_{\vec{r} + \frac{1}{2}} \\
\hat{\nabla} \times \hat{H}_{\vec{r} + \frac{1}{2}} &amp;=
\hat{\nabla} \times \hat{H}_{\vec{r} + \frac{1}{2}} &=
-\imath \omega \tilde{D}_{\vec{r}}
+ \tilde{J}_{\vec{r}} \\
\end{aligned}
\]</div>
<div class="arithmatex">\[
\hat{\nabla} \times (\mu^{-1}_{\vec{r} + \frac{1}{2}} \cdot \tilde{\nabla} \times \tilde{E}_{\vec{r}})
-\omega^2 \epsilon_{\vec{r}} \cdot \tilde{E}_{\vec{r}} = -\imath \omega \tilde{J}_{\vec{r}} \\
@ -2064,6 +2069,7 @@ mask selecting the total-field region, then the TFSF source is the commutator</p
<div class="arithmatex">\[
\frac{A Q - Q A}{-i \omega} E.
\]</div>
<p>This vanishes in the interior of the total-field and scattered-field regions
and is supported only at their shared boundary, where the mask discontinuity
makes <code>A</code> and <code>Q</code> fail to commute. The returned current is therefore the
@ -2416,11 +2422,15 @@ the <code>meanas.fdmath.types</code> submodule for details.</p>
<div class="doc doc-contents ">
<p>Wave operator
$$ \nabla \times (\frac{1}{\mu} \nabla \times) - \Omega^2 \epsilon $$</p>
<div class="arithmatex">\[ \nabla \times (\frac{1}{\mu} \nabla \times) - \Omega^2 \epsilon \]</div>
</p>
<div class="highlight"><pre><span></span><code>del x (1/mu * del x) - omega**2 * epsilon
</code></pre></div>
<p>for use with the E-field, with wave equation
$$ (\nabla \times (\frac{1}{\mu} \nabla \times) - \Omega^2 \epsilon) E = -\imath \omega J $$</p>
<div class="arithmatex">\[ (\nabla \times (\frac{1}{\mu} \nabla \times) - \Omega^2 \epsilon) E = -\imath \omega J \]</div>
</p>
<div class="highlight"><pre><span></span><code>(del x (1/mu * del x) - omega**2 * epsilon) E = -i * omega * J
</code></pre></div>
<p>To make this matrix symmetric, use the preconditioners from <code>e_full_preconditioners()</code>.</p>
@ -2678,11 +2688,15 @@ The PMC is applied per-field-component (i.e. <code>pmc.size == epsilon.size</cod
<div class="doc doc-contents ">
<p>Wave operator
$$ \nabla \times (\frac{1}{\epsilon} \nabla \times) - \omega^2 \mu $$</p>
<div class="arithmatex">\[ \nabla \times (\frac{1}{\epsilon} \nabla \times) - \omega^2 \mu \]</div>
</p>
<div class="highlight"><pre><span></span><code>del x (1/epsilon * del x) - omega**2 * mu
</code></pre></div>
<p>for use with the H-field, with wave equation
$$ (\nabla \times (\frac{1}{\epsilon} \nabla \times) - \omega^2 \mu) E = \imath \omega M $$</p>
<div class="arithmatex">\[ (\nabla \times (\frac{1}{\epsilon} \nabla \times) - \omega^2 \mu) E = \imath \omega M \]</div>
</p>
<div class="highlight"><pre><span></span><code>(del x (1/epsilon * del x) - omega**2 * mu) E = i * omega * M
</code></pre></div>
@ -2855,25 +2869,30 @@ The PMC is applied per-field-component (i.e. <code>pmc.size == epsilon.size</cod
<div class="doc doc-contents ">
<p>Wave operator for <code>[E, H]</code> field representation. This operator implements Maxwell's
equations without cancelling out either E or H. The operator is
$$ \begin{bmatrix}
-\imath \omega \epsilon &amp; \nabla \times \
\nabla \times &amp; \imath \omega \mu
\end{bmatrix} $$</p>
equations without cancelling out either E or H. The operator is</p>
<div class="arithmatex">\[
\begin{bmatrix}
-\imath \omega \epsilon & \nabla \times \\
\nabla \times & \imath \omega \mu
\end{bmatrix}
\]</div>
<div class="highlight"><pre><span></span><code>[[-i * omega * epsilon, del x ],
[del x, i * omega * mu]]
</code></pre></div>
<p>for use with a field vector of the form <code>cat(vec(E), vec(H))</code>:
$$ \begin{bmatrix}
-\imath \omega \epsilon &amp; \nabla \times \
\nabla \times &amp; \imath \omega \mu
<p>for use with a field vector of the form <code>cat(vec(E), vec(H))</code>:</p>
<div class="arithmatex">\[
\begin{bmatrix}
-\imath \omega \epsilon & \nabla \times \\
\nabla \times & \imath \omega \mu
\end{bmatrix}
\begin{bmatrix} E \
\begin{bmatrix} E \\
H
\end{bmatrix}
= \begin{bmatrix} J \
= \begin{bmatrix} J \\
-M
\end{bmatrix} $$</p>
\end{bmatrix}
\]</div>
<p><span class="doc-section-title">Parameters:</span></p>
@ -3408,6 +3427,7 @@ usual antisymmetry of the cross product,</p>
<div class="arithmatex">\[
H \times E = -(E \times H),
\]</div>
<p>once the same staggered field placement is used on both sides.</p>
@ -3527,6 +3547,7 @@ Then the TFSF current operator is the commutator</p>
<div class="arithmatex">\[
\frac{A Q - Q A}{-i \omega}.
\]</div>
<p>Inside regions where <code>Q</code> is locally constant, <code>A</code> and <code>Q</code> commute and the
source vanishes. Only cells at the TF/SF boundary contribute nonzero current,
which is exactly the desired distributed source for injecting the chosen