valuesets 0.3.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of valuesets might be problematic. Click here for more details.
- valuesets/__init__.py +7 -0
- valuesets/_version.py +8 -0
- valuesets/datamodel/valuesets.py +13796 -0
- valuesets/datamodel/valuesets_dataclass.py +24503 -0
- valuesets/datamodel/valuesets_pydantic.py +13796 -0
- valuesets/enums/__init__.py +590 -0
- valuesets/enums/academic/__init__.py +1 -0
- valuesets/enums/academic/research.py +559 -0
- valuesets/enums/analytical_chemistry/__init__.py +1 -0
- valuesets/enums/analytical_chemistry/mass_spectrometry.py +198 -0
- valuesets/enums/bio/__init__.py +1 -0
- valuesets/enums/bio/biological_colors.py +238 -0
- valuesets/enums/bio/cell_cycle.py +180 -0
- valuesets/enums/bio/currency_chemicals.py +52 -0
- valuesets/enums/bio/developmental_stages.py +103 -0
- valuesets/enums/bio/genome_features.py +182 -0
- valuesets/enums/bio/genomics.py +91 -0
- valuesets/enums/bio/go_aspect.py +32 -0
- valuesets/enums/bio/go_causality.py +58 -0
- valuesets/enums/bio/go_evidence.py +129 -0
- valuesets/enums/bio/human_developmental_stages.py +62 -0
- valuesets/enums/bio/insdc_geographic_locations.py +591 -0
- valuesets/enums/bio/insdc_missing_values.py +49 -0
- valuesets/enums/bio/lipid_categories.py +67 -0
- valuesets/enums/bio/mouse_developmental_stages.py +62 -0
- valuesets/enums/bio/plant_biology.py +86 -0
- valuesets/enums/bio/plant_developmental_stages.py +54 -0
- valuesets/enums/bio/plant_sex.py +81 -0
- valuesets/enums/bio/protein_evidence.py +61 -0
- valuesets/enums/bio/proteomics_standards.py +123 -0
- valuesets/enums/bio/psi_mi.py +306 -0
- valuesets/enums/bio/relationship_to_oxygen.py +37 -0
- valuesets/enums/bio/sequence_alphabets.py +449 -0
- valuesets/enums/bio/sequence_chemistry.py +357 -0
- valuesets/enums/bio/sequencing_platforms.py +302 -0
- valuesets/enums/bio/structural_biology.py +320 -0
- valuesets/enums/bio/taxonomy.py +238 -0
- valuesets/enums/bio/trophic_levels.py +85 -0
- valuesets/enums/bio/uniprot_species.py +344 -0
- valuesets/enums/bio/viral_genome_types.py +47 -0
- valuesets/enums/bioprocessing/__init__.py +1 -0
- valuesets/enums/bioprocessing/scale_up.py +249 -0
- valuesets/enums/business/__init__.py +1 -0
- valuesets/enums/business/human_resources.py +275 -0
- valuesets/enums/business/industry_classifications.py +181 -0
- valuesets/enums/business/management_operations.py +228 -0
- valuesets/enums/business/organizational_structures.py +236 -0
- valuesets/enums/business/quality_management.py +181 -0
- valuesets/enums/business/supply_chain.py +232 -0
- valuesets/enums/chemistry/__init__.py +1 -0
- valuesets/enums/chemistry/chemical_entities.py +315 -0
- valuesets/enums/chemistry/reaction_directionality.py +65 -0
- valuesets/enums/chemistry/reactions.py +256 -0
- valuesets/enums/clinical/__init__.py +1 -0
- valuesets/enums/clinical/nih_demographics.py +177 -0
- valuesets/enums/clinical/phenopackets.py +254 -0
- valuesets/enums/common_value_sets.py +8791 -0
- valuesets/enums/computing/__init__.py +1 -0
- valuesets/enums/computing/file_formats.py +294 -0
- valuesets/enums/computing/maturity_levels.py +196 -0
- valuesets/enums/computing/mime_types.py +227 -0
- valuesets/enums/confidence_levels.py +168 -0
- valuesets/enums/contributor.py +30 -0
- valuesets/enums/core.py +42 -0
- valuesets/enums/data/__init__.py +1 -0
- valuesets/enums/data/data_absent_reason.py +53 -0
- valuesets/enums/data_science/__init__.py +1 -0
- valuesets/enums/data_science/binary_classification.py +87 -0
- valuesets/enums/data_science/emotion_classification.py +66 -0
- valuesets/enums/data_science/priority_severity.py +73 -0
- valuesets/enums/data_science/quality_control.py +46 -0
- valuesets/enums/data_science/sentiment_analysis.py +50 -0
- valuesets/enums/data_science/text_classification.py +97 -0
- valuesets/enums/demographics.py +206 -0
- valuesets/enums/ecological_interactions.py +151 -0
- valuesets/enums/energy/__init__.py +1 -0
- valuesets/enums/energy/energy.py +343 -0
- valuesets/enums/energy/fossil_fuels.py +29 -0
- valuesets/enums/energy/nuclear/__init__.py +1 -0
- valuesets/enums/energy/nuclear/nuclear_facilities.py +195 -0
- valuesets/enums/energy/nuclear/nuclear_fuel_cycle.py +96 -0
- valuesets/enums/energy/nuclear/nuclear_fuels.py +175 -0
- valuesets/enums/energy/nuclear/nuclear_operations.py +191 -0
- valuesets/enums/energy/nuclear/nuclear_regulatory.py +188 -0
- valuesets/enums/energy/nuclear/nuclear_safety.py +164 -0
- valuesets/enums/energy/nuclear/nuclear_waste.py +158 -0
- valuesets/enums/energy/nuclear/reactor_types.py +163 -0
- valuesets/enums/environmental_health/__init__.py +1 -0
- valuesets/enums/environmental_health/exposures.py +265 -0
- valuesets/enums/geography/__init__.py +1 -0
- valuesets/enums/geography/geographic_codes.py +741 -0
- valuesets/enums/health/__init__.py +12 -0
- valuesets/enums/health/vaccination.py +98 -0
- valuesets/enums/health.py +36 -0
- valuesets/enums/health_base.py +36 -0
- valuesets/enums/healthcare.py +45 -0
- valuesets/enums/industry/__init__.py +1 -0
- valuesets/enums/industry/extractive_industry.py +94 -0
- valuesets/enums/industry/mining.py +388 -0
- valuesets/enums/industry/safety_colors.py +201 -0
- valuesets/enums/investigation.py +27 -0
- valuesets/enums/materials_science/__init__.py +1 -0
- valuesets/enums/materials_science/characterization_methods.py +112 -0
- valuesets/enums/materials_science/crystal_structures.py +76 -0
- valuesets/enums/materials_science/material_properties.py +119 -0
- valuesets/enums/materials_science/material_types.py +104 -0
- valuesets/enums/materials_science/pigments_dyes.py +198 -0
- valuesets/enums/materials_science/synthesis_methods.py +109 -0
- valuesets/enums/medical/__init__.py +1 -0
- valuesets/enums/medical/clinical.py +277 -0
- valuesets/enums/medical/neuroimaging.py +119 -0
- valuesets/enums/mining_processing.py +302 -0
- valuesets/enums/physics/__init__.py +1 -0
- valuesets/enums/physics/states_of_matter.py +46 -0
- valuesets/enums/social/__init__.py +1 -0
- valuesets/enums/social/person_status.py +29 -0
- valuesets/enums/spatial/__init__.py +1 -0
- valuesets/enums/spatial/spatial_qualifiers.py +246 -0
- valuesets/enums/statistics/__init__.py +5 -0
- valuesets/enums/statistics/prediction_outcomes.py +31 -0
- valuesets/enums/statistics.py +31 -0
- valuesets/enums/time/__init__.py +1 -0
- valuesets/enums/time/temporal.py +254 -0
- valuesets/enums/units/__init__.py +1 -0
- valuesets/enums/units/measurements.py +310 -0
- valuesets/enums/visual/__init__.py +1 -0
- valuesets/enums/visual/colors.py +376 -0
- valuesets/generators/__init__.py +19 -0
- valuesets/generators/auto_slot_injector.py +280 -0
- valuesets/generators/enhanced_pydantic_generator.py +100 -0
- valuesets/generators/enum_slot_generator.py +201 -0
- valuesets/generators/modular_rich_generator.py +353 -0
- valuesets/generators/prefix_standardizer.py +198 -0
- valuesets/generators/rich_enum.py +127 -0
- valuesets/generators/rich_pydantic_generator.py +310 -0
- valuesets/generators/smart_slot_syncer.py +428 -0
- valuesets/generators/sssom_generator.py +394 -0
- valuesets/merged/merged_hierarchy.yaml +21649 -0
- valuesets/schema/README.md +3 -0
- valuesets/schema/academic/research.yaml +911 -0
- valuesets/schema/analytical_chemistry/mass_spectrometry.yaml +206 -0
- valuesets/schema/bio/bio_entities.yaml +364 -0
- valuesets/schema/bio/biological_colors.yaml +434 -0
- valuesets/schema/bio/cell_cycle.yaml +309 -0
- valuesets/schema/bio/currency_chemicals.yaml +70 -0
- valuesets/schema/bio/developmental_stages.yaml +226 -0
- valuesets/schema/bio/genome_features.yaml +342 -0
- valuesets/schema/bio/genomics.yaml +101 -0
- valuesets/schema/bio/go_aspect.yaml +39 -0
- valuesets/schema/bio/go_causality.yaml +119 -0
- valuesets/schema/bio/go_evidence.yaml +215 -0
- valuesets/schema/bio/insdc_geographic_locations.yaml +911 -0
- valuesets/schema/bio/insdc_missing_values.yaml +85 -0
- valuesets/schema/bio/lipid_categories.yaml +72 -0
- valuesets/schema/bio/plant_biology.yaml +125 -0
- valuesets/schema/bio/plant_developmental_stages.yaml +77 -0
- valuesets/schema/bio/plant_sex.yaml +108 -0
- valuesets/schema/bio/protein_evidence.yaml +63 -0
- valuesets/schema/bio/proteomics_standards.yaml +116 -0
- valuesets/schema/bio/psi_mi.yaml +400 -0
- valuesets/schema/bio/relationship_to_oxygen.yaml +46 -0
- valuesets/schema/bio/sequence_alphabets.yaml +1168 -0
- valuesets/schema/bio/sequence_chemistry.yaml +477 -0
- valuesets/schema/bio/sequencing_platforms.yaml +515 -0
- valuesets/schema/bio/structural_biology.yaml +428 -0
- valuesets/schema/bio/taxonomy.yaml +453 -0
- valuesets/schema/bio/trophic_levels.yaml +118 -0
- valuesets/schema/bio/uniprot_species.yaml +1209 -0
- valuesets/schema/bio/viral_genome_types.yaml +99 -0
- valuesets/schema/bioprocessing/scale_up.yaml +458 -0
- valuesets/schema/business/human_resources.yaml +752 -0
- valuesets/schema/business/industry_classifications.yaml +448 -0
- valuesets/schema/business/management_operations.yaml +602 -0
- valuesets/schema/business/organizational_structures.yaml +645 -0
- valuesets/schema/business/quality_management.yaml +502 -0
- valuesets/schema/business/supply_chain.yaml +688 -0
- valuesets/schema/chemistry/chemical_entities.yaml +639 -0
- valuesets/schema/chemistry/reaction_directionality.yaml +60 -0
- valuesets/schema/chemistry/reactions.yaml +442 -0
- valuesets/schema/clinical/nih_demographics.yaml +285 -0
- valuesets/schema/clinical/phenopackets.yaml +429 -0
- valuesets/schema/computing/file_formats.yaml +631 -0
- valuesets/schema/computing/maturity_levels.yaml +229 -0
- valuesets/schema/computing/mime_types.yaml +266 -0
- valuesets/schema/confidence_levels.yaml +206 -0
- valuesets/schema/contributor.yaml +30 -0
- valuesets/schema/core.yaml +55 -0
- valuesets/schema/data/data_absent_reason.yaml +82 -0
- valuesets/schema/data_science/binary_classification.yaml +125 -0
- valuesets/schema/data_science/emotion_classification.yaml +109 -0
- valuesets/schema/data_science/priority_severity.yaml +122 -0
- valuesets/schema/data_science/quality_control.yaml +68 -0
- valuesets/schema/data_science/sentiment_analysis.yaml +81 -0
- valuesets/schema/data_science/text_classification.yaml +135 -0
- valuesets/schema/demographics.yaml +238 -0
- valuesets/schema/ecological_interactions.yaml +298 -0
- valuesets/schema/energy/energy.yaml +595 -0
- valuesets/schema/energy/fossil_fuels.yaml +28 -0
- valuesets/schema/energy/nuclear/nuclear_facilities.yaml +463 -0
- valuesets/schema/energy/nuclear/nuclear_fuel_cycle.yaml +82 -0
- valuesets/schema/energy/nuclear/nuclear_fuels.yaml +421 -0
- valuesets/schema/energy/nuclear/nuclear_operations.yaml +480 -0
- valuesets/schema/energy/nuclear/nuclear_regulatory.yaml +200 -0
- valuesets/schema/energy/nuclear/nuclear_safety.yaml +352 -0
- valuesets/schema/energy/nuclear/nuclear_waste.yaml +332 -0
- valuesets/schema/energy/nuclear/reactor_types.yaml +394 -0
- valuesets/schema/environmental_health/exposures.yaml +355 -0
- valuesets/schema/generated_slots.yaml +1828 -0
- valuesets/schema/geography/geographic_codes.yaml +1018 -0
- valuesets/schema/health/vaccination.yaml +102 -0
- valuesets/schema/health.yaml +38 -0
- valuesets/schema/healthcare.yaml +53 -0
- valuesets/schema/industry/extractive_industry.yaml +89 -0
- valuesets/schema/industry/mining.yaml +888 -0
- valuesets/schema/industry/safety_colors.yaml +375 -0
- valuesets/schema/investigation.yaml +64 -0
- valuesets/schema/materials_science/characterization_methods.yaml +193 -0
- valuesets/schema/materials_science/crystal_structures.yaml +138 -0
- valuesets/schema/materials_science/material_properties.yaml +135 -0
- valuesets/schema/materials_science/material_types.yaml +151 -0
- valuesets/schema/materials_science/pigments_dyes.yaml +465 -0
- valuesets/schema/materials_science/synthesis_methods.yaml +186 -0
- valuesets/schema/medical/clinical.yaml +610 -0
- valuesets/schema/medical/neuroimaging.yaml +325 -0
- valuesets/schema/mining_processing.yaml +295 -0
- valuesets/schema/physics/states_of_matter.yaml +46 -0
- valuesets/schema/slot_mixins.yaml +143 -0
- valuesets/schema/social/person_status.yaml +28 -0
- valuesets/schema/spatial/spatial_qualifiers.yaml +466 -0
- valuesets/schema/statistics/prediction_outcomes.yaml +26 -0
- valuesets/schema/statistics.yaml +34 -0
- valuesets/schema/time/temporal.yaml +435 -0
- valuesets/schema/types.yaml +15 -0
- valuesets/schema/units/measurements.yaml +675 -0
- valuesets/schema/valuesets.yaml +100 -0
- valuesets/schema/visual/colors.yaml +778 -0
- valuesets/utils/__init__.py +6 -0
- valuesets/utils/comparison.py +102 -0
- valuesets/utils/expand_dynamic_enums.py +414 -0
- valuesets/utils/mapping_utils.py +236 -0
- valuesets/validators/__init__.py +11 -0
- valuesets/validators/enum_evaluator.py +669 -0
- valuesets/validators/oak_config.yaml +70 -0
- valuesets/validators/validate_with_ols.py +241 -0
- valuesets-0.3.1.dist-info/METADATA +395 -0
- valuesets-0.3.1.dist-info/RECORD +248 -0
- valuesets-0.3.1.dist-info/WHEEL +4 -0
- valuesets-0.3.1.dist-info/licenses/LICENSE +201 -0
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Nuclear Facilities and Infrastructure Types
|
|
3
|
+
|
|
4
|
+
Classifications of nuclear facilities including power plants, research reactors, fuel cycle facilities, waste management facilities, and nuclear infrastructure. Based on IAEA classifications and nuclear industry standards.
|
|
5
|
+
|
|
6
|
+
Generated from: energy/nuclear/nuclear_facilities.yaml
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from __future__ import annotations
|
|
10
|
+
|
|
11
|
+
from typing import Dict, Any, Optional
|
|
12
|
+
from valuesets.generators.rich_enum import RichEnum
|
|
13
|
+
|
|
14
|
+
class NuclearFacilityTypeEnum(RichEnum):
|
|
15
|
+
"""
|
|
16
|
+
Types of nuclear facilities and infrastructure
|
|
17
|
+
"""
|
|
18
|
+
# Enum members
|
|
19
|
+
COMMERCIAL_POWER_PLANT = "COMMERCIAL_POWER_PLANT"
|
|
20
|
+
RESEARCH_REACTOR = "RESEARCH_REACTOR"
|
|
21
|
+
TEST_REACTOR = "TEST_REACTOR"
|
|
22
|
+
PROTOTYPE_REACTOR = "PROTOTYPE_REACTOR"
|
|
23
|
+
NAVAL_REACTOR = "NAVAL_REACTOR"
|
|
24
|
+
SPACE_REACTOR = "SPACE_REACTOR"
|
|
25
|
+
PRODUCTION_REACTOR = "PRODUCTION_REACTOR"
|
|
26
|
+
URANIUM_MINE = "URANIUM_MINE"
|
|
27
|
+
URANIUM_MILL = "URANIUM_MILL"
|
|
28
|
+
CONVERSION_FACILITY = "CONVERSION_FACILITY"
|
|
29
|
+
ENRICHMENT_FACILITY = "ENRICHMENT_FACILITY"
|
|
30
|
+
FUEL_FABRICATION_FACILITY = "FUEL_FABRICATION_FACILITY"
|
|
31
|
+
REPROCESSING_FACILITY = "REPROCESSING_FACILITY"
|
|
32
|
+
INTERIM_STORAGE_FACILITY = "INTERIM_STORAGE_FACILITY"
|
|
33
|
+
GEOLOGICAL_REPOSITORY = "GEOLOGICAL_REPOSITORY"
|
|
34
|
+
DECOMMISSIONING_SITE = "DECOMMISSIONING_SITE"
|
|
35
|
+
NUCLEAR_LABORATORY = "NUCLEAR_LABORATORY"
|
|
36
|
+
RADIOISOTOPE_PRODUCTION_FACILITY = "RADIOISOTOPE_PRODUCTION_FACILITY"
|
|
37
|
+
|
|
38
|
+
# Set metadata after class creation
|
|
39
|
+
NuclearFacilityTypeEnum._metadata = {
|
|
40
|
+
"COMMERCIAL_POWER_PLANT": {'description': 'Large-scale commercial reactor for electricity generation', 'annotations': {'primary_purpose': 'electricity generation', 'power_output': 'typically 300-1600 MWe', 'operator_type': 'utility company', 'regulatory_oversight': 'extensive'}},
|
|
41
|
+
"RESEARCH_REACTOR": {'description': 'Reactor designed for research, training, and isotope production', 'annotations': {'primary_purpose': 'research, training, isotope production', 'power_output': 'typically <100 MWt', 'neutron_flux': 'optimized for research needs', 'fuel_type': 'various, often HEU or LEU'}},
|
|
42
|
+
"TEST_REACTOR": {'description': 'Reactor for testing materials and components', 'annotations': {'primary_purpose': 'materials and component testing', 'test_capabilities': 'irradiation testing', 'neutron_spectrum': 'variable for testing needs'}},
|
|
43
|
+
"PROTOTYPE_REACTOR": {'description': 'Reactor for demonstrating new technology', 'annotations': {'primary_purpose': 'technology demonstration', 'scale': 'smaller than commercial', 'innovation_focus': 'new reactor concepts'}},
|
|
44
|
+
"NAVAL_REACTOR": {'description': 'Reactor for ship or submarine propulsion', 'annotations': {'primary_purpose': 'vessel propulsion', 'compactness': 'highly compact design', 'fuel_enrichment': 'typically HEU', 'operation_mode': 'mobile platform'}},
|
|
45
|
+
"SPACE_REACTOR": {'description': 'Reactor designed for space applications', 'annotations': {'primary_purpose': 'space power or propulsion', 'mass_constraints': 'extremely lightweight', 'cooling': 'radiative cooling', 'power_output': 'typically <10 MWt'}},
|
|
46
|
+
"PRODUCTION_REACTOR": {'description': 'Reactor for producing nuclear materials', 'annotations': {'primary_purpose': 'isotope or material production', 'products': 'tritium, plutonium, medical isotopes', 'operation_mode': 'specialized for production'}},
|
|
47
|
+
"URANIUM_MINE": {'description': 'Facility for extracting uranium ore', 'annotations': {'extraction_method': 'underground or open pit', 'product': 'uranium ore', 'processing': 'may include milling'}},
|
|
48
|
+
"URANIUM_MILL": {'description': 'Facility for processing uranium ore into yellowcake', 'annotations': {'input_material': 'uranium ore', 'output_product': 'uranium concentrate (U3O8)', 'process': 'chemical extraction and purification'}},
|
|
49
|
+
"CONVERSION_FACILITY": {'description': 'Facility for converting yellowcake to UF6', 'annotations': {'input_material': 'uranium concentrate (U3O8)', 'output_product': 'uranium hexafluoride (UF6)', 'process': 'chemical conversion'}},
|
|
50
|
+
"ENRICHMENT_FACILITY": {'description': 'Facility for increasing U-235 concentration', 'annotations': {'input_material': 'natural UF6', 'output_product': 'enriched UF6', 'process': 'isotope separation (centrifuge, diffusion)', 'sensitive_technology': 'proliferation-sensitive'}},
|
|
51
|
+
"FUEL_FABRICATION_FACILITY": {'description': 'Facility for manufacturing nuclear fuel assemblies', 'annotations': {'input_material': 'enriched UF6', 'output_product': 'fuel assemblies', 'process': 'pellet and rod manufacturing'}},
|
|
52
|
+
"REPROCESSING_FACILITY": {'description': 'Facility for separating spent fuel components', 'annotations': {'input_material': 'spent nuclear fuel', 'output_products': 'uranium, plutonium, waste', 'process': 'chemical separation (PUREX, UREX+)', 'proliferation_sensitivity': 'high'}},
|
|
53
|
+
"INTERIM_STORAGE_FACILITY": {'description': 'Facility for temporary storage of nuclear materials', 'annotations': {'storage_duration': 'intermediate term (5-100 years)', 'storage_medium': 'pools, dry casks', 'typical_materials': 'spent fuel, waste'}},
|
|
54
|
+
"GEOLOGICAL_REPOSITORY": {'description': 'Deep underground facility for permanent waste disposal', 'annotations': {'storage_duration': 'permanent (thousands of years)', 'depth': 'typically >300 meters underground', 'waste_types': 'high-level waste, spent fuel'}},
|
|
55
|
+
"DECOMMISSIONING_SITE": {'description': 'Nuclear facility undergoing dismantlement', 'annotations': {'facility_status': 'being dismantled', 'activities': 'decontamination, demolition', 'duration': 'typically 10-50 years'}},
|
|
56
|
+
"NUCLEAR_LABORATORY": {'description': 'Laboratory facility handling radioactive materials', 'annotations': {'activities': 'research, analysis, small-scale production', 'materials': 'various radioactive substances', 'scale': 'laboratory scale'}},
|
|
57
|
+
"RADIOISOTOPE_PRODUCTION_FACILITY": {'description': 'Facility for producing medical and industrial isotopes', 'annotations': {'products': 'medical isotopes, industrial tracers', 'production_methods': 'reactor irradiation, accelerator', 'market': 'medical and industrial applications'}},
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
class PowerPlantStatusEnum(RichEnum):
|
|
61
|
+
"""
|
|
62
|
+
Operational status of nuclear power plants
|
|
63
|
+
"""
|
|
64
|
+
# Enum members
|
|
65
|
+
UNDER_CONSTRUCTION = "UNDER_CONSTRUCTION"
|
|
66
|
+
COMMISSIONING = "COMMISSIONING"
|
|
67
|
+
COMMERCIAL_OPERATION = "COMMERCIAL_OPERATION"
|
|
68
|
+
REFUELING_OUTAGE = "REFUELING_OUTAGE"
|
|
69
|
+
EXTENDED_OUTAGE = "EXTENDED_OUTAGE"
|
|
70
|
+
PERMANENTLY_SHUTDOWN = "PERMANENTLY_SHUTDOWN"
|
|
71
|
+
DECOMMISSIONING = "DECOMMISSIONING"
|
|
72
|
+
DECOMMISSIONED = "DECOMMISSIONED"
|
|
73
|
+
|
|
74
|
+
# Set metadata after class creation
|
|
75
|
+
PowerPlantStatusEnum._metadata = {
|
|
76
|
+
"UNDER_CONSTRUCTION": {'description': 'Plant currently being built', 'annotations': {'construction_phase': 'civil and mechanical work ongoing', 'licensing_status': 'construction permit issued', 'commercial_operation': 'not yet started'}},
|
|
77
|
+
"COMMISSIONING": {'description': 'Plant undergoing testing before commercial operation', 'annotations': {'testing_phase': 'systems testing and startup', 'fuel_loading': 'may have occurred', 'commercial_operation': 'not yet achieved'}},
|
|
78
|
+
"COMMERCIAL_OPERATION": {'description': 'Plant operating commercially for electricity generation', 'annotations': {'operational_status': 'fully operational', 'power_generation': 'commercial electricity production', 'licensing_status': 'operating license active'}},
|
|
79
|
+
"REFUELING_OUTAGE": {'description': 'Plant temporarily shut down for fuel replacement and maintenance', 'annotations': {'shutdown_reason': 'scheduled refueling', 'duration': 'typically 30-60 days', 'activities': 'fuel replacement, maintenance, inspection'}},
|
|
80
|
+
"EXTENDED_OUTAGE": {'description': 'Plant shut down for extended period for major work', 'annotations': {'shutdown_duration': 'months to years', 'work_scope': 'major modifications or repairs', 'return_to_service': 'planned'}},
|
|
81
|
+
"PERMANENTLY_SHUTDOWN": {'description': 'Plant permanently ceased operation', 'annotations': {'operational_status': 'permanently ceased', 'fuel_removal': 'may be ongoing or completed', 'decommissioning': 'may be planned or ongoing'}},
|
|
82
|
+
"DECOMMISSIONING": {'description': 'Plant undergoing dismantlement', 'annotations': {'decommissioning_phase': 'active dismantlement', 'radioactive_cleanup': 'ongoing', 'site_restoration': 'planned'}},
|
|
83
|
+
"DECOMMISSIONED": {'description': 'Plant completely dismantled and site restored', 'annotations': {'dismantlement_status': 'completed', 'site_condition': 'restored for unrestricted use', 'radioactive_materials': 'removed'}},
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
class ResearchReactorTypeEnum(RichEnum):
|
|
87
|
+
"""
|
|
88
|
+
Types of research reactors
|
|
89
|
+
"""
|
|
90
|
+
# Enum members
|
|
91
|
+
POOL_TYPE = "POOL_TYPE"
|
|
92
|
+
TANK_TYPE = "TANK_TYPE"
|
|
93
|
+
HOMOGENEOUS = "HOMOGENEOUS"
|
|
94
|
+
FAST_RESEARCH_REACTOR = "FAST_RESEARCH_REACTOR"
|
|
95
|
+
PULSED_REACTOR = "PULSED_REACTOR"
|
|
96
|
+
CRITICAL_ASSEMBLY = "CRITICAL_ASSEMBLY"
|
|
97
|
+
SUBCRITICAL_ASSEMBLY = "SUBCRITICAL_ASSEMBLY"
|
|
98
|
+
|
|
99
|
+
# Set metadata after class creation
|
|
100
|
+
ResearchReactorTypeEnum._metadata = {
|
|
101
|
+
"POOL_TYPE": {'description': 'Reactor with fuel in open pool of water', 'annotations': {'design': 'open pool with underwater fuel', 'power_level': 'typically 1-20 MW', 'applications': 'neutron beam experiments, training'}},
|
|
102
|
+
"TANK_TYPE": {'description': 'Reactor with fuel in enclosed tank', 'annotations': {'design': 'fuel in pressurized or unpressurized tank', 'power_level': 'variable', 'containment': 'more enclosed than pool type'}},
|
|
103
|
+
"HOMOGENEOUS": {'description': 'Reactor with fuel in liquid form', 'annotations': {'fuel_form': 'aqueous solution', 'design': 'fuel dissolved in moderator', 'power_level': 'typically low'}},
|
|
104
|
+
"FAST_RESEARCH_REACTOR": {'description': 'Research reactor using fast neutrons', 'annotations': {'neutron_spectrum': 'fast neutrons', 'moderator': 'none or minimal', 'applications': 'fast neutron research'}},
|
|
105
|
+
"PULSED_REACTOR": {'description': 'Reactor designed for pulsed operation', 'annotations': {'operation_mode': 'short intense pulses', 'power_level': 'very high peak power', 'applications': 'transient testing, physics research'}},
|
|
106
|
+
"CRITICAL_ASSEMBLY": {'description': 'Minimal reactor for criticality studies', 'annotations': {'power_level': 'essentially zero', 'purpose': 'criticality experiments, training', 'design': 'minimal critical configuration'}},
|
|
107
|
+
"SUBCRITICAL_ASSEMBLY": {'description': 'Neutron source-driven subcritical system', 'annotations': {'criticality': 'subcritical', 'neutron_source': 'external source required', 'applications': 'research, training, transmutation studies'}},
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
class FuelCycleFacilityTypeEnum(RichEnum):
|
|
111
|
+
"""
|
|
112
|
+
Types of nuclear fuel cycle facilities
|
|
113
|
+
"""
|
|
114
|
+
# Enum members
|
|
115
|
+
IN_SITU_LEACH_MINE = "IN_SITU_LEACH_MINE"
|
|
116
|
+
CONVENTIONAL_MINE = "CONVENTIONAL_MINE"
|
|
117
|
+
HEAP_LEACH_FACILITY = "HEAP_LEACH_FACILITY"
|
|
118
|
+
GASEOUS_DIFFUSION_PLANT = "GASEOUS_DIFFUSION_PLANT"
|
|
119
|
+
GAS_CENTRIFUGE_PLANT = "GAS_CENTRIFUGE_PLANT"
|
|
120
|
+
LASER_ENRICHMENT_FACILITY = "LASER_ENRICHMENT_FACILITY"
|
|
121
|
+
MOX_FUEL_FABRICATION = "MOX_FUEL_FABRICATION"
|
|
122
|
+
AQUEOUS_REPROCESSING = "AQUEOUS_REPROCESSING"
|
|
123
|
+
PYROPROCESSING_FACILITY = "PYROPROCESSING_FACILITY"
|
|
124
|
+
|
|
125
|
+
# Set metadata after class creation
|
|
126
|
+
FuelCycleFacilityTypeEnum._metadata = {
|
|
127
|
+
"IN_SITU_LEACH_MINE": {'description': 'Uranium extraction by solution mining', 'annotations': {'extraction_method': 'chemical leaching in ground', 'environmental_impact': 'lower surface disturbance', 'geology_requirement': 'permeable ore deposits'}},
|
|
128
|
+
"CONVENTIONAL_MINE": {'description': 'Traditional underground or open-pit uranium mining', 'annotations': {'extraction_method': 'physical excavation', 'mine_types': 'underground or open pit', 'ore_grade': 'variable'}},
|
|
129
|
+
"HEAP_LEACH_FACILITY": {'description': 'Uranium extraction from low-grade ores by heap leaching', 'annotations': {'ore_grade': 'low-grade ores', 'process': 'chemical leaching of ore piles', 'economics': 'cost-effective for low grades'}},
|
|
130
|
+
"GASEOUS_DIFFUSION_PLANT": {'description': 'Uranium enrichment using gaseous diffusion', 'annotations': {'enrichment_method': 'gaseous diffusion', 'energy_consumption': 'very high', 'status': 'mostly retired technology'}},
|
|
131
|
+
"GAS_CENTRIFUGE_PLANT": {'description': 'Uranium enrichment using centrifuge technology', 'annotations': {'enrichment_method': 'gas centrifuge', 'energy_consumption': 'lower than diffusion', 'technology_status': 'current standard technology'}},
|
|
132
|
+
"LASER_ENRICHMENT_FACILITY": {'description': 'Uranium enrichment using laser isotope separation', 'annotations': {'enrichment_method': 'laser isotope separation', 'technology_status': 'under development', 'energy_consumption': 'potentially lower'}},
|
|
133
|
+
"MOX_FUEL_FABRICATION": {'description': 'Facility for manufacturing mixed oxide fuel', 'annotations': {'fuel_type': 'mixed oxide (uranium and plutonium)', 'input_materials': 'plutonium dioxide, uranium dioxide', 'special_handling': 'plutonium handling required'}},
|
|
134
|
+
"AQUEOUS_REPROCESSING": {'description': 'Spent fuel reprocessing using aqueous methods', 'annotations': {'process_type': 'PUREX or similar aqueous process', 'separation_products': 'uranium, plutonium, waste', 'technology_maturity': 'commercially proven'}},
|
|
135
|
+
"PYROPROCESSING_FACILITY": {'description': 'Spent fuel reprocessing using electrochemical methods', 'annotations': {'process_type': 'electrochemical separation', 'temperature': 'high temperature operation', 'technology_status': 'under development'}},
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
class WasteFacilityTypeEnum(RichEnum):
|
|
139
|
+
"""
|
|
140
|
+
Types of nuclear waste management facilities
|
|
141
|
+
"""
|
|
142
|
+
# Enum members
|
|
143
|
+
SPENT_FUEL_POOL = "SPENT_FUEL_POOL"
|
|
144
|
+
DRY_CASK_STORAGE = "DRY_CASK_STORAGE"
|
|
145
|
+
CENTRALIZED_INTERIM_STORAGE = "CENTRALIZED_INTERIM_STORAGE"
|
|
146
|
+
LOW_LEVEL_WASTE_DISPOSAL = "LOW_LEVEL_WASTE_DISPOSAL"
|
|
147
|
+
GREATER_THAN_CLASS_C_STORAGE = "GREATER_THAN_CLASS_C_STORAGE"
|
|
148
|
+
TRANSURANIC_WASTE_REPOSITORY = "TRANSURANIC_WASTE_REPOSITORY"
|
|
149
|
+
HIGH_LEVEL_WASTE_REPOSITORY = "HIGH_LEVEL_WASTE_REPOSITORY"
|
|
150
|
+
WASTE_TREATMENT_FACILITY = "WASTE_TREATMENT_FACILITY"
|
|
151
|
+
DECONTAMINATION_FACILITY = "DECONTAMINATION_FACILITY"
|
|
152
|
+
|
|
153
|
+
# Set metadata after class creation
|
|
154
|
+
WasteFacilityTypeEnum._metadata = {
|
|
155
|
+
"SPENT_FUEL_POOL": {'description': 'Water-filled pool for cooling spent fuel', 'annotations': {'cooling_medium': 'water', 'location': 'typically at reactor site', 'storage_duration': '5-10 years typical'}},
|
|
156
|
+
"DRY_CASK_STORAGE": {'description': 'Air-cooled storage in sealed containers', 'annotations': {'cooling_medium': 'air circulation', 'storage_duration': '20-100 years', 'location': 'on-site or centralized'}},
|
|
157
|
+
"CENTRALIZED_INTERIM_STORAGE": {'description': 'Large-scale interim storage away from reactor sites', 'annotations': {'scale': "multiple reactor's worth of fuel", 'storage_duration': 'decades', 'transportation': 'rail or truck access required'}},
|
|
158
|
+
"LOW_LEVEL_WASTE_DISPOSAL": {'description': 'Near-surface disposal for low-level waste', 'annotations': {'waste_category': 'Class A, B, C low-level waste', 'disposal_depth': 'near-surface (<30 meters)', 'institutional_control': '100 years minimum'}},
|
|
159
|
+
"GREATER_THAN_CLASS_C_STORAGE": {'description': 'Storage for waste exceeding Class C limits', 'annotations': {'waste_category': 'greater than Class C waste', 'storage_type': 'interim storage pending disposal', 'disposal_requirements': 'deep disposal likely required'}},
|
|
160
|
+
"TRANSURANIC_WASTE_REPOSITORY": {'description': 'Deep geological repository for TRU waste', 'annotations': {'waste_category': 'transuranic waste', 'disposal_depth': 'deep underground', 'example': 'Waste Isolation Pilot Plant (WIPP)'}},
|
|
161
|
+
"HIGH_LEVEL_WASTE_REPOSITORY": {'description': 'Deep geological repository for high-level waste', 'annotations': {'waste_category': 'high-level waste, spent fuel', 'disposal_depth': 'typically >300 meters', 'containment_period': 'thousands of years'}},
|
|
162
|
+
"WASTE_TREATMENT_FACILITY": {'description': 'Facility for processing and conditioning waste', 'annotations': {'purpose': 'volume reduction, stabilization', 'processes': 'incineration, compaction, solidification', 'output': 'treated waste for disposal'}},
|
|
163
|
+
"DECONTAMINATION_FACILITY": {'description': 'Facility for cleaning contaminated materials', 'annotations': {'purpose': 'remove radioactive contamination', 'materials': 'equipment, clothing, tools', 'methods': 'chemical, physical decontamination'}},
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
class NuclearShipTypeEnum(RichEnum):
|
|
167
|
+
"""
|
|
168
|
+
Types of nuclear-powered vessels
|
|
169
|
+
"""
|
|
170
|
+
# Enum members
|
|
171
|
+
AIRCRAFT_CARRIER = "AIRCRAFT_CARRIER"
|
|
172
|
+
SUBMARINE = "SUBMARINE"
|
|
173
|
+
CRUISER = "CRUISER"
|
|
174
|
+
ICEBREAKER = "ICEBREAKER"
|
|
175
|
+
MERCHANT_SHIP = "MERCHANT_SHIP"
|
|
176
|
+
RESEARCH_VESSEL = "RESEARCH_VESSEL"
|
|
177
|
+
|
|
178
|
+
# Set metadata after class creation
|
|
179
|
+
NuclearShipTypeEnum._metadata = {
|
|
180
|
+
"AIRCRAFT_CARRIER": {'description': 'Large naval vessel with nuclear propulsion and aircraft operations', 'annotations': {'propulsion': 'nuclear steam turbine', 'size': 'very large (>80,000 tons)', 'mission': 'power projection, aircraft operations', 'reactor_count': 'typically 2'}},
|
|
181
|
+
"SUBMARINE": {'description': 'Underwater vessel with nuclear propulsion', 'annotations': {'propulsion': 'nuclear steam turbine', 'operational_environment': 'submerged', 'mission': 'various (attack, ballistic missile, cruise missile)', 'reactor_count': 'typically 1'}},
|
|
182
|
+
"CRUISER": {'description': 'Large surface combatant with nuclear propulsion', 'annotations': {'propulsion': 'nuclear steam turbine', 'mission': 'escort, surface warfare', 'size': 'large surface vessel', 'status': 'mostly retired'}},
|
|
183
|
+
"ICEBREAKER": {'description': 'Vessel designed to break ice using nuclear power', 'annotations': {'propulsion': 'nuclear steam turbine or electric', 'mission': 'ice breaking, Arctic operations', 'operational_environment': 'polar regions', 'reactor_count': '1-3'}},
|
|
184
|
+
"MERCHANT_SHIP": {'description': 'Commercial cargo vessel with nuclear propulsion', 'annotations': {'propulsion': 'nuclear steam turbine', 'mission': 'cargo transport', 'commercial_viability': 'limited due to costs', 'examples': 'NS Savannah, few others'}},
|
|
185
|
+
"RESEARCH_VESSEL": {'description': 'Ship designed for oceanographic research with nuclear power', 'annotations': {'propulsion': 'nuclear', 'mission': 'scientific research', 'duration': 'extended operations without refueling', 'examples': 'limited number built'}},
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
__all__ = [
|
|
189
|
+
"NuclearFacilityTypeEnum",
|
|
190
|
+
"PowerPlantStatusEnum",
|
|
191
|
+
"ResearchReactorTypeEnum",
|
|
192
|
+
"FuelCycleFacilityTypeEnum",
|
|
193
|
+
"WasteFacilityTypeEnum",
|
|
194
|
+
"NuclearShipTypeEnum",
|
|
195
|
+
]
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Nuclear Fuel Cycle Value Sets
|
|
3
|
+
|
|
4
|
+
Value sets for nuclear fuel cycle processes and stages
|
|
5
|
+
|
|
6
|
+
Generated from: energy/nuclear/nuclear_fuel_cycle.yaml
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from __future__ import annotations
|
|
10
|
+
|
|
11
|
+
from typing import Dict, Any, Optional
|
|
12
|
+
from valuesets.generators.rich_enum import RichEnum
|
|
13
|
+
|
|
14
|
+
class NuclearFuelCycleStageEnum(RichEnum):
|
|
15
|
+
"""
|
|
16
|
+
Stages in the nuclear fuel cycle from mining to disposal
|
|
17
|
+
"""
|
|
18
|
+
# Enum members
|
|
19
|
+
MINING = "MINING"
|
|
20
|
+
MILLING = "MILLING"
|
|
21
|
+
CONVERSION = "CONVERSION"
|
|
22
|
+
ENRICHMENT = "ENRICHMENT"
|
|
23
|
+
FUEL_FABRICATION = "FUEL_FABRICATION"
|
|
24
|
+
REACTOR_OPERATION = "REACTOR_OPERATION"
|
|
25
|
+
INTERIM_STORAGE = "INTERIM_STORAGE"
|
|
26
|
+
REPROCESSING = "REPROCESSING"
|
|
27
|
+
FINAL_DISPOSAL = "FINAL_DISPOSAL"
|
|
28
|
+
|
|
29
|
+
# Set metadata after class creation
|
|
30
|
+
NuclearFuelCycleStageEnum._metadata = {
|
|
31
|
+
"MINING": {'description': 'Uranium ore mining and extraction'},
|
|
32
|
+
"MILLING": {'description': 'Processing uranium ore into yellowcake (U3O8)'},
|
|
33
|
+
"CONVERSION": {'description': 'Converting yellowcake to uranium hexafluoride (UF6)'},
|
|
34
|
+
"ENRICHMENT": {'description': 'Increasing U-235 concentration in uranium'},
|
|
35
|
+
"FUEL_FABRICATION": {'description': 'Manufacturing nuclear fuel assemblies'},
|
|
36
|
+
"REACTOR_OPERATION": {'description': 'Nuclear fission in reactor core'},
|
|
37
|
+
"INTERIM_STORAGE": {'description': 'Temporary storage of spent nuclear fuel'},
|
|
38
|
+
"REPROCESSING": {'description': 'Chemical separation of useful materials from spent fuel'},
|
|
39
|
+
"FINAL_DISPOSAL": {'description': 'Permanent disposal of nuclear waste'},
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
class NuclearFuelFormEnum(RichEnum):
|
|
43
|
+
"""
|
|
44
|
+
Different forms of nuclear fuel throughout the cycle
|
|
45
|
+
"""
|
|
46
|
+
# Enum members
|
|
47
|
+
URANIUM_ORE = "URANIUM_ORE"
|
|
48
|
+
YELLOWCAKE = "YELLOWCAKE"
|
|
49
|
+
URANIUM_HEXAFLUORIDE = "URANIUM_HEXAFLUORIDE"
|
|
50
|
+
ENRICHED_URANIUM = "ENRICHED_URANIUM"
|
|
51
|
+
URANIUM_DIOXIDE = "URANIUM_DIOXIDE"
|
|
52
|
+
FUEL_PELLETS = "FUEL_PELLETS"
|
|
53
|
+
FUEL_RODS = "FUEL_RODS"
|
|
54
|
+
FUEL_ASSEMBLIES = "FUEL_ASSEMBLIES"
|
|
55
|
+
SPENT_FUEL = "SPENT_FUEL"
|
|
56
|
+
MIXED_OXIDE_FUEL = "MIXED_OXIDE_FUEL"
|
|
57
|
+
|
|
58
|
+
# Set metadata after class creation
|
|
59
|
+
NuclearFuelFormEnum._metadata = {
|
|
60
|
+
"URANIUM_ORE": {'description': 'Natural uranium ore containing uranium minerals'},
|
|
61
|
+
"YELLOWCAKE": {'description': 'Uranium oxide concentrate (U3O8)'},
|
|
62
|
+
"URANIUM_HEXAFLUORIDE": {'description': 'Gaseous uranium compound (UF6) used for enrichment'},
|
|
63
|
+
"ENRICHED_URANIUM": {'description': 'Uranium with increased U-235 concentration'},
|
|
64
|
+
"URANIUM_DIOXIDE": {'description': 'Ceramic uranium fuel pellets (UO2)'},
|
|
65
|
+
"FUEL_PELLETS": {'description': 'Sintered uranium dioxide pellets'},
|
|
66
|
+
"FUEL_RODS": {'description': 'Zircaloy tubes containing fuel pellets'},
|
|
67
|
+
"FUEL_ASSEMBLIES": {'description': 'Bundled fuel rods ready for reactor loading'},
|
|
68
|
+
"SPENT_FUEL": {'description': 'Used nuclear fuel removed from reactor'},
|
|
69
|
+
"MIXED_OXIDE_FUEL": {'description': 'MOX fuel containing plutonium and uranium oxides'},
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
class EnrichmentProcessEnum(RichEnum):
|
|
73
|
+
"""
|
|
74
|
+
Methods for enriching uranium to increase U-235 concentration
|
|
75
|
+
"""
|
|
76
|
+
# Enum members
|
|
77
|
+
GAS_DIFFUSION = "GAS_DIFFUSION"
|
|
78
|
+
GAS_CENTRIFUGE = "GAS_CENTRIFUGE"
|
|
79
|
+
LASER_ISOTOPE_SEPARATION = "LASER_ISOTOPE_SEPARATION"
|
|
80
|
+
ELECTROMAGNETIC_SEPARATION = "ELECTROMAGNETIC_SEPARATION"
|
|
81
|
+
AERODYNAMIC_SEPARATION = "AERODYNAMIC_SEPARATION"
|
|
82
|
+
|
|
83
|
+
# Set metadata after class creation
|
|
84
|
+
EnrichmentProcessEnum._metadata = {
|
|
85
|
+
"GAS_DIFFUSION": {'description': 'Gaseous diffusion enrichment process'},
|
|
86
|
+
"GAS_CENTRIFUGE": {'description': 'Gas centrifuge enrichment process'},
|
|
87
|
+
"LASER_ISOTOPE_SEPARATION": {'description': 'Laser-based uranium isotope separation'},
|
|
88
|
+
"ELECTROMAGNETIC_SEPARATION": {'description': 'Electromagnetic isotope separation (EMIS)'},
|
|
89
|
+
"AERODYNAMIC_SEPARATION": {'description': 'Aerodynamic enrichment processes'},
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
__all__ = [
|
|
93
|
+
"NuclearFuelCycleStageEnum",
|
|
94
|
+
"NuclearFuelFormEnum",
|
|
95
|
+
"EnrichmentProcessEnum",
|
|
96
|
+
]
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Nuclear Fuel Types and Classifications
|
|
3
|
+
|
|
4
|
+
Classifications of nuclear fuel types including uranium enrichment levels, fuel forms, and alternative fuel cycles. Based on IAEA classifications, nuclear fuel cycle standards, and industry specifications.
|
|
5
|
+
|
|
6
|
+
Generated from: energy/nuclear/nuclear_fuels.yaml
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from __future__ import annotations
|
|
10
|
+
|
|
11
|
+
from typing import Dict, Any, Optional
|
|
12
|
+
from valuesets.generators.rich_enum import RichEnum
|
|
13
|
+
|
|
14
|
+
class NuclearFuelTypeEnum(RichEnum):
|
|
15
|
+
"""
|
|
16
|
+
Types of nuclear fuel materials and compositions
|
|
17
|
+
"""
|
|
18
|
+
# Enum members
|
|
19
|
+
NATURAL_URANIUM = "NATURAL_URANIUM"
|
|
20
|
+
LOW_ENRICHED_URANIUM = "LOW_ENRICHED_URANIUM"
|
|
21
|
+
HIGH_ASSAY_LEU = "HIGH_ASSAY_LEU"
|
|
22
|
+
HIGHLY_ENRICHED_URANIUM = "HIGHLY_ENRICHED_URANIUM"
|
|
23
|
+
WEAPONS_GRADE_URANIUM = "WEAPONS_GRADE_URANIUM"
|
|
24
|
+
REACTOR_GRADE_PLUTONIUM = "REACTOR_GRADE_PLUTONIUM"
|
|
25
|
+
WEAPONS_GRADE_PLUTONIUM = "WEAPONS_GRADE_PLUTONIUM"
|
|
26
|
+
MOX_FUEL = "MOX_FUEL"
|
|
27
|
+
THORIUM_FUEL = "THORIUM_FUEL"
|
|
28
|
+
TRISO_FUEL = "TRISO_FUEL"
|
|
29
|
+
LIQUID_FUEL = "LIQUID_FUEL"
|
|
30
|
+
METALLIC_FUEL = "METALLIC_FUEL"
|
|
31
|
+
CARBIDE_FUEL = "CARBIDE_FUEL"
|
|
32
|
+
NITRIDE_FUEL = "NITRIDE_FUEL"
|
|
33
|
+
|
|
34
|
+
# Set metadata after class creation
|
|
35
|
+
NuclearFuelTypeEnum._metadata = {
|
|
36
|
+
"NATURAL_URANIUM": {'description': 'Uranium as found in nature (0.711% U-235)', 'meaning': 'CHEBI:27214', 'annotations': {'u235_content': '0.711%', 'u238_content': '99.289%', 'enrichment_required': False, 'typical_use': 'PHWR, some research reactors'}, 'aliases': ['Natural U', 'Unat', 'uranium atom']},
|
|
37
|
+
"LOW_ENRICHED_URANIUM": {'description': 'Uranium enriched to 0.7%-20% U-235', 'annotations': {'u235_content': '0.7-20%', 'proliferation_risk': 'low', 'typical_use': 'commercial power reactors', 'iaea_category': 'indirect use material'}, 'aliases': ['LEU']},
|
|
38
|
+
"HIGH_ASSAY_LEU": {'description': 'Uranium enriched to 5%-20% U-235', 'annotations': {'u235_content': '5-20%', 'typical_use': 'advanced reactors, SMRs', 'proliferation_risk': 'moderate'}, 'aliases': ['HALEU', 'LEU+']},
|
|
39
|
+
"HIGHLY_ENRICHED_URANIUM": {'description': 'Uranium enriched to 20% or more U-235', 'annotations': {'u235_content': '≥20%', 'proliferation_risk': 'high', 'typical_use': 'research reactors, naval propulsion', 'iaea_category': 'direct use material'}, 'aliases': ['HEU']},
|
|
40
|
+
"WEAPONS_GRADE_URANIUM": {'description': 'Uranium enriched to 90% or more U-235', 'annotations': {'u235_content': '≥90%', 'proliferation_risk': 'very high', 'typical_use': 'nuclear weapons, some naval reactors'}, 'aliases': ['WGU']},
|
|
41
|
+
"REACTOR_GRADE_PLUTONIUM": {'description': 'Plutonium with high Pu-240 content from spent fuel', 'annotations': {'pu239_content': '<93%', 'pu240_content': '>7%', 'source': 'spent nuclear fuel', 'typical_use': 'MOX fuel'}, 'aliases': ['RGPu']},
|
|
42
|
+
"WEAPONS_GRADE_PLUTONIUM": {'description': 'Plutonium with low Pu-240 content', 'annotations': {'pu239_content': '≥93%', 'pu240_content': '<7%', 'proliferation_risk': 'very high'}, 'aliases': ['WGPu']},
|
|
43
|
+
"MOX_FUEL": {'description': 'Mixture of plutonium and uranium oxides', 'annotations': {'composition': 'UO2 + PuO2', 'plutonium_content': '3-10%', 'typical_use': 'thermal reactors', 'recycling': 'enables plutonium recycling'}, 'aliases': ['MOX', 'Mixed Oxide']},
|
|
44
|
+
"THORIUM_FUEL": {'description': 'Fuel containing thorium-232 as fertile material', 'meaning': 'CHEBI:33385', 'annotations': {'fertile_isotope': 'Th-232', 'fissile_product': 'U-233', 'abundance': 'more abundant than uranium', 'proliferation_resistance': 'high'}, 'aliases': ['Thorium fuel', 'thorium']},
|
|
45
|
+
"TRISO_FUEL": {'description': 'Coated particle fuel with multiple containment layers', 'annotations': {'form': 'coated particles', 'containment_layers': 4, 'meltdown_resistance': 'very high', 'typical_use': 'HTGR, some SMRs'}, 'aliases': ['TRISO']},
|
|
46
|
+
"LIQUID_FUEL": {'description': 'Fuel dissolved in liquid medium', 'annotations': {'phase': 'liquid', 'typical_use': 'molten salt reactors', 'reprocessing': 'online'}},
|
|
47
|
+
"METALLIC_FUEL": {'description': 'Fuel in metallic form', 'annotations': {'form': 'metal alloy', 'typical_use': 'fast reactors', 'thermal_conductivity': 'high'}},
|
|
48
|
+
"CARBIDE_FUEL": {'description': 'Uranium or plutonium carbide fuel', 'annotations': {'chemical_form': 'carbide', 'melting_point': 'very high', 'typical_use': 'advanced reactors'}},
|
|
49
|
+
"NITRIDE_FUEL": {'description': 'Uranium or plutonium nitride fuel', 'annotations': {'chemical_form': 'nitride', 'density': 'high', 'typical_use': 'fast reactors'}},
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
class UraniumEnrichmentLevelEnum(RichEnum):
|
|
53
|
+
"""
|
|
54
|
+
Standard uranium-235 enrichment level classifications
|
|
55
|
+
"""
|
|
56
|
+
# Enum members
|
|
57
|
+
NATURAL = "NATURAL"
|
|
58
|
+
SLIGHTLY_ENRICHED = "SLIGHTLY_ENRICHED"
|
|
59
|
+
LOW_ENRICHED = "LOW_ENRICHED"
|
|
60
|
+
HIGH_ASSAY_LOW_ENRICHED = "HIGH_ASSAY_LOW_ENRICHED"
|
|
61
|
+
HIGHLY_ENRICHED = "HIGHLY_ENRICHED"
|
|
62
|
+
WEAPONS_GRADE = "WEAPONS_GRADE"
|
|
63
|
+
|
|
64
|
+
# Set metadata after class creation
|
|
65
|
+
UraniumEnrichmentLevelEnum._metadata = {
|
|
66
|
+
"NATURAL": {'description': 'Natural uranium enrichment (0.711% U-235)', 'annotations': {'u235_percentage': 0.711, 'category': 'natural', 'separative_work': 0}},
|
|
67
|
+
"SLIGHTLY_ENRICHED": {'description': 'Minimal enrichment above natural levels', 'annotations': {'u235_percentage': '0.8-2.0', 'category': 'SEU', 'typical_use': 'some heavy water reactors'}},
|
|
68
|
+
"LOW_ENRICHED": {'description': 'Standard commercial reactor enrichment', 'annotations': {'u235_percentage': '2.0-5.0', 'category': 'LEU', 'typical_use': 'PWR, BWR commercial reactors'}},
|
|
69
|
+
"HIGH_ASSAY_LOW_ENRICHED": {'description': 'Higher enrichment for advanced reactors', 'annotations': {'u235_percentage': '5.0-20.0', 'category': 'HALEU', 'typical_use': 'advanced reactors, SMRs'}},
|
|
70
|
+
"HIGHLY_ENRICHED": {'description': 'High enrichment for research and naval reactors', 'annotations': {'u235_percentage': '20.0-90.0', 'category': 'HEU', 'typical_use': 'research reactors, naval propulsion'}},
|
|
71
|
+
"WEAPONS_GRADE": {'description': 'Very high enrichment for weapons', 'annotations': {'u235_percentage': '90.0+', 'category': 'WGU', 'proliferation_concern': 'extreme'}},
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
class FuelFormEnum(RichEnum):
|
|
75
|
+
"""
|
|
76
|
+
Physical forms of nuclear fuel
|
|
77
|
+
"""
|
|
78
|
+
# Enum members
|
|
79
|
+
OXIDE_PELLETS = "OXIDE_PELLETS"
|
|
80
|
+
METAL_SLUGS = "METAL_SLUGS"
|
|
81
|
+
COATED_PARTICLES = "COATED_PARTICLES"
|
|
82
|
+
LIQUID_SOLUTION = "LIQUID_SOLUTION"
|
|
83
|
+
DISPERSION_FUEL = "DISPERSION_FUEL"
|
|
84
|
+
CERMET_FUEL = "CERMET_FUEL"
|
|
85
|
+
PLATE_FUEL = "PLATE_FUEL"
|
|
86
|
+
ROD_FUEL = "ROD_FUEL"
|
|
87
|
+
|
|
88
|
+
# Set metadata after class creation
|
|
89
|
+
FuelFormEnum._metadata = {
|
|
90
|
+
"OXIDE_PELLETS": {'description': 'Ceramic uranium dioxide pellets', 'annotations': {'chemical_form': 'UO2', 'shape': 'cylindrical pellets', 'typical_use': 'PWR, BWR fuel rods'}},
|
|
91
|
+
"METAL_SLUGS": {'description': 'Metallic uranium fuel elements', 'annotations': {'chemical_form': 'metallic uranium', 'shape': 'cylindrical slugs', 'typical_use': 'production reactors'}},
|
|
92
|
+
"COATED_PARTICLES": {'description': 'Microspheres with protective coatings', 'annotations': {'structure': 'TRISO or BISO coated', 'size': 'microscopic spheres', 'typical_use': 'HTGR'}},
|
|
93
|
+
"LIQUID_SOLUTION": {'description': 'Fuel dissolved in liquid carrier', 'annotations': {'phase': 'liquid', 'typical_use': 'molten salt reactors'}},
|
|
94
|
+
"DISPERSION_FUEL": {'description': 'Fuel particles dispersed in matrix', 'annotations': {'structure': 'particles in matrix', 'typical_use': 'research reactors'}},
|
|
95
|
+
"CERMET_FUEL": {'description': 'Ceramic-metal composite fuel', 'annotations': {'structure': 'ceramic in metal matrix', 'typical_use': 'advanced reactors'}},
|
|
96
|
+
"PLATE_FUEL": {'description': 'Flat plate fuel elements', 'annotations': {'geometry': 'flat plates', 'typical_use': 'research reactors'}},
|
|
97
|
+
"ROD_FUEL": {'description': 'Cylindrical fuel rods', 'annotations': {'geometry': 'long cylinders', 'typical_use': 'commercial power reactors'}},
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
class FuelAssemblyTypeEnum(RichEnum):
|
|
101
|
+
"""
|
|
102
|
+
Types of fuel assembly configurations
|
|
103
|
+
"""
|
|
104
|
+
# Enum members
|
|
105
|
+
PWR_ASSEMBLY = "PWR_ASSEMBLY"
|
|
106
|
+
BWR_ASSEMBLY = "BWR_ASSEMBLY"
|
|
107
|
+
CANDU_BUNDLE = "CANDU_BUNDLE"
|
|
108
|
+
RBMK_ASSEMBLY = "RBMK_ASSEMBLY"
|
|
109
|
+
AGR_ASSEMBLY = "AGR_ASSEMBLY"
|
|
110
|
+
HTGR_BLOCK = "HTGR_BLOCK"
|
|
111
|
+
FAST_REACTOR_ASSEMBLY = "FAST_REACTOR_ASSEMBLY"
|
|
112
|
+
|
|
113
|
+
# Set metadata after class creation
|
|
114
|
+
FuelAssemblyTypeEnum._metadata = {
|
|
115
|
+
"PWR_ASSEMBLY": {'description': 'Square array fuel assembly for PWR', 'annotations': {'geometry': 'square array', 'rod_count': '264-289 typical', 'control_method': 'control rod clusters'}},
|
|
116
|
+
"BWR_ASSEMBLY": {'description': 'Square array fuel assembly for BWR', 'annotations': {'geometry': 'square array with channel', 'rod_count': '49-100 typical', 'control_method': 'control blades'}},
|
|
117
|
+
"CANDU_BUNDLE": {'description': 'Cylindrical fuel bundle for PHWR', 'annotations': {'geometry': 'cylindrical bundle', 'rod_count': '28-43 typical', 'length': '~50 cm'}},
|
|
118
|
+
"RBMK_ASSEMBLY": {'description': 'Fuel assembly for RBMK reactors', 'annotations': {'geometry': '18-rod bundle', 'length': '~3.5 m', 'control_method': 'control rods'}},
|
|
119
|
+
"AGR_ASSEMBLY": {'description': 'Fuel stringer for AGR', 'annotations': {'geometry': 'stacked pins', 'cladding': 'stainless steel'}},
|
|
120
|
+
"HTGR_BLOCK": {'description': 'Graphite block with TRISO fuel', 'annotations': {'geometry': 'hexagonal or cylindrical blocks', 'fuel_form': 'TRISO particles'}},
|
|
121
|
+
"FAST_REACTOR_ASSEMBLY": {'description': 'Fuel assembly for fast reactors', 'annotations': {'geometry': 'hexagonal wrapper', 'coolant_flow': 'axial'}},
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
class FuelCycleStageEnum(RichEnum):
|
|
125
|
+
"""
|
|
126
|
+
Stages in the nuclear fuel cycle
|
|
127
|
+
"""
|
|
128
|
+
# Enum members
|
|
129
|
+
MINING = "MINING"
|
|
130
|
+
CONVERSION = "CONVERSION"
|
|
131
|
+
ENRICHMENT = "ENRICHMENT"
|
|
132
|
+
FUEL_FABRICATION = "FUEL_FABRICATION"
|
|
133
|
+
REACTOR_OPERATION = "REACTOR_OPERATION"
|
|
134
|
+
INTERIM_STORAGE = "INTERIM_STORAGE"
|
|
135
|
+
REPROCESSING = "REPROCESSING"
|
|
136
|
+
DISPOSAL = "DISPOSAL"
|
|
137
|
+
|
|
138
|
+
# Set metadata after class creation
|
|
139
|
+
FuelCycleStageEnum._metadata = {
|
|
140
|
+
"MINING": {'description': 'Extraction of uranium ore from deposits', 'annotations': {'process': 'mining and milling', 'product': 'uranium ore concentrate (yellowcake)'}},
|
|
141
|
+
"CONVERSION": {'description': 'Conversion of uranium concentrate to UF6', 'annotations': {'input': 'U3O8 yellowcake', 'output': 'uranium hexafluoride (UF6)'}},
|
|
142
|
+
"ENRICHMENT": {'description': 'Increase of U-235 concentration', 'annotations': {'input': 'natural UF6', 'output': 'enriched UF6', 'waste': 'depleted uranium tails'}},
|
|
143
|
+
"FUEL_FABRICATION": {'description': 'Manufacturing of fuel assemblies', 'annotations': {'input': 'enriched UF6', 'output': 'fuel assemblies', 'process': 'pellet and rod manufacturing'}},
|
|
144
|
+
"REACTOR_OPERATION": {'description': 'Power generation in nuclear reactor', 'annotations': {'input': 'fresh fuel assemblies', 'output': 'electricity and spent fuel', 'duration': '12-24 months per cycle'}},
|
|
145
|
+
"INTERIM_STORAGE": {'description': 'Temporary storage of spent fuel', 'annotations': {'purpose': 'cooling and decay', 'duration': '5-40+ years', 'location': 'reactor pools or dry casks'}},
|
|
146
|
+
"REPROCESSING": {'description': 'Chemical separation of spent fuel components', 'annotations': {'input': 'spent nuclear fuel', 'output': 'uranium, plutonium, waste', 'status': 'practiced in some countries'}},
|
|
147
|
+
"DISPOSAL": {'description': 'Permanent disposal of nuclear waste', 'annotations': {'method': 'geological repository', 'duration': 'permanent', 'status': 'under development globally'}},
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
class FissileIsotopeEnum(RichEnum):
|
|
151
|
+
"""
|
|
152
|
+
Fissile isotopes used in nuclear fuel
|
|
153
|
+
"""
|
|
154
|
+
# Enum members
|
|
155
|
+
URANIUM_233 = "URANIUM_233"
|
|
156
|
+
URANIUM_235 = "URANIUM_235"
|
|
157
|
+
PLUTONIUM_239 = "PLUTONIUM_239"
|
|
158
|
+
PLUTONIUM_241 = "PLUTONIUM_241"
|
|
159
|
+
|
|
160
|
+
# Set metadata after class creation
|
|
161
|
+
FissileIsotopeEnum._metadata = {
|
|
162
|
+
"URANIUM_233": {'description': 'Fissile isotope produced from thorium', 'annotations': {'mass_number': 233, 'half_life': '159,200 years', 'thermal_fission': True, 'breeding_from': 'Th-232'}, 'aliases': ['U-233']},
|
|
163
|
+
"URANIUM_235": {'description': 'Naturally occurring fissile uranium isotope', 'annotations': {'mass_number': 235, 'half_life': '703,800,000 years', 'natural_abundance': '0.711%', 'thermal_fission': True}, 'aliases': ['U-235']},
|
|
164
|
+
"PLUTONIUM_239": {'description': 'Fissile plutonium isotope from U-238 breeding', 'annotations': {'mass_number': 239, 'half_life': '24,110 years', 'thermal_fission': True, 'breeding_from': 'U-238'}, 'aliases': ['Pu-239']},
|
|
165
|
+
"PLUTONIUM_241": {'description': 'Fissile plutonium isotope with short half-life', 'annotations': {'mass_number': 241, 'half_life': '14.3 years', 'thermal_fission': True, 'decay_product': 'Am-241'}, 'aliases': ['Pu-241']},
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
__all__ = [
|
|
169
|
+
"NuclearFuelTypeEnum",
|
|
170
|
+
"UraniumEnrichmentLevelEnum",
|
|
171
|
+
"FuelFormEnum",
|
|
172
|
+
"FuelAssemblyTypeEnum",
|
|
173
|
+
"FuelCycleStageEnum",
|
|
174
|
+
"FissileIsotopeEnum",
|
|
175
|
+
]
|