API reference
Stable high-level interface
The public interface is intentionally smaller than the internal solver implementation. Applications should begin with the unified workflow objects below.
|
Unified high-level plasma workflow configuration. |
Solve one unified plasma workflow from one composition specification. |
|
Continue the unified workflow from an already available electronic result. |
|
Reusable, ion-temperature-independent input to mixture HNC solves. |
|
|
Prepare one mixture QOZ state for reuse across several ion temperatures. |
|
Convenience wrapper around PlasmaWorkflowConfig + solve_plasma_workflow. |
|
Parse one simple chemical formula into distinct species and counts. |
|
Resolve one composition specification to canonical symbols and counts. |
|
Controls for one portable state export. |
|
Save one completed workflow as a portable compressed NPZ state. |
|
Load and validate one portable state file with pickle disabled. |
Workflow results and state files
Important
Access calculated arrays: Workflow results and portable NPZ files is the canonical field reference. It gives in-memory and NPZ examples, species/pair indexing, shapes, units, metadata, electronic profiles and levels, \(q(k)\), \(f(k)\), response and LFC arrays, \(V_{Ie}(k)\), \(V_{ee}(k)\), \(V_{ab}(k)\), \(g_{ab}(r)\), and \(S_{ab}(k)\), where \(a,b\) label ionic species.
The stable state-file interface stores the native average-atom profiles and levels together with \(q(k)\), \(f(k)\), electron response and LFC, interaction channels, \(V_{ab}\), \(g_{ab}\), and \(S_{ab}\) without pickled Python objects.
|
Build a portable state payload from a completed plasma workflow. |
|
Validate the public state schema without loading pickled objects. |
Scientific plotting
Otter provides one shared Matplotlib style and a dual web/slide export path.
By default save_figure() writes both a high-resolution PNG and an
editable vector PDF.
|
Apply the Otter style globally to subsequent Matplotlib figures. |
|
Temporarily apply the Otter style and restore prior |
|
Return Otter's Matplotlib |
|
Return the project-standard figure size for a panel grid. |
|
Add a bold panel label such as |
|
Save matching raster and vector copies of a figure. |
Internal modules
The otter.electronic, otter.ionic, otter.numerics, and
otter.io packages contain lower-level model and diagnostic APIs. They are
documented progressively as their contracts stabilize. Code outside Otter
should not rely on private names or dictionary fields that are absent from the
public result schema.
Experimental APIs are documented separately under Experimental models; their presence does not imply the stability guarantees of this page.
API stability
Public additions require:
a NumPy-style docstring with units and array shapes;
a literature reference for physical models;
validation of accepted values and failure modes;
at least one focused test;
an example when the behavior is not evident from the signature.