Commit 78ea9361 authored by Erik Asbjørn Mikkelsen Jensen's avatar Erik Asbjørn Mikkelsen Jensen
Browse files

Added todo

parent 422c34de
GROUPS
1: ( => spin uncertain, parity possibly uncertain (if 5)
2: >< => spin nan -- parity also affected by this, is ok?
3: digit ~=> spin nan
4: /2 => divide spin by 2
5: +- ~=> parity possibly nan (also 9)
6: # => (if 5) parity estimate
7: )
8: ( => parity uncertain
9: +- ~=> parity possibly nan (also 5)
10: # => (if 9) parity estimate
11: )
12: anything else? => spin nan -- parity also affected by this, is ok?
sorterer nogle spin fra, som den ikke bør
fejlagtigt frasorteret: 11Li 31Ar 234U 235U
fejlagtigt tilsorteret: 118Agm
group 12 corrections
(#,#)+-: 21Ne 97Rbm 98Ag 130Sbm 198Tln
(#,#)(+-#): 98Rbm 106Tc 118Rh 128Pm 130Pr 194Irn
text(+-#): 124Lam
group 2 corrections
114Agm, 102Yxm, 144Csn and 212Bin contains >/<. only 114Agm wrongly
gets parity deemed nan. simple fix: don't look at group 2 in parity
determination.
hvad betyder "*" efter spin-paritet i nubase2016? 40K 41K 42K 43K 44K
45K 46K 47K 48K 49K 50K 51K 51Mn 53Mn 55Mn 57Mn 59Mn 61Mn 61Cu 62Cu 63Mn
63Cu 64Cu 65Cu 66Cu 67Cu 68Cu 69Cu 70Cu 71Cu 72Cu 73Cu 74Cu 75Cu 79Zn
97Ag 98Ag 99Ag 100Ag 101Ag 107Ag 193Po 195Po 197Po 199Po 201Po 202Fr
203Po 203Fr 204Fr 205Fr 206Fr 208Fr 209Po 209Fr 210Fr 211Po 211Fr 212Fr
213Fr 220Fr 221Fr 222Fr 223Fr 224Fr 225Fr 226Fr 227Fr 228Fr 243Am 247Cm
mellemrum for meget: 168Eu 191Irn
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~OVENSTÅENDE VEDRØRER
SPIN/PARITET~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~NEDENSTÅENDE VEDRØRER BRANCHING
RATIOS~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
On 28/11/2020 22.21, Erik Asbjørn Mikkelsen Jensen wrote:
> ;;
> 40P 91Nbm
>
> +#-# (assymetric uncertainty)
> 43Cr
>
> [gs=#,ms=#]
> 24Ne 77Ga 77As 98Nbq 109Inn 114Inn 116Inn 118Inn 124Sbn 126Sbn
> 146Tbn 148Hon 150Tmn
>
> LE
> 71Znm 106Agm 150Eum 231Pa(missing ";"?)
>
> ?
> 101Rb 125Pd(muligvis ok)
>
> ", e+"
> 142Gd
>
> (#)
> 161Tam
>
> Mellemrum for meget
> 165Tam 171Pt 174Tmm 180Rem 184Hfn 186Hfm 186Tam 187Tam 187Tan
>
> Flere mellemrum for meget
> 262Md
>
> Mellemrum mangler
> 240Cf
>
> "E" i stedet for "e"
> 250Fmm
>
> On 28/11/2020 21.32, Erik Asbjørn Mikkelsen Jensen wrote:
>> .{110}([-+A-Za-z0-9]*)([= ~<>])([0-9.?e+-]*)([ #\[])?([0-9.]*)
>>
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.patheffects as pe
mpl.style.use('seaborn-colorblind')
plt.rc("axes", labelsize=16, titlesize=20)
plt.rc("xtick", labelsize=14, top=True, direction="in")
plt.rc("ytick", labelsize=14, right=True, direction="in")
plt.rc("legend", fontsize=14)
# IMPORT DATA
n, Z, N, QEC, QB, Qa, QECp, QBn, QEC2p, QB2n, QECa, QBa, QECp_est, QBn_est, QEC2p_est, \
QB2n_est, QECa_est, QBa_est, half_life, half_life_est, half_life_stbl = np.loadtxt('beta-delayed.dat', unpack=True)
# DEFINE HELPFUL SCALARS AND ARRAYS
xmin = int(np.min(N))
xmax = int(np.max(N))
ymin = int(np.min(Z))
ymax = int(np.max(Z))
xlower = xupper = ylower = yupper = np.array([])
for i in range(xmin, xmax + 1):
x_indices = np.argwhere(Z == i)
xlower = np.append(xlower, np.max(N[x_indices]))
xupper = np.append(xupper, np.min(N[x_indices]))
for i in range(ymin, ymax + 1):
y_indices = np.argwhere(N == i)
ylower = np.append(ylower, np.min(Z[y_indices]))
yupper = np.append(yupper, np.max(Z[y_indices]))
# fix data-inherent shortcomings and align arrays
xupper[0] = 0
xupper[2] = 0
ylower[0] = 0
yupper = np.append(yupper, yupper[-1])
yupper = np.roll(yupper, -1)
xlower = np.append(xlower, xlower[-1])
xlower = np.roll(xlower, -1)
# SET SOME GENERAL PROPERTIES ON OUTPUT FIGURE
ax = plt.gca()
ax.set_xticks(np.arange(xmin, xmax + 1, 8))
ax.set_yticks(np.arange(xmin, xmax + 1, 8))
ax.set_xticks(np.arange(xmin, xmax + 1, 4), minor=True)
ax.set_yticks(np.arange(xmin, xmax + 1, 4), minor=True)
ax.set_axisbelow(True)
ax.grid(which='both', linestyle='--', alpha=0.3)
ax.set_aspect('equal')
plt.xlim(xmin - 0.5, 36 + 0.5)
plt.ylim(xmin - 0.5, 36 + 0.5)
plt.xlabel('$N$')
plt.ylabel('$Z$')
# DEFINE THE DISTINCTIONS TO BE MADE BETWEEN NUCLIDES IN THE CHART OF NUCLIDES
filters = [(np.ones(len(n), dtype=bool)),
(half_life_stbl == 1),
(
(
(QECp > 0) & ((QEC2p < 0) | np.isnan(QEC2p)) & (QEC > 0) & (half_life > 1e-4)
)
|
(
(QBn > 0) & ((QB2n < 0) | np.isnan(QB2n)) & (QB > 0) & (half_life > 1e-4)
)
),
(((QEC2p > 0) & (QEC > 0) & (half_life > 1e-4)) | ((QB2n > 0) & (QB > 0) & (half_life > 1e-4))),
(((QBa > 0) & (QB > 0) & (half_life > 1e-4)) | ((QECa > 0) & (QEC > 0) & (half_life > 1e-4))),
((half_life < 1e-4) | (np.isnan(half_life))) & ~(half_life_stbl == 1)
]
labels = ['',
'Stable',
'ECp / $\mathtt{\\beta^{-}}$n',
'EC2p / $\mathtt{\\beta^{-}}$2n',
'EC$\mathtt{\\alpha}$ / $\mathtt{\\beta^{-}\\alpha}$',
'$t_{1/2}$ < 0.1 ms or \n$t_{1/2}$ unknown']
rectcenters = [0.5, 0.5, 0.5, 0.5, 0.3, 0.5]
rectsizes = [1.0, 1.0, 1.0, 1.0, 0.6, 1.0]
linewidths = [0.0, 0.0, 0.0, 0.0, 0.2, 0.0]
markersizes = np.array(rectsizes) * 7.0
edgecolors = ['w', 'k', 'C5', 'C2', 'k', 'C9']
facecolors = ['w', 'k', 'C5', 'C2', 'C4', 'C9']
shapes = ['s', 's', 's', 's', 'D', 's']
# PLOT THE DISTINCTIONS
for i in range(len(filters)):
if i > 0: # no legend for white squares which are printed for all existing nuclides (otherwise grid is obstructing)
plt.plot(-100, -100, marker=shapes[i], markeredgecolor=edgecolors[i], markersize=markersizes[i],
markerfacecolor=facecolors[i], linestyle='', markeredgewidth=linewidths[i], label=labels[i])
for x, y in zip(N[filters[i]], Z[filters[i]]):
if shapes[i] == 's':
ax.add_patch(plt.Rectangle((x - rectcenters[i], y - rectcenters[i]),
rectsizes[i], rectsizes[i], edgecolor=edgecolors[i],
facecolor=facecolors[i], linewidth=linewidths[i]))
elif shapes[i] == 'D':
ax.add_patch(plt.Rectangle((x, y - np.sqrt(2)*rectcenters[i]),
rectsizes[i], rectsizes[i], edgecolor=edgecolors[i],
facecolor=facecolors[i], linewidth=linewidths[i], angle=45.0))
handles, labels = plt.gca().get_legend_handles_labels()
order = [0, 1, 2, 3, 4]
L = plt.legend([handles[idx] for idx in order], [labels[idx] for idx in order], fontsize=8.0)
plt.setp(L.texts, family='monospace')
# PLOT A GRID ON TOP OF ALL KNOWN NUCLIDES
plt.vlines(np.array(range(int(xmin), int(xmax) + 1)) + 0.5, ylower - 0.5, yupper[0:-1] + 0.5, lw=0.4, color='k', capstyle='round')
plt.hlines(np.array(range(int(ymin), int(ymax) + 1)) + 0.5, xlower[0:-1] + 0.5, xupper - 0.5, lw=0.4, color='k', capstyle='round')
# SAVE THE FIGURE
plt.savefig('beta-delayed_tmp.pdf', bbox_inches='tight', dpi=300)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment