pleiades.sammy.parameters.paramagnetic module

Parsers and containers for SAMMY’s Card Set 12 paramagnetic cross section parameters.

This module implements parsers and containers for Card Set 12 paramagnetic parameters which can appear in either the PARameter or INPut file.

Format specification from Table VI B.2: Card Set 12 contains paramagnetic cross section parameters with distinct format: - Header line with “PARAMagnetic cross section parameters follow” - Main parameter line with nuclide type and A,B,P values - Additional line with isotope and C parameter values - Blank terminator line

The main parameter line has nuclide-specific parameters (TM, ER, or HO) with corresponding A,B,P values and flags. The isotope line contains additional C parameter values.

class pleiades.sammy.parameters.paramagnetic.NuclideType(value)[source]

Bases: str, Enum

Valid nuclide types for paramagnetic parameters.

TM = 'TM'
ER = 'ER'
HO = 'HO'
class pleiades.sammy.parameters.paramagnetic.ParamagneticParameters(*, nuclide_type: NuclideType, a_value: float, a_uncertainty: float | None = None, b_value: float, b_uncertainty: float | None = None, p_value: float, p_uncertainty: float | None = None, isotope_number: Annotated[int, Gt(gt=0)], c_value: float, c_uncertainty: float | None = None, a_flag: VaryFlag = VaryFlag.NO, b_flag: VaryFlag = VaryFlag.NO, p_flag: VaryFlag = VaryFlag.NO, c_flag: VaryFlag = VaryFlag.NO)[source]

Bases: BaseModel

Container for Card Set 12 paramagnetic parameters.

Format specification from Table VI B.2: Card Set 12 requires multiple lines: 1. Header line with “PARAMagnetic cross section parameters follow” 2. Main parameter line with format:

Cols Format Variable Description 1-5 A Nuclide “TM “, “ER “, “HO “ (2 letters + 3 spaces) 7 I IFA Flag to vary A (0=fixed, 1=vary, 3=PUP) 9 I IFB Flag to vary B 10 I IFP Flag to vary P 11-20 F A A parameter value 21-30 F dA Uncertainty on A 31-40 F B B parameter value 41-50 F dB Uncertainty on B 51-60 F P P parameter value 61-70 F dP Uncertainty on P

  1. Additional parameter line: 7 I ISO Isotope number 9 I IFC Flag to vary C 11-20 F C C parameter value 21-30 F dC Uncertainty on C

  2. Blank terminator line

nuclide_type

Type of nuclide (TM, ER, or HO)

Type:

pleiades.sammy.parameters.paramagnetic.NuclideType

a_value

A parameter value

Type:

float

a_uncertainty

Uncertainty on A parameter

Type:

float | None

b_value

B parameter value

Type:

float

b_uncertainty

Uncertainty on B parameter

Type:

float | None

p_value

P parameter value

Type:

float

p_uncertainty

Uncertainty on P parameter

Type:

float | None

isotope_number

Isotope number (must be positive)

Type:

int

c_value

C parameter value

Type:

float

c_uncertainty

Uncertainty on C parameter

Type:

float | None

a_flag

Flag for varying A parameter

Type:

pleiades.utils.helper.VaryFlag

b_flag

Flag for varying B parameter

Type:

pleiades.utils.helper.VaryFlag

p_flag

Flag for varying P parameter

Type:

pleiades.utils.helper.VaryFlag

c_flag

Flag for varying C parameter

Type:

pleiades.utils.helper.VaryFlag

nuclide_type: NuclideType
a_value: float
a_uncertainty: float | None
b_value: float
b_uncertainty: float | None
p_value: float
p_uncertainty: float | None
isotope_number: int
c_value: float
c_uncertainty: float | None
a_flag: VaryFlag
b_flag: VaryFlag
p_flag: VaryFlag
c_flag: VaryFlag
classmethod from_lines(lines: List[str]) ParamagneticParameters[source]

Parse paramagnetic parameters from fixed-width format lines.

Parameters:

lines – List containing header, parameter lines, and blank terminator

Returns:

Parsed parameters

Return type:

ParamagneticParameters

Raises:

ValueError – If format is invalid or required values missing

to_lines() List[str][source]

Convert parameters to fixed-width format lines.

Returns:

List containing header, parameter lines, and blank terminator

model_config = {}

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