{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"],"fields":{"title":{"boost":1000.0},"text":{"boost":1.0},"tags":{"boost":1000000.0}}},"docs":[{"location":"","title":"meanas","text":"<p><code>meanas</code> is a Python package for finite-difference electromagnetic simulation. It combines:</p> <ul> <li><code>meanas.fdfd</code> for frequency-domain operators, sources, waveguide modes, and SCPML</li> <li><code>meanas.fdtd</code> for Yee-grid timestepping, CPML, energy/flux accounting, and phasor extraction</li> <li><code>meanas.fdmath</code> for the shared discrete operators and derivations underneath both solvers</li> </ul> <p>This documentation is built directly from the package docstrings. The API pages are the source of truth for the mathematical derivations and calling conventions.</p>"},{"location":"#examples-and-api-map","title":"Examples and API Map","text":"<p>For most users, the tracked examples under <code>examples/</code> are the right entry point. They show the intended combinations of tools for solving complete problems.</p> <p>Relevant starting examples:</p> <ul> <li><code>examples/fdtd.py</code> for broadband pulse excitation and phasor extraction</li> <li><code>examples/waveguide.py</code> for guided phasor-domain FDTD/FDFD comparison</li> <li><code>examples/waveguide_real.py</code> for real-valued continuous-wave FDTD compared against real fields reconstructed from an FDFD solution, including guided-core, mode-weighted, and guided-mode / residual comparisons</li> <li><code>examples/fdfd.py</code> for direct frequency-domain waveguide excitation</li> </ul> <p>For solver equivalence, prefer the phasor-based examples first. They compare the extracted <code>+\\omega</code> content of the FDTD run directly against the FDFD solution and are the main accuracy benchmarks in the test suite.</p> <p><code>examples/waveguide_real.py</code> answers a different, stricter question: how well a late raw real snapshot matches <code>Re(E_\\omega e^{i\\omega t})</code> on a monitor plane. That diagnostic is useful, but it also includes orthogonal residual structure that the phasor comparison intentionally filters out.</p> <p>The API pages are better read as a toolbox map and derivation reference:</p> <ul> <li>Use the FDTD API for time-domain stepping, CPML, phasor extraction, and real-field reconstruction from FDFD phasors.</li> <li>Use the FDFD API for driven frequency-domain solves and sparse operator algebra.</li> <li>Use the Waveguide API for mode solving, port sources, and overlap windows.</li> <li>Use the fdmath API for the lower-level finite-difference operators and the shared discrete derivations underneath both solvers.</li> </ul>"},{"location":"#build-outputs","title":"Build outputs","text":"<p>The docs build generates two HTML views from the same source:</p> <ul> <li>a normal multi-page site</li> <li>a print-oriented combined page under <code>site/print_page/</code></li> </ul> <p>If <code>htmlark</code> is installed, <code>./make_docs.sh</code> also writes a fully inlined <code>site/standalone.html</code>.</p>"},{"location":"api/","title":"API Overview","text":"<p>The package is documented directly from its docstrings. The most useful entry points are:</p> <ul> <li>meanas: top-level package overview</li> <li>eigensolvers: generic eigenvalue utilities used by the mode solvers</li> <li>fdfd: frequency-domain operators, sources, PML, solvers, and far-field transforms</li> <li>waveguides: straight, cylindrical, and 3D waveguide mode helpers</li> <li>fdtd: timestepping, CPML, energy/flux helpers, and phasor extraction</li> <li>fdmath: shared discrete operators, vectorization helpers, and derivation background</li> </ul> <p>The waveguide and FDTD pages are the best places to start if you want the mathematical derivations rather than just the callable reference.</p>"},{"location":"api/eigensolvers/","title":"eigensolvers","text":""},{"location":"api/eigensolvers/#meanas.eigensolvers","title":"meanas.eigensolvers","text":"<p>Solvers for eigenvalue / eigenvector problems</p>"},{"loca