[docs] high level doc updates
This commit is contained in:
parent
6f29dd89a8
commit
318c43d62d
3 changed files with 24 additions and 55 deletions
49
README.md
49
README.md
|
|
@ -109,7 +109,7 @@ python3 -m pytest -rsxX | tee test_results.txt
|
||||||
|
|
||||||
## Use
|
## Use
|
||||||
|
|
||||||
`meanas` is organized around a few core workflows:
|
`meanas` is a collection of finite-difference electromagnetics tools:
|
||||||
|
|
||||||
- `meanas.fdfd`: frequency-domain wave equations, sparse operators, SCPML, and
|
- `meanas.fdfd`: frequency-domain wave equations, sparse operators, SCPML, and
|
||||||
iterative solves for driven problems.
|
iterative solves for driven problems.
|
||||||
|
|
@ -121,13 +121,10 @@ python3 -m pytest -rsxX | tee test_results.txt
|
||||||
- `meanas.fdmath`: low-level finite-difference operators, vectorization helpers,
|
- `meanas.fdmath`: low-level finite-difference operators, vectorization helpers,
|
||||||
and derivations shared by the FDTD and FDFD layers.
|
and derivations shared by the FDTD and FDFD layers.
|
||||||
|
|
||||||
The most mature user-facing workflows are:
|
For most users, the tracked examples under `examples/` are the right entry
|
||||||
|
point. The library API is primarily a toolbox; the module docstrings and API
|
||||||
1. Build an FDFD operator or waveguide port source, then solve a driven
|
pages are there to document the mathematical conventions and derivations behind
|
||||||
frequency-domain problem.
|
those tools.
|
||||||
2. Run an FDTD simulation, extract one or more frequency-domain phasors with
|
|
||||||
`meanas.fdtd.accumulate_phasor(...)`, and compare those phasors against an
|
|
||||||
FDFD reference on the same Yee grid.
|
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
|
|
@ -135,37 +132,6 @@ API and workflow docs are generated from the package docstrings with
|
||||||
[MkDocs](https://www.mkdocs.org/), [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/),
|
[MkDocs](https://www.mkdocs.org/), [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/),
|
||||||
and [mkdocstrings](https://mkdocstrings.github.io/).
|
and [mkdocstrings](https://mkdocstrings.github.io/).
|
||||||
|
|
||||||
When hosted on a Forgejo instance, the intended setup is:
|
|
||||||
|
|
||||||
- publish the generated site from a dedicated `docs-site` branch
|
|
||||||
- serve that branch from the instance's static-pages host
|
|
||||||
- point the repository's **Wiki** tab at the published docs URL
|
|
||||||
|
|
||||||
This repository now uses a version-controlled wrapper script rather than a
|
|
||||||
Forgejo runner. After a successful `git push`, the wrapper builds the docs
|
|
||||||
locally and force-updates the `docs-site` branch from the same machine.
|
|
||||||
|
|
||||||
Use the wrapper instead of `git push` when publishing from your development
|
|
||||||
machine:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
./scripts/push_with_docs.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
It only auto-publishes after successful pushes of local `master` to `origin`.
|
|
||||||
For unusual refspecs or other remotes, push manually and publish the docs
|
|
||||||
branch separately if needed.
|
|
||||||
|
|
||||||
To persist the published docs URL for canonical MkDocs links in this clone, set
|
|
||||||
the local git config value with:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
./scripts/configure_docs_url.sh 'https://docs.example.com/meanas/'
|
|
||||||
```
|
|
||||||
|
|
||||||
The wrapper will also respect a shell-level `DOCS_SITE_URL` override if one is
|
|
||||||
set.
|
|
||||||
|
|
||||||
Install the docs toolchain with:
|
Install the docs toolchain with:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|
@ -184,13 +150,10 @@ This produces:
|
||||||
- a combined printable single-page HTML site under `site/print_page/`
|
- a combined printable single-page HTML site under `site/print_page/`
|
||||||
- an optional fully inlined `site/standalone.html` when `htmlark` is available
|
- an optional fully inlined `site/standalone.html` when `htmlark` is available
|
||||||
|
|
||||||
The version-controlled push wrapper publishes this same output to the
|
|
||||||
`docs-site` branch.
|
|
||||||
|
|
||||||
The docs build uses a local MathJax bundle vendored under `docs/assets/`, so
|
The docs build uses a local MathJax bundle vendored under `docs/assets/`, so
|
||||||
the rendered HTML does not rely on external services for equation rendering.
|
the rendered HTML does not rely on external services for equation rendering.
|
||||||
|
|
||||||
Tracked examples under `examples/` are the intended starting points:
|
The tracked examples under `examples/` are the intended entry points for users:
|
||||||
|
|
||||||
- `examples/fdtd.py`: broadband FDTD pulse excitation, phasor extraction, and a
|
- `examples/fdtd.py`: broadband FDTD pulse excitation, phasor extraction, and a
|
||||||
residual check against the matching FDFD operator.
|
residual check against the matching FDFD operator.
|
||||||
|
|
|
||||||
|
|
@ -11,16 +11,22 @@ This documentation is built directly from the package docstrings. The API pages
|
||||||
are the source of truth for the mathematical derivations and calling
|
are the source of truth for the mathematical derivations and calling
|
||||||
conventions.
|
conventions.
|
||||||
|
|
||||||
## Recommended starting points
|
## Examples and API Map
|
||||||
|
|
||||||
- Use the [FDTD API](api/fdtd.md) when you need time-domain stepping, CPML, or
|
For most users, the tracked examples under `examples/` are the right entry
|
||||||
phasor extraction.
|
point. They show the intended combinations of tools for solving complete
|
||||||
- Use the [FDFD API](api/fdfd.md) when you need driven frequency-domain solves
|
problems.
|
||||||
or operator algebra.
|
|
||||||
- Use the [Waveguide API](api/waveguides.md) for mode solving, port sources, and
|
The API pages are better read as a toolbox map and derivation reference:
|
||||||
overlap windows.
|
|
||||||
- Use the [fdmath API](api/fdmath.md) when you need the lower-level finite-difference
|
- Use the [FDTD API](api/fdtd.md) for time-domain stepping, CPML, and phasor
|
||||||
operators or the derivation background shared across the package.
|
extraction.
|
||||||
|
- Use the [FDFD API](api/fdfd.md) for driven frequency-domain solves and sparse
|
||||||
|
operator algebra.
|
||||||
|
- Use the [Waveguide API](api/waveguides.md) for mode solving, port sources,
|
||||||
|
and overlap windows.
|
||||||
|
- Use the [fdmath API](api/fdmath.md) for the lower-level finite-difference
|
||||||
|
operators and the shared discrete derivations underneath both solvers.
|
||||||
|
|
||||||
## Build outputs
|
## Build outputs
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
"""
|
"""
|
||||||
Electromagnetic simulation tools
|
Electromagnetic simulation tools
|
||||||
|
|
||||||
See the readme or `import meanas; help(meanas)` for more info.
|
See the tracked examples for end-to-end workflows, and `help(meanas)` for the
|
||||||
|
toolbox overview and API derivations.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import pathlib
|
import pathlib
|
||||||
|
|
@ -16,4 +17,3 @@ try:
|
||||||
__doc__ = f.read()
|
__doc__ = f.read()
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue