pleiades.sammy.fitting.options module

This module defines the FitOptions class for configuring SAMMY fits.

SAMMY is a nuclear physics code that requires different configuration options. The FitOptions class encapsulates these options and provides factory methods for different modes of operation.

class pleiades.sammy.fitting.options.FitOptions(*, r_matrix: RMatrixOptions = <factory>, quantum_numbers: QuantumNumbersOptions = <factory>, experimental_data: ExperimentalDataInputOptions = <factory>, broadening: BroadeningOptions = <factory>, endf: ENDFOptions = <factory>, bayes_solution: BayesSolutionOptions = <factory>, lpt_output: LPTOutputOptions = <factory>, angular_distribution: AngularDistributionOptions | None = None, averages: AveragesOptions | None = None, data_covariance: CovarianceMatrixOptions | None = None, p_covariance_in: CovarianceMatrixOptions | None = None, p_covariance_out: CovarianceMatrixOutputOptions | None = None, multiple_scattering: MultipleScatteringCorrectionsOptions | None = None, cross_section: CrossSectionOptions | None = None, physical_constants: PhysicalConstantsOptions | None = None, plot_file: PlotFileOptions | None = None, special_analysis: SpecialAnalysisOptions | None = None, urr: URROptions | None = None)[source]

Bases: BaseModel

Container for all fit options with SAMMY based on alphanumerics modules.

This class uses the actual alphanumerics classes that implement validation, mutual exclusivity enforcement, and command generation.

r_matrix

Options for the R-matrix formalism

Type:

pleiades.sammy.alphanumerics.r_matrix.RMatrixOptions

quantum_numbers

Options for spin group and quantum numbers

Type:

pleiades.sammy.alphanumerics.input_quantum_numbers.QuantumNumbersOptions

experimental_data

Options for data format

Type:

pleiades.sammy.alphanumerics.experimental_data_input.ExperimentalDataInputOptions

broadening

Options for broadening calculations

Type:

pleiades.sammy.alphanumerics.broadening.BroadeningOptions

endf

Options for ENDF file usage

Type:

pleiades.sammy.alphanumerics.endf.ENDFOptions

bayes_solution

Options for Bayes fitting

Type:

pleiades.sammy.alphanumerics.bayes_solution.BayesSolutionOptions

lpt_output

Options for LPT file output

Type:

pleiades.sammy.alphanumerics.lpt.LPTOutputOptions

angular_distribution

Options for angular distributions

Type:

pleiades.sammy.alphanumerics.angular_distribution.AngularDistributionOptions | None

averages

Options for energy averages

Type:

pleiades.sammy.alphanumerics.averages.AveragesOptions | None

data_covariance

Options for data covariance

Type:

pleiades.sammy.alphanumerics.covariance_matrix_data.CovarianceMatrixOptions | None

p_covariance_in

Options for parameter covariance input

Type:

pleiades.sammy.alphanumerics.p_covariance_matrix_in.CovarianceMatrixOptions | None

p_covariance_out

Options for parameter covariance output

Type:

pleiades.sammy.alphanumerics.p_covariance_matrix_out.CovarianceMatrixOutputOptions | None

multiple_scattering

Options for multiple scattering corrections

Type:

pleiades.sammy.alphanumerics.multiple_scattering_corrections.MultipleScatteringCorrectionsOptions | None

cross_section

Options for cross section calculations

Type:

pleiades.sammy.alphanumerics.cross_section.CrossSectionOptions | None

physical_constants

Options for physical constants

Type:

pleiades.sammy.alphanumerics.physical_constants.PhysicalConstantsOptions | None

plot_file

Options for plot file generation

Type:

pleiades.sammy.alphanumerics.plot_file.PlotFileOptions | None

special_analysis

Options for special analysis

Type:

pleiades.sammy.alphanumerics.special_analysis.SpecialAnalysisOptions | None

urr

Options for unresolved resonance region

Type:

pleiades.sammy.alphanumerics.urr.URROptions | None

r_matrix: RMatrixOptions
quantum_numbers: QuantumNumbersOptions
experimental_data: ExperimentalDataInputOptions
broadening: BroadeningOptions
endf: ENDFOptions
bayes_solution: BayesSolutionOptions
lpt_output: LPTOutputOptions
angular_distribution: AngularDistributionOptions | None
averages: AveragesOptions | None
data_covariance: CovarianceMatrixOptions | None
p_covariance_in: CovarianceMatrixOptions | None
p_covariance_out: CovarianceMatrixOutputOptions | None
multiple_scattering: MultipleScatteringCorrectionsOptions | None
cross_section: CrossSectionOptions | None
physical_constants: PhysicalConstantsOptions | None
plot_file: PlotFileOptions | None
special_analysis: SpecialAnalysisOptions | None
urr: URROptions | None
get_alphanumeric_commands() List[str][source]

Generate all SAMMY alphanumeric commands from constituent options.

Returns:

List of all alphanumeric commands for SAMMY INP file

Return type:

List[str]

classmethod from_endf_config() FitOptions[source]

Create a FitOptions instance configured for ENDF extraction.

ENDF mode is used for extracting resonance information from ENDF files without Bayesian fitting.

Mandatory fields: - UID 12: PUT QUANTUM NUMBERS into parameter file - UID 15: INPUT IS ENDF/B FILE 2 - UID 37: DATA ARE ENDF/B FILE - UID 103: DO NOT SOLVE BAYES Equations

Optional field: - UID 16: USE ENERGY RANGE FROm endf/b file 2

Returns:

Instance configured for ENDF extraction

Return type:

FitOptions

classmethod from_fitting_config() FitOptions[source]

Create a FitOptions instance configured for Bayesian fitting.

Fitting mode is used for customized Bayesian fitting of nuclear data.

Mandatory fields: - UID 2: REICH-MOORE FORMALISm is wanted - UID 10: KEY-WORD PARTICLE-PAir definitions are given - UID 11: QUANTUM NUMBERS ARE in parameter file - UID 34: USE TWENTY SIGNIFICAnt digits - UID 61: BROADENING IS NOT WAnted (or 60 is wanted) - UID 102: SOLVE BAYES EQUATIONs - UID 133: CHI SQUARED IS WANTEd

Optional fields depend on specific use case.

Returns:

Instance configured for Bayesian fitting

Return type:

FitOptions

classmethod from_multi_isotope_config() FitOptions[source]

Create a FitOptions instance configured for multi-isotope JSON mode fitting.

Multi-isotope mode combines ENDF extraction and Bayesian fitting in a single step using JSON configuration files for multiple isotopes.

Key features for multi-isotope mode (following SAMMY expert recommendations): - REICH-MOORE FORMALISM IS WANTED - USE NEW SPIN GROUP Format - USE TWENTY SIGNIFICANT DIGITS - BROADENING IS WANTED - INPUT IS ENDF/B FILE 2 - SOLVE BAYES EQUATIONS - CHI SQUARED IS WANTED

Note: Removed unnecessary alphanumerics per expert recommendation to avoid undocumented cross-firing between alphanumeric commands in SAMMY.

Returns:

Instance configured for multi-isotope JSON mode fitting

Return type:

FitOptions

classmethod from_custom_config(**kwargs) FitOptions[source]

Create a FitOptions instance with custom settings.

Custom mode is for advanced users who need granular control over all options.

Parameters:

**kwargs – Keyword arguments for specific alphanumerics options

Returns:

Instance with custom configuration

Return type:

FitOptions

model_config = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].