Raw Database Parser
This module handles the initial parsing of raw ASCII position-based ENDL tables (EADL, EEDL, EPDL) for Germanium and formats them into python dictionaries.
process_db
EPICS2023 Database Builder Module.
This script parses raw position-based ENDL ASCII data files (EADL, EEDL, EPDL) for Germanium (Z=32), optimizes the data structures into fast NumPy arrays, and serializes the result into a clean Python pickle file for simulation use.
U = lambda : 1000.0 * float(x)
module-attribute
Indexes Layout: 0) Yi - incident particle designator (0: whole atom, 7: photon, 9: electron) 1) Yo - outgoing particle designator (0: none, 7: photon, 8: positron, 9: electron, 19: recoil) 2) C - reaction descriptor 3) I - reaction property
Data_to_Arrays(D)
Recursively converts standard Python lists into fast NumPy arrays.
Walks down the 5-layer nested dictionary and performs in-place modification of all data terminal tables.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
D |
dict
|
The nested data dictionary to transform. |
required |
Source code in process_db.py
EPICS2023(list_of_files, tables)
Parses ENDL-formatted data files and extracts tables based on active descriptors.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
list_of_files |
list of str
|
File paths for EADL, EEDL, and EPDL database sheets. |
required |
tables |
dict
|
A combined translation dictionary containing parsing lambdas or 'skip' flags. |
required |
Returns:
| Type | Description |
|---|---|
tuple(int, float, dict)
|
Z (Atomic Number), M (Atomic Mass), and the raw nested data hierarchy. |
Source code in process_db.py
Shift_E(D)
Forces strict monotonic increase of energy thresholds for spline safety.
Modifies adjacent identical energy boundaries near atomic shell transitions by a small fractional value to ensure compatibility with cubic splines.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
D |
dict
|
The global multi-level interaction dataset. |
required |
Source code in process_db.py
Split_Arrays(T)
Splits multi-dimensional distribution tables over discrete incident energy values.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
T |
dict
|
A table structure with 3 equivalent-length data lists. |
required |
Returns:
| Type | Description |
|---|---|
dict
|
A reassigned layout mapped by unique isolated baseline variables. |