pleiades.nuclear.isotopes.models module
This module provides models and enumerations for representing isotopic data, including isotope information, mass data, and associated nuclear data libraries. It is part of the PLEIADES project and is designed to facilitate the handling and processing of nuclear isotopic information. Classes: 1. FileCategory:
Enumeration of valid categories for isotopic files.
Includes a method to convert category enums to path strings.
- EndfLibrary:
Enumeration of supported nuclear data libraries (e.g., ENDF, JEFF, JENDL).
- IsotopeMassData:
A Pydantic model representing mass-related data for isotopes.
Includes attributes for atomic mass, mass uncertainty, binding energy, and beta decay energy.
- IsotopeInfo:
A Pydantic model representing detailed information about an isotope.
Includes attributes for name, atomic number, mass number, element symbol, atomic mass, abundance, spin, material number, and associated ENDF library.
Provides methods for creating an instance from a string and converting an instance to a string.
Usage:
This library is intended for use in nuclear isotope data processing for R-matrix applications where isotopes need to be represented, validated, and processed in a structured manner.
- class pleiades.nuclear.isotopes.models.FileCategory(value)[source]
Bases:
EnumEnumeration of valid categories.
- ISOTOPES = 1
- classmethod to_path(category: FileCategory) str[source]
Convert category enum to path string.
- class pleiades.nuclear.isotopes.models.IsotopeMassData(*, atomic_mass: float | None = None, mass_uncertainty: Annotated[float, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=0)])] | None = None, binding_energy: float | None = None, beta_decay_energy: float | None = None)[source]
Bases:
BaseModel- model_config = {'frozen': True}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class pleiades.nuclear.isotopes.models.IsotopeInfo(*, name: str | None = None, mass_number: Annotated[int | None, Ge(ge=0)] = None, element: str | None = None, atomic_number: Annotated[int | None, Ge(ge=0)] = None, mass_data: IsotopeMassData | None = None, abundance: Annotated[float | None, Ge(ge=0)] = None, spin: float | None = None, material_number: int | None = None)[source]
Bases:
BaseModelA class to represent information about an isotope. Attributes: ———– name : str
The name of the isotope.
- atomic_numberint
The atomic number of the isotope or number of protons (must be greater than 0).
- mass_numberint
The mass number of the isotope or number of nuclei (must be greater than 0).
- elementstr
The symbol of the element.
- atomic_massfloat
The atomic mass of the isotope (must be greater than or equal to 0).
- abundanceOptional[float]
The natural abundance of the isotope (must be greater than or equal to 0, default is None).
- spinOptional[float]
The nuclear spin of the isotope (default is None).
Methods:
- from_string(isotope_str: str) -> “IsotopeInfo”:
Class method to create an IsotopeInfo instance from a string in the format ‘element-mass_number’ or ‘mass_number-element’.
- __str__() -> str:
Convert the IsotopeInfo instance to a string in the format ‘element-mass_number’.
- mass_data: IsotopeMassData | None
- classmethod from_string(isotope_str: str) IsotopeInfo[source]
- model_config = {}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].