pleiades.sammy.backends.local module

Local backend implementation for SAMMY execution.

class pleiades.sammy.backends.local.LocalSammyRunner(config: LocalSammyConfig)[source]

Bases: SammyRunner

Implementation of SAMMY runner for local installation.

prepare_environment(files: SammyFiles | SammyFilesMultiMode) None[source]

Prepare environment for local SAMMY execution.

execute_sammy(files: SammyFiles | SammyFilesMultiMode) SammyExecutionResult[source]

Execute SAMMY using local installation.

For SammyFilesMultiMode with fit_abundances=True, a transparent two-pass strategy is used:

  1. Pass 1 (JSON mode) – SAMMY reads the JSON config and ENDF files, generates an internal parameter file (SAMNDF.PAR), and fits global parameters (thickness, normalization) with fixed per-isotope abundances.

  2. Pass 2 (traditional mode) – The generated SAMNDF.PAR is modified to set Card-10 IFLISO flags to 1 (vary abundance), then SAMMY re-runs in traditional mode to fit per-isotope abundances.

The caller sees a single SammyExecutionResult; the two passes are an implementation detail.

cleanup() None[source]

Clean up after execution.

validate_config() bool[source]

Validate the configuration.