Skip to content

Commit

Permalink
Update readfacdata.py
Browse files Browse the repository at this point in the history
  • Loading branch information
lukeshingles committed Jan 30, 2024
1 parent 5f05851 commit 83df52e
Showing 1 changed file with 17 additions and 5 deletions.
22 changes: 17 additions & 5 deletions artisatomic/readfacdata.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import re
import typing as t
from collections import defaultdict
from collections import namedtuple
from pathlib import Path
Expand Down Expand Up @@ -183,17 +184,22 @@ def extend_ion_list(ion_handlers):
return ion_handlers


def read_levels_data(dflevels):
energy_level_tuple = namedtuple("energylevel", "levelname energyabovegsinpercm g parity")
class FACEnergyLevel(t.NamedTuple):
levelname: str
energyabovegsinpercm: float
g: float
parity: int


def read_levels_data(dflevels):
energy_levels = []
ilev_enlevelindex_map = {}

dflevels = dflevels.sort_values(by="energypercm", ignore_index=True)
for index, row in dflevels.iterrows():
ilev_enlevelindex_map[int(row["Ilev"])] = index

newlevel = energy_level_tuple(
newlevel = FACEnergyLevel(
levelname=row["Config rel"], parity=row["P"], g=row["g"], energyabovegsinpercm=float(row["energypercm"])
)
energy_levels.append(newlevel)
Expand All @@ -203,10 +209,16 @@ def read_levels_data(dflevels):
return [None, *energy_levels], ilev_enlevelindex_map


class FACTransition(t.NamedTuple):
lowerlevel: int
upperlevel: int
A: float
coll_str: float


def read_lines_data(energy_levels, dflines, ilev_enlevelindex_map, flog):
transitions = []
transition_count_of_level_name = defaultdict(int)
transitiontuple = namedtuple("transition", "lowerlevel upperlevel A coll_str")

for index, row in dflines.iterrows():
try:
Expand All @@ -216,7 +228,7 @@ def read_lines_data(energy_levels, dflines, ilev_enlevelindex_map, flog):
continue
assert lowerlevel < upperlevel

transtuple = transitiontuple(lowerlevel=lowerlevel, upperlevel=upperlevel, A=row["A"], coll_str=-1)
transtuple = FACTransition(lowerlevel=lowerlevel, upperlevel=upperlevel, A=row["A"], coll_str=-1)

transition_count_of_level_name[energy_levels[lowerlevel].levelname] += 1
transition_count_of_level_name[energy_levels[upperlevel].levelname] += 1
Expand Down

0 comments on commit 83df52e

Please sign in to comment.