# Simulation API

Channel: release; package: 1.8.0; source: 7d1e97331656dd74ad0f5471653ac0c5effdff70

Page: https://remilab.ai/rfx/versions/v1.8.0/guide/api-reference/
Source: https://github.com/bk-squared/rfx/blob/7d1e97331656dd74ad0f5471653ac0c5effdff70/docs/public/guide/api-reference.mdx

The documented rfx API consists of the `/rfx/api/` pages listed below. Treat
other importable symbols as implementation details unless a guide and support
entry document their use.

## API pages

| Need | Page |
|---|---|
| Overall API map | [/rfx/api/](https://remilab.ai/rfx/versions/v1.8.0/api/) |
| `Simulation` construction and run semantics | [/rfx/api/simulation/](https://remilab.ai/rfx/versions/v1.8.0/api/simulation/) |
| `Result`, observables, Harminv, S-parameters | [/rfx/api/results-observables/](https://remilab.ai/rfx/versions/v1.8.0/api/results-observables/) |
| Shapes, materials, and dispersive models | [/rfx/api/geometry-materials/](https://remilab.ai/rfx/versions/v1.8.0/api/geometry-materials/) |
| Sources, lumped ports, microstrip-line ports, waveguide ports, and coaxial line reflection | [/rfx/api/sources-ports/](https://remilab.ai/rfx/versions/v1.8.0/api/sources-ports/) |
| `auto_configure()` and higher-level setup helpers | [/rfx/api/automation/](https://remilab.ai/rfx/versions/v1.8.0/api/automation/) |
| Recommended, limited, unsupported, or undocumented combinations | [/rfx/api/support-boundaries/](https://remilab.ai/rfx/versions/v1.8.0/api/support-boundaries/) |

## API selection rules

- Start with the **uniform Cartesian Yee RF workflow** described in
  [Recommended Configuration](https://remilab.ai/rfx/versions/v1.8.0/validation/reference-lane/).
- S-parameter extraction is port-family-specific:
  - lumped/wire ports use `run(compute_s_params=True)`;
  - waveguide ports use the `Simulation.compute_waveguide_s_matrix()` method;
  - microstrip-line (MSL) ports use `Simulation.compute_msl_s_matrix()`;
  - coaxial line reflection uses `Simulation.compute_coaxial_line_reflection(...)`.

  MSL and coaxial ports are **not** included in `run(compute_s_params=True)`; call their dedicated method instead.
- An importable lower-level symbol is not part of the documented API unless it
  appears in these API pages and [Support Boundaries](https://remilab.ai/rfx/versions/v1.8.0/api/support-boundaries/).
- When choosing an example or validated configuration, prefer the documented
  API over lower-level imports.
