Skip to content

Commit aee72fa

Browse files
committed
Update readnahardata.py
1 parent e0f6d3d commit aee72fa

File tree

1 file changed

+36
-8
lines changed

1 file changed

+36
-8
lines changed

artisatomic/readnahardata.py

Lines changed: 36 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import os
22
import sys
3+
import typing as t
34
from collections import defaultdict
45
from collections import namedtuple
56

@@ -17,17 +18,25 @@
1718
reversedalphabets = "zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA "
1819
lchars = "SPDFGHIKLMNOPQRSTUVWXYZ"
1920

20-
term_index_tuple = namedtuple("term_index_tuple", "twosplusone lval parity indexinsymmetry")
21+
22+
class NaharEnergyLevel(t.NamedTuple):
23+
indexinsymmetry: int
24+
TC: int
25+
corestateid: int
26+
elecn: int
27+
elecl: int
28+
energyreltoionpotrydberg: float
29+
twosplusone: int
30+
l: int
31+
parity: int
32+
energyabovegsinpercm: float
33+
g: int
34+
naharconfiguration: str
2135

2236

2337
def read_nahar_energy_level_file(path_nahar_energy_file, atomic_number, ion_stage, flog):
24-
nahar_energy_level_row = namedtuple(
25-
"energylevel",
26-
"indexinsymmetry TC corestateid elecn elecl energyreltoionpotrydberg twosplusone l parity"
27-
" energyabovegsinpercm g naharconfiguration",
28-
)
2938
nahar_configurations = {}
30-
nahar_energy_levels = [None]
39+
nahar_energy_levels: list[NaharEnergyLevel | None] = [None]
3140
nahar_level_index_of_state = {}
3241
nahar_core_states = []
3342

@@ -88,7 +97,11 @@ def read_nahar_energy_level_file(path_nahar_energy_file, atomic_number, ion_stag
8897
for _ in range(number_of_states_in_symmetry):
8998
row = fenlist.readline().split()
9099
indexinsymmetry = int(row[0])
100+
TC = int(row[1])
91101
nahar_core_state_id = int(row[2])
102+
elecn = int(row[3])
103+
elecl = int(row[4])
104+
energyreltoionpotrydberg = float(row[5])
92105
if nahar_core_state_id < 1 or nahar_core_state_id > len(nahar_core_states):
93106
flog.write(
94107
"Core state id of {:d}{}{} index {:d} is invalid (={:d}, Ncorestates={:d}). Setting"
@@ -103,7 +116,22 @@ def read_nahar_energy_level_file(path_nahar_energy_file, atomic_number, ion_stag
103116
)
104117
nahar_core_state_id = 1
105118

106-
nahar_energy_levels.append(nahar_energy_level_row(*row, twosplusone, l_val, parity, -1.0, 0, "")) # ty:ignore[too-many-positional-arguments]
119+
nahar_energy_levels.append(
120+
NaharEnergyLevel(
121+
indexinsymmetry,
122+
TC,
123+
nahar_core_state_id,
124+
elecn,
125+
elecl,
126+
energyreltoionpotrydberg,
127+
twosplusone,
128+
l_val,
129+
parity,
130+
-1.0,
131+
0,
132+
"",
133+
)
134+
)
107135

108136
energyabovegsinpercm = (
109137
(nahar_ionization_potential_rydberg + float(nahar_energy_levels[-1].energyreltoionpotrydberg)) # ty:ignore[possibly-missing-attribute]

0 commit comments

Comments
 (0)