discrete1.materials module
Material cross-section generation and management.
This module provides tools for generating and managing neutron cross-sections for various materials used in transport calculations. It supports both enriched (uranium, plutonium, uranium-hydride) and non-enriched materials, with cross-sections loaded from precomputed data files.
The module handles: - Cross-section lookup for standard materials - Enrichment calculations for fissile materials - Special composition calculations (e.g., uranium hydride) - Vacuum/void material properties
- discrete1.materials.materials(groups, materials, key=False)[source]
Create cross sections for different materials.
Generates total, scatter, and fission cross-sections for a list of materials. Handles both enriched and non-enriched materials, with proper composition calculations for mixtures.
- Parameters:
groups (
int) – Number of energy groups.materials (
list) – List of material names (str). Each name can include enrichment percentage using ‘-X%’ suffix.key (
bool, optional) – If True, return a mapping of indices to material names.
- Returns:
numpy.ndarray– Total cross-sections (n_materials, n_groups).numpy.ndarray– Scatter cross-sections (n_materials, n_groups, n_groups).numpy.ndarray– Fission cross-sections (n_materials, n_groups, n_groups).dict, optional – Material index to name mapping if key=True.
Notes
Supported materials are defined in __materials tuple. Enriched materials support percentage specification (e.g., ‘uranium-5%’).