Note
Go to the end to download the full example code.
Carbon ionization at 100 eV
Otter reports the carbon ionization measures \(\bar Z=Z-Q_{\mathrm{ion}}(R_{\mathrm{WS}})\) and \(Z^*=n_e^0/n_i\) across a density scan at \(T_e=100\) eV. The Bethkenhagen comparison provides the calculation, orbital diagnostics and discussion of the different electron partitions used by the published models.
This page shares that benchmark’s figure. The scan is calculated once by the benchmark; opening this example does not start another AA calculation. No bundled Otter NPZ is required.
Reproduction
Calculate the benchmark from the repository root:
poetry run python benchmarks/examples/plot_bethkenhagen_et_al_2020_carbon_ionization.py
Then locate its saved figure with:
poetry run python docs/examples/plot_carbon_ionization_levels.py
Recorded result
Shared result from the Bethkenhagen comparison.
from pathlib import Path
def main() -> None:
"""Report the shared benchmark figure without recalculating the scan."""
root = Path(__file__).resolve().parents[2]
figure = (root / "benchmarks/outputs/bethkenhagen_et_al_2020_carbon_ionization"
/ "figures/bethkenhagen_2020_carbon_ionization.png")
if not figure.is_file():
raise FileNotFoundError(
"Calculate benchmarks/examples/"
"plot_bethkenhagen_et_al_2020_carbon_ionization.py first."
)
print(figure)
if __name__ == "__main__":
main()