API overview

The API reference is generated from the docstrings in src/ and ext/.

Pages

  • Grids: momentum, pitch and radial grids, the kinetic grid, radial profiles, momentum regions.
  • Physics: plasma state, Coulomb logarithm, collision frequencies, conductivity, runaway rates, constants.
  • Operators: the advection–diffusion operator, Fokker–Planck coefficients, radial transport, knock-on and field–particle collisions.
  • Equation system: the unknown layout, equation terms, equations and the system, Jacobians.
  • Solvers and runs: linear solvers, Newton, time stepping, interval updates, checkpoints, the progress log, run settings.
  • Extensions: HDF5 output and checkpoints, SciML functions, interpolated radial profiles, the linear solver of MKL PARDISO.

Each category has an overview page and subpages that group its source files. A subpage has one section per source file, with the public names first and the internal ones after them. The grouping is a table in docs/make.jl. A new source file that the table does not list appears on the subpage "Other" of its category.

Building and viewing

The build runs one Julia process and is strict: every public name needs a docstring, and every @ref link must resolve.

julia --project=docs -e 'using Pkg; Pkg.instantiate()'
julia --project=docs docs/make.jl

The site is written to docs/build/. Open docs/build/index.html in a browser, or serve it with live reload locally:

julia --project=docs -e 'using Revise, LiveServer; servedocs(include_dirs=["src", "ext"], skip_dirs=[joinpath("docs", "src", "api")], launch_browser=true)'

LiveServer serves the site at http://localhost:8000. It rebuilds the site when a page in docs/src or a file in src/ or ext/ changes. Revise loads the changed docstrings into the running session. The build writes the API pages into docs/src/api/, so LiveServer skips that directory, or it would rebuild without end.