From b23c17e151d406314c0f2056ff88412fbbd5e68f Mon Sep 17 00:00:00 2001 From: Anthony Onwuli <30937913+AntObi@users.noreply.github.com> Date: Thu, 7 Dec 2023 16:38:15 +0000 Subject: [PATCH 1/7] Add files via upload Added oxidation state decorated cif file for CsPbI3 --- .../Oxidation_states/mp-540839_CsPbI3_oxi.cif | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 examples/Oxidation_states/mp-540839_CsPbI3_oxi.cif diff --git a/examples/Oxidation_states/mp-540839_CsPbI3_oxi.cif b/examples/Oxidation_states/mp-540839_CsPbI3_oxi.cif new file mode 100644 index 00000000..ac3953e9 --- /dev/null +++ b/examples/Oxidation_states/mp-540839_CsPbI3_oxi.cif @@ -0,0 +1,52 @@ +# generated using pymatgen +data_CsPbI3 +_symmetry_space_group_name_H-M 'P 1' +_cell_length_a 4.84714164 +_cell_length_b 10.65044663 +_cell_length_c 18.03119927 +_cell_angle_alpha 90.00000000 +_cell_angle_beta 90.00000000 +_cell_angle_gamma 90.00000000 +_symmetry_Int_Tables_number 1 +_chemical_formula_structural CsPbI3 +_chemical_formula_sum 'Cs4 Pb4 I12' +_cell_volume 930.84665829 +_cell_formula_units_Z 4 +loop_ + _symmetry_equiv_pos_site_id + _symmetry_equiv_pos_as_xyz + 1 'x, y, z' +loop_ + _atom_type_symbol + _atom_type_oxidation_number + Cs+ 1.0 + Pb2+ 2.0 + I- -1.0 +loop_ + _atom_site_type_symbol + _atom_site_label + _atom_site_symmetry_multiplicity + _atom_site_fract_x + _atom_site_fract_y + _atom_site_fract_z + _atom_site_occupancy + Cs+ Cs0 1 0.75000000 0.58127558 0.17211973 1.0 + Cs+ Cs1 1 0.25000000 0.41872442 0.82788027 1.0 + Cs+ Cs2 1 0.75000000 0.08127558 0.32788027 1.0 + Cs+ Cs3 1 0.25000000 0.91872442 0.67211973 1.0 + Pb2+ Pb4 1 0.25000000 0.66184885 0.43921676 1.0 + Pb2+ Pb5 1 0.75000000 0.33815115 0.56078324 1.0 + Pb2+ Pb6 1 0.25000000 0.16184885 0.06078324 1.0 + Pb2+ Pb7 1 0.75000000 0.83815115 0.93921676 1.0 + I- I8 1 0.75000000 0.83721116 0.50204455 1.0 + I- I9 1 0.25000000 0.16278884 0.49795545 1.0 + I- I10 1 0.75000000 0.33721116 0.99795545 1.0 + I- I11 1 0.25000000 0.66278884 0.00204455 1.0 + I- I12 1 0.25000000 0.52927197 0.61230824 1.0 + I- I13 1 0.75000000 0.47072803 0.38769176 1.0 + I- I14 1 0.25000000 0.02927197 0.88769176 1.0 + I- I15 1 0.75000000 0.97072803 0.11230824 1.0 + I- I16 1 0.25000000 0.79631664 0.28730552 1.0 + I- I17 1 0.75000000 0.20368336 0.71269448 1.0 + I- I18 1 0.25000000 0.29631664 0.21269448 1.0 + I- I19 1 0.75000000 0.70368336 0.78730552 1.0 From ad7f7aaf82fd258a3f9d7fdd459a74864a5593fe Mon Sep 17 00:00:00 2001 From: Anthony Onwuli <30937913+AntObi@users.noreply.github.com> Date: Thu, 7 Dec 2023 17:14:43 +0000 Subject: [PATCH 2/7] Fix bug with using structures --- smact/oxidation_states.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/smact/oxidation_states.py b/smact/oxidation_states.py index cec08a61..300b28ef 100644 --- a/smact/oxidation_states.py +++ b/smact/oxidation_states.py @@ -12,7 +12,8 @@ from numpy import mean from pymatgen.core import Structure -from pymatgen.core.periodic_table import Specie as pmgSpecies +from pymatgen.core.periodic_table import Species as pmgSpecies +from pymatgen.core.periodic_table import get_el_sp from smact import Element, Species, data_directory @@ -146,7 +147,13 @@ def compound_probability( if not all(isinstance(i, pmgSpecies) for i in species): raise TypeError("Structure must have oxidation states.") else: - structure = [Species(i.symbol, i.oxi_state) for i in structure] + structure = [ + Species( + get_el_sp(i.species_string).symbol, + get_el_sp(i.species_string).oxi_state, + ) + for i in structure + ] else: raise TypeError( "Input requires a list of SMACT or Pymatgen Species or a Structure." From 030d68b0b7688ea955b1ba736bbec573e380c01a Mon Sep 17 00:00:00 2001 From: Anthony Onwuli <30937913+AntObi@users.noreply.github.com> Date: Thu, 7 Dec 2023 17:14:59 +0000 Subject: [PATCH 3/7] Add example using a structure --- .../Oxidation_states/oxidation_states.ipynb | 172 +++++++++++++----- 1 file changed, 126 insertions(+), 46 deletions(-) diff --git a/examples/Oxidation_states/oxidation_states.ipynb b/examples/Oxidation_states/oxidation_states.ipynb index 588d1fdf..45908c2b 100644 --- a/examples/Oxidation_states/oxidation_states.ipynb +++ b/examples/Oxidation_states/oxidation_states.ipynb @@ -22,7 +22,7 @@ "import multiprocess\n", "import numpy as np\n", "import pandas as pd\n", - "from pymatgen.core import Composition\n", + "from pymatgen.core import Composition, Structure\n", "\n", "import smact\n", "from smact import Element, Species, screening\n", @@ -65,7 +65,7 @@ "output_type": "stream", "text": [ "The species included in the probability table for the oxidation states model are show below \n", - "['F-1', 'I-1', 'O-2', 'Cl-1', 'S-2', 'Se-2', 'Br-1', 'Te-2', 'Mn5', 'Fe3', 'U6', 'Nb1', 'Cr4', 'Pr2', 'Re4', 'Cu2', 'Sr2', 'Sc1', 'Sb5', 'Eu3', 'Mn1', 'Ag2', 'Cs1', 'Al3', 'V5', 'Ta2', 'Dy3', 'Rb1', 'Ta4', 'La2', 'Rh4', 'Lu3', 'Nd2', 'Tm2', 'Y1', 'Re2', 'Th4', 'Co1', 'Mn2', 'Mn3', 'Ni4', 'Pb4', 'Sc3', 'W2', 'Ta3', 'Mo4', 'Ru2', 'Ru3', 'Ce3', 'Gd2', 'Tl3', 'Ir6', 'Zr4', 'Ga1', 'Sn4', 'Mn6', 'La3', 'Pr3', 'Ti2', 'Bi2', 'Tb1', 'Pd4', 'Ru5', 'Eu2', 'Pb2', 'Nd3', 'Ru6', 'Cr6', 'Hf4', 'Zr2', 'Ho3', 'Ce4', 'Ce2', 'Ge3', 'Th3', 'Mg2', 'Re3', 'Co4', 'Ni1', 'Ni2', 'Ir3', 'Gd3', 'In2', 'Y3', 'U4', 'Re5', 'Ir4', 'Mo2', 'Sn3', 'Cu3', 'Ti3', 'Tb2', 'Pd3', 'Bi5', 'Y2', 'U3', 'Ge4', 'Mo3', 'Zr3', 'Er3', 'Sm2', 'Sm3', 'Cr2', 'Sb3', 'Mo6', 'Be2', 'Ta5', 'V3', 'Rh1', 'Pd2', 'Dy2', 'Cd2', 'Sn2', 'Tb4', 'Co3', 'Re6', 'Yb3', 'W3', 'Mo5', 'Re7', 'Hf2', 'Fe2', 'Ag1', 'Ir5', 'Nb5', 'Yb2', 'Li1', 'Tl1', 'Zr1', 'Zn2', 'Sb4', 'Ti4', 'Ba2', 'Co2', 'V4', 'Nb2', 'U2', 'Bi1', 'W4', 'Na1', 'Nb4', 'Ho2', 'Nb3', 'Ge2', 'Mn4', 'Ru4', 'Ca2', 'In1', 'U5', 'Ag3', 'In3', 'V2', 'W6', 'Fe4', 'Ni3', 'Tm3', 'Ga3', 'Hg1', 'Sc2', 'Cr3', 'Ta1', 'Cu1', 'Bi3', 'K1', 'Ga2', 'Rh3', 'W5', 'Fe1', 'La1', 'Mn7', 'Hg2', 'Cr5', 'Tb3']\n" + "['Cl-1', 'O-2', 'S-2', 'I-1', 'Br-1', 'F-1', 'Se-2', 'Te-2', 'La2', 'Pr2', 'Tb2', 'Sc1', 'Cr3', 'Sc2', 'Tl3', 'Ru2', 'Mn7', 'W3', 'Ir5', 'Ru6', 'Ho3', 'Ag3', 'Cs1', 'Eu3', 'Mn2', 'Cd2', 'Re2', 'In3', 'Ta1', 'Ca2', 'Re7', 'U5', 'Zn2', 'Yb3', 'Hg2', 'W5', 'Co3', 'Ru5', 'Er3', 'Sm2', 'Ir3', 'Ru4', 'Sb4', 'Zr3', 'Lu3', 'Ta5', 'Ru3', 'U2', 'Tl1', 'V4', 'La3', 'Re3', 'Ag1', 'Sn2', 'Sm3', 'Th4', 'Tm2', 'Ga3', 'Co1', 'Ce3', 'Co2', 'Rh4', 'Bi5', 'Pd4', 'Pb2', 'Gd2', 'Nb4', 'Gd3', 'Bi1', 'Li1', 'Pd2', 'V5', 'Y3', 'Dy2', 'Sn4', 'Th3', 'Sb5', 'Fe4', 'Cr6', 'W4', 'Ti3', 'Ni2', 'Re5', 'U3', 'Ge2', 'Sn3', 'Bi3', 'Eu2', 'Sc3', 'Zr4', 'In2', 'Cr5', 'Mn3', 'Tb3', 'Ag2', 'Fe3', 'Ir4', 'Ga1', 'Cu2', 'Sr2', 'W2', 'Mo5', 'Tb4', 'Mn6', 'Ta4', 'Cu1', 'Fe2', 'Mn4', 'U6', 'Pr3', 'Bi2', 'Zr2', 'Nd3', 'Ta3', 'Ti2', 'Mg2', 'Cu3', 'V2', 'Tm3', 'W6', 'Rb1', 'Ta2', 'K1', 'Ga2', 'Ti4', 'Ba2', 'Mn1', 'La1', 'Cr2', 'Al3', 'U4', 'Ge4', 'Nd2', 'Mo3', 'Yb2', 'Tb1', 'Ge3', 'Ni1', 'Nb5', 'Rh3', 'Hf4', 'Nb3', 'Ni3', 'Dy3', 'Re6', 'Na1', 'In1', 'Hg1', 'Rh1', 'Y2', 'Pd3', 'Ce2', 'Sb3', 'Cr4', 'Y1', 'Zr1', 'Hf2', 'Pb4', 'Nb1', 'Fe1', 'Ni4', 'Ce4', 'Mn5', 'Mo6', 'Ho2', 'Nb2', 'Ir6', 'Mo4', 'V3', 'Mo2', 'Co4', 'Re4', 'Be2']\n" ] } ], @@ -143,6 +143,86 @@ "print(f\"The compound probability for CaAl2O4 is {prob_compound}.\")" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We can compute this compound probability for a pymatgen Structure as well." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The structure of mp-540839 CsPbI3:\n", + "\n", + "Full Formula (Cs4 Pb4 I12)\n", + "Reduced Formula: CsPbI3\n", + "abc : 4.847142 10.650447 18.031199\n", + "angles: 90.000000 90.000000 90.000000\n", + "pbc : True True True\n", + "Sites (20)\n", + " # SP a b c\n", + "--- ---- ---- -------- --------\n", + " 0 Cs+ 0.75 0.581276 0.17212\n", + " 1 Cs+ 0.25 0.418724 0.82788\n", + " 2 Cs+ 0.75 0.081276 0.32788\n", + " 3 Cs+ 0.25 0.918724 0.67212\n", + " 4 Pb2+ 0.25 0.661849 0.439217\n", + " 5 Pb2+ 0.75 0.338151 0.560783\n", + " 6 Pb2+ 0.25 0.161849 0.060783\n", + " 7 Pb2+ 0.75 0.838151 0.939217\n", + " 8 I- 0.75 0.837211 0.502045\n", + " 9 I- 0.25 0.162789 0.497955\n", + " 10 I- 0.75 0.337211 0.997955\n", + " 11 I- 0.25 0.662789 0.002045\n", + " 12 I- 0.25 0.529272 0.612308\n", + " 13 I- 0.75 0.470728 0.387692\n", + " 14 I- 0.25 0.029272 0.887692\n", + " 15 I- 0.75 0.970728 0.112308\n", + " 16 I- 0.25 0.796317 0.287306\n", + " 17 I- 0.75 0.203683 0.712694\n", + " 18 I- 0.25 0.296317 0.212694\n", + " 19 I- 0.75 0.703683 0.787306\n", + "\n", + "The compound probability for CsPbI3 is 1.0.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/codespace/.python/current/lib/python3.10/site-packages/pymatgen/io/cif.py:1186: UserWarning: The default value of primitive was changed from True to False in https://github.com/materialsproject/pymatgen/pull/3419. CifParser now returns the cell in the CIF file as is. If you want the primitive cell, please set primitive=True explicitly.\n", + " warnings.warn(\n" + ] + } + ], + "source": [ + "# Load the structure file\n", + "\n", + "struct = Structure.from_file(\"mp-540839_CsPbI3_oxi.cif\")\n", + "print(\"The structure of mp-540839 CsPbI3:\\n\")\n", + "print(struct)\n", + "\n", + "\n", + "# Get the compound probability for CsPbI3\n", + "prob = ox_prob_finder.compound_probability(struct)\n", + "\n", + "print(f\"\\nThe compound probability for CsPbI3 is {prob_compound}.\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "markdown", "metadata": {}, @@ -163,7 +243,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "metadata": { "tags": [ "hide-input", @@ -249,7 +329,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "metadata": { "tags": [ "hide-input", @@ -264,11 +344,11 @@ "Number of compositions: 14832\n", "Each list entry looks like this:\n", " elements, oxidation states, stoichiometries\n", - "['Mn', 'Fe', 'F'] (5, 3, -1) (1, 1, 8)\n", - "['Mn', 'Fe', 'Cl'] (5, 3, -1) (1, 1, 8)\n", - "['Mn', 'Fe', 'Br'] (5, 3, -1) (1, 1, 8)\n", - "['Mn', 'Fe', 'I'] (5, 3, -1) (1, 1, 8)\n", - "['Mn', 'Nb', 'F'] (5, 1, -1) (1, 1, 6)\n" + "['Sc', 'Cr', 'F'] (1, 3, -1) (1, 1, 4)\n", + "['Sc', 'Cr', 'Cl'] (1, 3, -1) (1, 1, 4)\n", + "['Sc', 'Cr', 'Br'] (1, 3, -1) (1, 1, 4)\n", + "['Sc', 'Cr', 'I'] (1, 3, -1) (1, 1, 4)\n", + "['Sc', 'Sc', 'F'] (1, 2, -1) (1, 1, 3)\n" ] } ], @@ -300,7 +380,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "metadata": { "tags": [ "hide-input", @@ -313,11 +393,11 @@ "output_type": "stream", "text": [ "Each list entry now looks like this: \n", - "MnFeF8\n", - "MnFeCl8\n", - "MnFeBr8\n", - "MnFeI8\n", - "MnNbF6\n" + "ScCrF4\n", + "ScCrCl4\n", + "ScCrBr4\n", + "ScCrI4\n", + "Sc2F3\n" ] } ], @@ -354,7 +434,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -366,7 +446,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -400,41 +480,41 @@ " \n", " \n", " 0\n", - " MnFeF8\n", - " Mn5+\n", - " Fe3+\n", + " ScCrF4\n", + " Sc1+\n", + " Cr3+\n", " F1-\n", - " 0.383333\n", + " 0.289474\n", " \n", " \n", " 1\n", - " MnFeCl8\n", - " Mn5+\n", - " Fe3+\n", + " ScCrCl4\n", + " Sc1+\n", + " Cr3+\n", " Cl1-\n", - " 0.281250\n", + " 0.227273\n", " \n", " \n", " 2\n", - " MnFeBr8\n", - " Mn5+\n", - " Fe3+\n", + " ScCrBr4\n", + " Sc1+\n", + " Cr3+\n", " Br1-\n", - " 0.277778\n", + " 0.285714\n", " \n", " \n", " 3\n", - " MnFeI8\n", - " Mn5+\n", - " Fe3+\n", + " ScCrI4\n", + " Sc1+\n", + " Cr3+\n", " I1-\n", - " 0.100000\n", + " 0.111111\n", " \n", " \n", " 4\n", - " MnNbF6\n", - " Mn5+\n", - " Nb1+\n", + " Sc2F3\n", + " Sc1+\n", + " Sc2+\n", " F1-\n", " 0.000000\n", " \n", @@ -444,14 +524,14 @@ ], "text/plain": [ " formula_pretty A B X compound_probability\n", - "0 MnFeF8 Mn5+ Fe3+ F1- 0.383333\n", - "1 MnFeCl8 Mn5+ Fe3+ Cl1- 0.281250\n", - "2 MnFeBr8 Mn5+ Fe3+ Br1- 0.277778\n", - "3 MnFeI8 Mn5+ Fe3+ I1- 0.100000\n", - "4 MnNbF6 Mn5+ Nb1+ F1- 0.000000" + "0 ScCrF4 Sc1+ Cr3+ F1- 0.289474\n", + "1 ScCrCl4 Sc1+ Cr3+ Cl1- 0.227273\n", + "2 ScCrBr4 Sc1+ Cr3+ Br1- 0.285714\n", + "3 ScCrI4 Sc1+ Cr3+ I1- 0.111111\n", + "4 Sc2F3 Sc1+ Sc2+ F1- 0.000000" ] }, - "execution_count": 10, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -472,7 +552,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -507,12 +587,12 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "metadata": {}, "outputs": [ { "data": { - "image/png": "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554zBhVnGTVqFF544QVs2bIFZ8+exebNm/Hqq6/igQceACCddTdr1iz861//wtdff42jR49i4sSJiIiIwOjRowEAXbt2xfDhwzFlyhTs378f6enpmD59OsaOHYuICKngd/z48dBoNEhMTMTx48fxySef4I033sCcOXOc+nnIS1ge4DtoB+CjVRaGm4/dNVC6K4/BiYiocRMOOnr0qIiIiBCtWrUS9957r7j33ntFq1atxE033SSOHTvm6NvVyWAwiJkzZ4qoqCjh6+srOnbsKBYuXCjKy8uNY2pqasSiRYtEWFiY0Gq1YsiQISInJ0fxPr///rsYN26cCAwMFDqdTkyePFlcuXJFMeaHH34QsbGxQqvViptuukksX77cobnq9XoBQOj1+vp/YHK/0nwhvuooxIeQ/lmSJ13bHCVd+xDSvxcfF+LCPuXY0nzTe5QXu/dzEBGRXRz5+12vPk1lZWX48MMPjT2MunbtioSEBPj5+Tk50nkP9mlqJGrr5VSab7qjTqUBgjoBV05JbQosO46zlxMRkddw5O+3Rze39CYMTY1Ihd66MBxQBieZSi3dadc62npbL24vWxMQEXk4lza3XLZsGd5//32r6++//z5eeuklR9+OyPPYKgwHTHfUmRNVUmNMHvJLRNToORya/v3vf6NLly5W17t37461a9c6ZVJEHsnWHXU85JeIqMlwODQVFBQoeiLJ2rRpg99++80pkyLyOJZbb0PTpX+an1UHAHettB2Y2JaAiMjrORyaIiMjkZ6ebnU9PT3deAs/UaNi66iVNn2BvhullSZzaX+VDv81x7YERESNgsMdwadMmYJZs2ahsrIS9957LwAgOTkZzz77rNOPUSHyCPJRK4DyLjn5kF+VGgjoCJSekR4nxdouDgekAnPeUUdE5JUcDk1z587F77//jieffBIVFRUAAF9fX8ybNw8LFixw+gSJ3M7yqBXLlae+HwG6zoDhRykwycEpdhNw+GkWhxMRNRL1bjlQUlKCkydPws/PD7feemuTP4eNLQeakNp6OQHS1pwcnGQsDici8ljs0+QGDE1NTG29nAAg/0vguwdMj4emSzVQRETkcVzap4mIUHsvp9J8aUvOXOYE2wf9EhGRV2FoInKW2toSlJyRrjM4ERF5NYYmImeorS3BkBRlcCo7585ZEhHRDbArNPXq1QuXL18GADz//PMoKytz6aSIvI7clsCy6Dsg0hSctKHSOCIi8kp2FYL7+fnh1KlTaNeuHZo1a4bffvsNoaGhDTE/r8FCcKqzOLzsnBSY2KOJiMijOPL3264+TT179sTkyZMRGxsLIQReeeUVBAYG2hy7ePFix2dM1BhogmsPRezPRETk9exaacrJycGSJUvw888/49ChQ+jWrRvUauu8pVKpcOjQIZdM1NNxpYmIiMj7uLRPk4+PDwoKCrg9Z4GhiYiIyPs4fXvOXE1NTb0nRtTksM6JiKjRcDg0AcDPP/+M119/HSdPngQAdOvWDTNnzkSnTp2cOjkir1bXcStyTydtqHSuHYMTEZHHc7hP044dO9CtWzfs378fd9xxB+644w7s27cP3bt3R1JSkivmSOSdqq5Igcm8uWWFHri439TTqbxIGgdIK08VenfOmIiI6uBwTdNdd92F+Ph4LF++XHF9/vz52LlzJwvBWdNE5sy7hAfcDKgDAEOOdKCveU8nrjwREbmFS8+eO3nyJBITE62uP/roozhx4oSjb0fUuJk3tyw9C+iPS4FJpQb6blQGJsuVJyIi8igOh6Y2bdogOzvb6np2djbvqCOyJSASiPlAeU1UARnjgQsZ1sevsKcTEZFHcrgQfMqUKZg6dSrOnDmDvn37AgDS09Px0ksvYc6cOU6fIJHXK80HMicor6nUUlBK6ic9tjx+hYiIPI7DoWnRokUICgrCypUrsWDBAgBAREQEli5dihkzZjh9gkRezXzrLbCjtOKUOUF6bO6ulbYDE9sSEBF5DIcLwc1duSLVXgQF8RBSFoKTlbJzwK6Byq23gEjg4j4gKVbaopOp1MDQNKB1tOkai8OJiFzOpYXg5oKCghiYiGqjDpICj+VdchnjTcXggbdJ/xRVUpC6uE96LYvDiYg8Tr2aWxKRHTTB0gqR3BG87Jxyq67vR4CuM2D40bTylBQLxG4CDj/N4nAiIg/D0ETkSppg07aavPIEKIu+W0dLW3NycPruAek6i8OJiDzKDW3PEZED5JWnuL3WQah1tLTCZC7mA+tx7BpOROQ2DoWmyspKDBkyBKdOnXLVfIgaN02w7a220nxpS85c+jjpuvmYXQOl8+wYnIiIGpxDoal58+Y4cuSIq+ZC1DSZF337RwF+EdL1sjxpy640n4XhREQewOHtub/97W947733XDEXoqbHsjh8aBow7HspPAFScNrZB9jZt/bCcG7ZERE1CIcLwauqqvD+++9j165duPvuuxEQEKB4/tVXX3Xa5IgavdqKw+XC8LI84Op56Zr5eXUy9nIiImowDoemY8eOoVevXgCAn376SfGcSqVyzqyImgrLtgSygEig30emY1YA03l1Q1KsD/oFpPdgaCIichmHt+f27NlT68/u3budPsFff/0Vf/vb39CqVSv4+fmhR48eOHjwoPF5IQQWL16Mtm3bws/PD3FxcVaF6pcuXUJCQgJ0Oh1CQkKQmJiIkpISxZgjR46gf//+8PX1RWRkJFasWOH0z0Jkk63i8LrOq0sexIN+iYjcoN4tB06fPo0dO3bg6tWrAKTw4myXL19Gv3790Lx5c2zbtg0nTpzAypUr0aJFC+OYFStWYNWqVVi7di327duHgIAAxMfH49q1a8YxCQkJOH78OJKSkvDtt98iNTUVU6dONT5vMBgwbNgwtG/fHllZWXj55ZexdOlSrFu3zumfiei6LM+rG5ou/VPuIi4f9Gt5PAsREbmWcNDFixfFvffeK1QqlfDx8RE///yzEEKIyZMnizlz5jj6dnWaN2+eiI2NrfX5mpoaER4eLl5++WXjteLiYqHVasVHH30khBDixIkTAoA4cOCAccy2bduESqUSv/76qxBCiLffflu0aNFClJeXK353586da/3d165dE3q93viTn58vAAi9Xl/vz0skSvOF+KqjEB9C+mdJnnS9JM903fynKN32e5QXN+y8iYi8lF6vt/vvt8MrTbNnz0bz5s2Rl5cHf39/4/WHH34Y27dvd16aA/D111+jd+/e+Otf/4rQ0FDcddddeOedd4zP5+bmoqCgAHFxccZrwcHBiI6ORmZmJgAgMzMTISEh6N27t3FMXFwcfHx8sG/fPuOYAQMGQKPRGMfEx8cjJycHly9ftjm3ZcuWITg42PgTGcn/T5+cwNZ5dYD0z74bpZUmc+zlRETUYBwOTTt37sRLL72Edu2U9RO33norfvnlF6dNDADOnDmDNWvW4NZbb8WOHTvw97//HTNmzMCGDRsAAAUFBQCAsLAwxevCwsKMzxUUFCA0NFTxvFqtRsuWLRVjbL2H+e+wtGDBAuj1euNPfn6+zXFEDqmta7j5Qb9+7djLiYjIDRy+e660tFSxwiS7dOkStFqtUyYlq6mpQe/evfHiiy8C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Ab6+vgCA4uJiPPbYY2jTpg10Oh3uvfde/PDDD8bX/fDDDxg8eDCCgoKg0+lw9913W4W0HTt2oGvXrggMDMTw4cMVQa+mpgbPP/882rVrB61Wi549e2L79u11fuatW7fitttug5+fHwYPHoyzZ8/eyFdIRE7C0EREjcbChQuxcuVKHDx4EGq1Go8++qji+dOnT+Pzzz/HF198Yawh+utf/4qioiJs27YNWVlZ6NWrF4YMGYJLly4BABISEtCuXTscOHAAWVlZmD9/Ppo3b258z7KyMrzyyiv44IMPkJqairy8PDzzzDPG59944w2sXLkSr7zyCo4cOYL4+Hjcf//9OHXqlM3PkJ+fjzFjxmDUqFHIzs7GY489hvnz5zv5myKiehFERF7iP//5jwgODra6vmfPHgFA7Nq1y3hty5YtAoC4evWqEEKIJUuWiObNm4uioiLjmO+++07odDpx7do1xft16tRJ/Pvf/xZCCBEUFCTWr19f63wAiNOnTxuvrV69WoSFhRkfR0REiBdeeEHxuj/96U/iySefFEIIkZubKwCIw4cPCyGEWLBggejWrZti/Lx58wQAcfnyZZvzIKKGwZUmImo07rjjDuO/t23bFgBQVFRkvNa+fXu0adPG+PiHH35ASUkJWrVqhcDAQONPbm4ufv75ZwDAnDlz8NhjjyEuLg7Lly83Xpf5+/ujU6dOit8r/06DwYDz58+jX79+itf069cPJ0+etPkZTp48iejoaMW1mJgYu78DInIdFoITUaNhvm2mUqkASDVFsoCAAMX4kpIStG3bFikpKVbvJbcSWLp0KcaPH48tW7Zg27ZtWLJkCT7++GM88MADVr9T/r1CCGd8HCLyMFxpIqImq1evXigoKIBarcYtt9yi+GndurVx3G233YbZs2dj586dGDNmDP7zn//Y9f46nQ4RERFIT09XXE9PT0e3bt1svqZr167Yv3+/4tr333/v4CcjIldgaCKiJisuLg4xMTEYPXo0du7cibNnzyIjIwMLFy7EwYMHcfXqVUyfPh0pKSn45ZdfkJ6ejgMHDqBr1652/465c+fipZdewieffIKcnBzMnz8f2dnZmDlzps3xTzzxBE6dOoW5c+ciJycHGzduxPr16530iYnoRnB7joiaLJVKha1bt2LhwoWYPHkyLly4gPDwcAwYMABhYWFo1qwZfv/9d0ycOBGFhYVo3bo1xowZg+eee87u3zFjxgzo9Xo8/fTTKCoqQrdu3fD111/j1ltvtTk+KioKn3/+OWbPno0333wT99xzD1588UWrOwGJqOGpBDffiYiIiK6L23NEREREdmBoIiIiIrIDQxMRERGRHRiaiIiIiOzA0ERERERkB4YmIiIiIjswNBERERHZgaGJiIiIyA4MTURERER2YGgiIiIisgNDExEREZEd/j/IddSWuvEWsAAAAABJRU5ErkJggg==", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAAGwCAYAAAC0HlECAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/SrBM8AAAACXBIWXMAAA9hAAAPYQGoP6dpAABbk0lEQVR4nO3deXiTVd4+8DslJF3TsrWl0iKgsokiMpZC2aRQBsRBfEeBDiBW0BFkUwR+DIvOKIjigiIMLgPjiAsqbqylUGoXWQqV1QpSbBHbgtCEttD1/P54fJI8SVqSkjRJe3+uq5fmyUl6kpl3er/nfJ/vUQkhBIiIiIioTj7ungARERGRN2BoIiIiIrIDQxMRERGRHRiaiIiIiOzA0ERERERkB4YmIiIiIjswNBERERHZQe3uCTQWNTU1OH/+PIKCgqBSqdw9HSIiIrKDEAJXrlxBREQEfHzqXktiaHKS8+fPIzIy0t3TICIionrIz89Hu3bt6hzD0OQkQUFBAKQvXafTuXk2REREZA+DwYDIyEjj3/G6MDQ5ibwlp9PpGJqIiIi8jD2lNSwEJyIiIrIDQxMRERGRHRiaiIiIiOzA0ERERERkB4YmIiIiIjswNBERERHZgaGJiIiIyA4MTURERER2YGgiIiIisgNDk6eq0ANl52w/V3ZOep6IiIgaDEOTJ6rQA3uGA7sGAqX5yudK86Xre4YzOBERETUghiZPVHUFKC8CSs4AyYNMwak0X3pcckZ6vuqKO2dJRETUpDA0eSL/dsCQFCCwoyk4XcgwBabAjtLz/u3cOUsiIqImhaHJUwVEKoNTUj9lYAqIdO/8iIiImhiGJk8WEAnEfKC8FvMBAxMREZEbMDR5stJ8IHOC8lrmBOvicCIiInI5hiZPZV70HdgRGJqurHFicCIiImpQDE2eqOycddF3m77WxeG19XEiIiIip2No8kTqIEAbal30bV4crg2VxhEREVGDULt7AmSDJhgYvF3qw2TZViAgEojbKwUmTbB75kdERNQEMTR5Kk1w7aGI/ZmIiIgaHLfniIiIiOzA0ERERERkB4YmIiIiIjswNBERERHZgaGJiIiIyA4MTURERER2YGgiIiIisgNDExEREZEd3BqaUlNTMWrUKEREREClUuHLL7+sdewTTzwBlUqF119/XXH90qVLSEhIgE6nQ0hICBITE1FSUqIYc+TIEfTv3x++vr6IjIzEihUrrN5/06ZN6NKlC3x9fdGjRw9s3brVGR+RiIiIGgm3hqbS0lLceeedWL16dZ3jNm/ejO+//x4RERFWzyUkJOD48eNISkrCt99+i9TUVEydOtX4vMFgwLBhw9C+fXtkZWXh5ZdfxtKlS7Fu3TrjmIyMDIwbNw6JiYk4fPgwRo8ejdGjR+PYsWPO+7BERETk3YSHACA2b95sdf3cuXPipptuEseOHRPt27cXr732mvG5EydOCADiwIEDxmvbtm0TKpVK/Prrr0IIId5++23RokULUV5ebhwzb9480blzZ+Pjhx56SIwcOVLxe6Ojo8Xjjz9u9/z1er0AIPR6vd2vISIiIvdy5O+3R9c01dTUYMKECZg7dy66d+9u9XxmZiZCQkLQu3dv47W4uDj4+Phg3759xjEDBgyARqMxjomPj0dOTg4uX75sHBMXF6d47/j4eGRmZtY6t/LychgMBsUPERERNV4eHZpeeuklqNVqzJgxw+bzBQUFCA0NVVxTq9Vo2bIlCgoKjGPCwsIUY+TH1xsjP2/LsmXLEBwcbPyJjIx07MMRERGRV/HY0JSVlYU33ngD69evh0qlcvd0rCxYsAB6vd74k5+f7+4pERERkQt5bGj67rvvUFRUhKioKKjVaqjVavzyyy94+umncfPNNwMAwsPDUVRUpHhdVVUVLl26hPDwcOOYwsJCxRj58fXGyM/botVqodPpFD9ERETUeHlsaJowYQKOHDmC7Oxs409ERATmzp2LHTt2AABiYmJQXFyMrKws4+t2796NmpoaREdHG8ekpqaisrLSOCYpKQmdO3dGixYtjGOSk5MVvz8pKQkxMTGu/phERETkJdTu/OUlJSU4ffq08XFubi6ys7PRsmVLREVFoVWrVorxzZs3R3h4ODp37gwA6Nq1K4YPH44pU6Zg7dq1qKysxPTp0zF27Fhje4Lx48fjueeeQ2JiIubNm4djx47hjTfewGuvvWZ835kzZ2LgwIFYuXIlRo4ciY8//hgHDx5UtCUgIiKiJq4B7uar1Z49ewQAq59JkybZHG/ZckAIIX7//Xcxbtw4ERgYKHQ6nZg8ebK4cuWKYswPP/wgYmNjhVarFTfddJNYvny51Xt/+umn4rbbbhMajUZ0795dbNmyxaHPwpYDRERE3seRv98qIYRwY2ZrNAwGA4KDg6HX61nfRERE5CUc+fvtsTVNRERERJ6EoYmIiIjIDgxNRERERHZgaCIiIiKyA0MTERERkR0YmoiIiIjswNBEREREZAeGJiIiIiI7MDQRERER2YGhiYiIiMgODE1EREREdmBoIiIiIrIDQxMRERGRHRiaiIiIiOzA0ERERERkB4YmIiIiIjswNBERERHZgaGJiIiIyA4MTd6iQg+UnbP9XNk56XkiIiJyGYYmb1ChB/YMB3YNBErzlc+V5kvX9wxncCIiInIhhiZvUHUFKC8CSs4AyYNMwak0X3pcckZ6vuqKO2dJRETUqDE0eQP/dsCQFCCwoyk4XcgwBabAjtLz/u3cOUsiIqJGjaHJWwREKoNTUj9lYAqIdO/8iIiIGjmGJm8SEAnEfKC8dtdK24GJxeFEREROxdDkTUrzgcwJymtpfwUu7rMex+JwIiIip2Jo8hbmRd+BHYH+mwGVGhBVQFKsKTixOJyIiMglGJq8Qdk566LvyNHA0DRlcMr/ksXhRERELsLQ5A3UQYA21Lrou3W0Mjh99wCLw4mIiFyEockbaIKBwduBuL3WQah1NBC7SXkt5gMGJiIiIidjaPIWmmDbW22l+cDhp5XXMidYdw4nIiKiG8LQ5M0si8MH7QD8o6w7hwNsQUBERHSDGJq8lWVx+ICvgaNLpOfMg5P+BHBxv+0WBAxSREREdlO7ewJUT3JxOCAVfatUUouBsjwpNPlHAc1bAunjAf1xqVAckFoQaIJNq1TaUKleShPspg9CRETkHbjS5K0si8PNz6cry5PGdJ5lCkwqNdB3ozSOvZyIiIgcxtDkzSyLw83PpyvLA77/mykwiSogYzwP+iUiIqont4am1NRUjBo1ChEREVCpVPjyyy+Nz1VWVmLevHno0aMHAgICEBERgYkTJ+L8+fOK97h06RISEhKg0+kQEhKCxMRElJSUKMYcOXIE/fv3h6+vLyIjI7FixQqruWzatAldunSBr68vevToga1bt7rkM7ucrfPpYj/lQb9EREQ3yK2hqbS0FHfeeSdWr15t9VxZWRkOHTqERYsW4dChQ/jiiy+Qk5OD+++/XzEuISEBx48fR1JSEr799lukpqZi6tSpxucNBgOGDRuG9u3bIysrCy+//DKWLl2KdevWGcdkZGRg3LhxSExMxOHDhzF69GiMHj0ax44dc92HdxVb59Mdfga46xXlNfZyIiIicohKCCHcPQkAUKlU2Lx5M0aPHl3rmAMHDuCee+7BL7/8gqioKJw8eRLdunXDgQMH0Lt3bwDA9u3bMWLECJw7dw4RERFYs2YNFi5ciIKCAmg0GgDA/Pnz8eWXX+LHH38EADz88MMoLS3Ft99+a/xdffr0Qc+ePbF27Vq75m8wGBAcHAy9Xg+dTlfPb+EGWbYgiPlAClAlZ0xbdDKuNBERETn099urapr0ej1UKhVCQkIAAJmZmQgJCTEGJgCIi4uDj48P9u3bZxwzYMAAY2ACgPj4eOTk5ODy5cvGMXFxcYrfFR8fj8zMzFrnUl5eDoPBoPhxK1vn07XpKxV/y4FJpZYO+pW36ix7OREREVGtvCY0Xbt2DfPmzcO4ceOMSbCgoAChoaGKcWq1Gi1btkRBQYFxTFhYmGKM/Ph6Y+TnbVm2bBmCg4ONP5GRbl6xsXU+Xdk5qfhbDkzBPYCWvYC+HymDU9k56T3Yt4mIiKhWXhGaKisr8dBDD0EIgTVr1rh7OgCABQsWQK/XG3/y8928YmPrfDrzIDU0HRj4JZD2MJAxTlqBCuwoPa8OklacbDXAJCIiIgBe0NxSDky//PILdu/erdhvDA8PR1FRkWJ8VVUVLl26hPDwcOOYwsJCxRj58fXGyM/botVqodVq6//BXEETrGxSKQepqitSW4Gyc1JfppIz0gpU348AXWeg0mDa2gNMDTCJiIjIyKNXmuTAdOrUKezatQutWrVSPB8TE4Pi4mJkZWUZr+3evRs1NTWIjo42jklNTUVlZaVxTFJSEjp37owWLVoYxyQnJyveOykpCTExMa76aA3HvJeTeQPMkjPSipP+OPs2ERER2cGtoamkpATZ2dnIzs4GAOTm5iI7Oxt5eXmorKzE//3f/+HgwYP48MMPUV1djYKCAhQUFKCiogIA0LVrVwwfPhxTpkzB/v37kZ6ejunTp2Ps2LGIiIgAAIwfPx4ajQaJiYk4fvw4PvnkE7zxxhuYM2eOcR4zZ87E9u3bsXLlSvz4449YunQpDh48iOnTpzf4d+Jy5g0w2beJiIjIfsKN9uzZIwBY/UyaNEnk5ubafA6A2LNnj/E9fv/9dzFu3DgRGBgodDqdmDx5srhy5Yri9/zwww8iNjZWaLVacdNNN4nly5dbzeXTTz8Vt912m9BoNKJ79+5iy5YtDn0WvV4vAAi9Xl+v76LBFaUL8SFMP0Xp7p4RERFRg3Pk77fH9Gnydh7Rp8le5v2cZFxpIiKiJqjR9mkiJ7BsgDk0HQi4ufa+TWxDQEREBIChqWmx1QAzuDugaSn1cbLs28Q2BEREREYe33KAnEju2wQoG2BWFpsaYKqDTX2b2IaAiIjIiCtNTYmtBpjmbQhEFVB5mW0IiIiIbGBoamrM+zbJzNsQlJ5lGwIiIiIbGJpIEhAJxHygvBbzAQMTERHRHxiaSFKaD2ROUF5LH2d9Nx3AO+qIiKhJYmgi6zYEg3YAPlqgLA9IilUGJ95RR0RETRRDU1Nnqw1BSDfAN+yP5/8ITmXnlOGqvEi6o46IiKiJYGhq6uQ2BOZF3/7tgKFpgH+UNOZaIVB8gnfUERFRk8ZjVJzEq45RsVShl1aNLENQaf4fq0x5pmu8o46IiBoRHqNCjrHVhgCQglG/j5TXbN1Rx8JwIiJqAhiaqHb23FHHwnAiImoiGJrINvOib/8owC9Cum5+Rx0Lw4mIqAnh2XNkzdYddYCpvqksD9jZRzqrriyPheFERNQkcKWJrNm6oy4gUnlH3dXzysDEwnAiImrkGJrImq2DfQH7C8OJiIgaIYYmss3WHXW2CsMzJ9g+aoWIiKiRYWgi+1getTI0XfpnyRnpOoMTERE1cg6Hpu3btyMtLc34ePXq1ejZsyfGjx+Py5cvO3Vy5CFsFYa36QsM+FqqcZKDU9k55WvYgoCIiBoRh0PT3LlzYTAYAABHjx7F008/jREjRiA3Nxdz5sxx+gTJA9gqDK/QA/sek573j5KeVwdJj9m7iYiIGiGHWw7k5uaiW7duAIDPP/8c9913H1588UUcOnQII0aMcPoEyQPIheHmR61UXZF6M5XlSaEp+l1pnPk2njxOE+y2qRMRETmLwytNGo0GZWVlAIBdu3Zh2LBhAICWLVsaV6CoEbIsDPdvJ606BXaUglPq/cCFDB7qS0REjZbDK02xsbGYM2cO+vXrh/379+OTTz4BAPz0009o145/IJuUgEgpGMlBKamfdJ29m4iIqBFyeKXprbfeglqtxmeffYY1a9bgpptuAgBs27YNw4cPd/oEycMFREq9msyxdxMRETVCKiGEcPckGgODwYDg4GDo9XrodDp3T6fhWNYwAVxpIiIir+HI32+7tuccqVVqUoGhqbPs3RTzgdTsUm5BMCSFwYmIiBoNu0JTSEgIVCqVXW9YXV19QxMiL2Grd5NljVPyIOkoFhaDExFRI2BXaNqzZ4/x38+ePYv58+fjkUceQUxMDAAgMzMTGzZswLJly1wzS/I8cu8mQNm7SaUyBSfz3k1l56R/Z/sBIiLyUg7XNA0ZMgSPPfYYxo0bp7i+ceNGrFu3DikpKc6cn9dokjVNFXpT76YKvdTMsrxICk0qlSkkydt42lCp3xODExEReQhH/n47fPdcZmYmevfubXW9d+/e2L9/v6NvR97MvHeT3OxS3pYTwrrZZXmRNI6IiMgLORyaIiMj8c4771hdf/fddxEZyaLfJsu82aUcnNjskoiIGhGHm1u+9tprePDBB7Ft2zZER0cDAPbv349Tp07h888/d/oEyYuw2SURETViDq80jRgxAqdOncKoUaNw6dIlXLp0CaNGjcJPP/3Es+eIzS6JiKjRYnNLJ2mSheC2sNklERF5EZcWggNAcXExdu7cif/973/473//q/hxRGpqKkaNGoWIiAioVCp8+eWXiueFEFi8eDHatm0LPz8/xMXF4dSpU4oxly5dQkJCAnQ6HUJCQpCYmIiSkhLFmCNHjqB///7w9fVFZGQkVqxYYTWXTZs2oUuXLvD19UWPHj2wdetWhz4LwbrZ5dB0ZY1Tab67Z0hERFRvDtc0ffPNN0hISEBJSQl0Op2i6aVKpcLEiRPtfq/S0lLceeedePTRRzFmzBir51esWIFVq1Zhw4YN6NChAxYtWoT4+HicOHECvr6+AICEhAT89ttvSEpKQmVlJSZPnoypU6di48aNAKQEOWzYMMTFxWHt2rU4evQoHn30UYSEhGDq1KkAgIyMDIwbNw7Lli3Dfffdh40bN2L06NE4dOgQbr/9dke/oqaptmaXA74GUkbYbnbJ3k1ERORNhINuvfVWMXPmTFFaWuroS+sEQGzevNn4uKamRoSHh4uXX37ZeK24uFhotVrx0UcfCSGEOHHihAAgDhw4YByzbds2oVKpxK+//iqEEOLtt98WLVq0EOXl5cYx8+bNE507dzY+fuihh8TIkSMV84mOjhaPP/54rfO9du2a0Ov1xp/8/HwBQOj1+vp9Ad6uvFiI7X2E+KqjECV5ymubo6Sf7X2ka0JIY77qqLxGRETUwPR6vd1/vx3envv1118xY8YM+Pv7Ozu/KeTm5qKgoABxcXHGa8HBwYiOjkZmZiYAqWdUSEiIom9UXFwcfHx8sG/fPuOYAQMGQKPRGMfEx8cjJycHly9fNo4x/z3yGPn32LJs2TIEBwcbf5p8uwVNsNS4Mm6vqXZJ7t1Ulic9jn6XvZuIiMhrORya4uPjcfDgQVfMRaGgoAAAEBYWprgeFhZmfK6goAChoaGK59VqNVq2bKkYY+s9zH9HbWPk521ZsGAB9Hq98Sc/n/U6imaXgLJ3U1kekHo/ezcREZHXcrimaeTIkZg7dy5OnDiBHj16oHnz5orn77//fqdNzpNptVpotVp3T8PzOdK7iTVORETkwRwOTVOmTAEAPP/881bPqVQqVFdX3/isAISHhwMACgsL0bZtW+P1wsJC9OzZ0zimqKhI8bqqqipcunTJ+Prw8HAUFhYqxsiPrzdGfp5ukNy7SQ5MAHDXK8rAxPPpiIjIwzm8PVdTU1Prj7MCEwB06NAB4eHhSE5ONl4zGAzYt28fYmJiAAAxMTEoLi5GVlaWcczu3btRU1Nj7FYeExOD1NRUVFZWGsckJSWhc+fOaNGihXGM+e+Rx8i/h25QaT6QOUF5Le0h4OI+0/OscSIiIg9Xrz5NzlJSUoLs7GxkZ2cDkIq/s7OzkZeXB5VKhVmzZuFf//oXvv76axw9ehQTJ05EREQERo8eDQDo2rUrhg8fjilTpmD//v1IT0/H9OnTMXbsWERERAAAxo8fD41Gg8TERBw/fhyffPIJ3njjDcyZM8c4j5kzZ2L79u1YuXIlfvzxRyxduhQHDx7E9OnTG/oraXwsezf1/wJQqQFRBSTFAvmbWeNEREReweGO4La25cwtXrzY7vdKSUnB4MGDra5PmjQJ69evhxACS5Yswbp161BcXIzY2Fi8/fbbuO2224xjL126hOnTp+Obb76Bj48PHnzwQaxatQqBgYHGMUeOHMG0adNw4MABtG7dGk899RTmzZun+J2bNm3CP/7xD5w9exa33norVqxY4dCxMOwIbkPZOWDXQOveTRf3SYFJVJnGsms4ERG5gSN/vx0OTXfddZficWVlJXJzc6FWq9GpUyccOnTI8Rk3AgxNNlTogT3DpS23ISnKQJS/GfjOrKFp/81A5Gjr92BxOBERuZAjf78dLgQ/fPiwzV/4yCOP4IEHHnD07agxk3s3VV1RbrmV5gOHn1GOTfsrMDQNaB2tHMficCIi8hBOqWnS6XR47rnnsGjRIme8HTUmlr2brGqcNitrnFgcTkREHsppheByk0eiWtk6ny5ytLTCpCgO/5LF4URE5HEc3p5btWqV4rEQAr/99hs++OAD/PnPf3baxKgRUgdJW22AssapdbQUnOTi8O/+2OZlcTgREXkQhwvBO3TooHjs4+ODNm3a4N5778WCBQsQFBTk1Al6CxaC26lCb13jJMv/0hSYAGBoOtCmr3IMC8OJiMiJXFoInpubW++JEUETbDvwlOYDh59WXksfJ61AyStNLAwnIiI3uqGapnPnzuHcuXPOmgs1VeZF3/5RgJ/UmBRledKWXWk+C8OJiMjt6nWMyvPPP4/g4GC0b98e7du3R0hICP75z3+ipqbGFXOkxsyyOHxoGjDseyk8AVJw2tlHCk8sDCciIjdyeHtu4cKFeO+997B8+XL06ycdwJqWloalS5fi2rVreOGFF5w+SWrEaisOlwvDy/KAq+elaywMJyIiN3K4EDwiIgJr167F/fffr7j+1Vdf4cknn8Svv/7q1Al6CxaC34DaisMvZABJ/UyP2TWciIiczJG/3w5vz126dAldunSxut6lSxdcunTJ0bcjsm6ACUg1TJkTlNfS/mpqfmk+btdA6biWCvYJIyIi13E4NN1555146623rK6/9dZbuPPOO50yKWri2DWciIg8kMM1TStWrMDIkSOxa9cuxMTEAAAyMzORn5+PrVu3On2C1MTY6hoeEKlsfpkUC8RukloUsDiciIgaiMMrTQMHDsRPP/2EBx54AMXFxSguLsaYMWOQk5OD/v37u2KO1JTIheGWRd9y13B5xem7B6yDFRERkQs5XAhOtrEQ3Ikc6RrO4nAiIroBLu0IDgCXL1/Ge++9h5MnTwIAunXrhsmTJ6Nly5b1eTsiJUe6hqf9VVqBah2tHMfO4URE5GQOb8+lpqbi5ptvxqpVq3D58mVcvnwZq1atQocOHZCamuqKORKxOJyIiNzO4e25Hj16ICYmBmvWrEGzZs0AANXV1XjyySeRkZGBo0ePumSino7bcy5Udk5qK2BZw3Rxn6k4XKW2XRzOWiciIqqDI3+/HQ5Nfn5+yM7ORufOnRXXc3Jy0LNnT1y9etXxGTcCDE0uVKGX+jCVF1kHIfPgJGNgIiIiO7m0uWWvXr2MtUzmTp48yT5N5BqaYKk2KW6vdRBqHS2tMJmL+YCBiYiInM7hQvAZM2Zg5syZOH36NPr06QMA+P7777F69WosX74cR44cMY694447nDdTatocKQ7PnMCVJiIicjqHt+d8fOpenFKpVBBCQKVSobq6+oYm5024PecGlsXhMR9IgYk1TUREZCeXthzIzc2t98SInMZW5/DmOqDvR0DGOOl68iBpS8+/Hfs2ERHRDXM4NLVv394V8yByjNw5HDAFJrlYvO9GIGO89Lw6iH2biIjIKerV3PL8+fNIS0tDUVERampqFM/NmDHDKRMjqpNcHC53Di87JwWmkjNSYOr7EaDrDFQaTCtSgDSeoYmIiOrB4Zqm9evX4/HHH4dGo0GrVq2gUqlMb6ZS4cyZM06fpDdgTZMHsFXjlJEAlJ61XePELTsioibPpX2aIiMj8cQTT2DBggXXLQpvShiaPIR5cJKp1DxqhYiIbHJpn6aysjKMHTuWgYk8U0CktMJkTlRJW3al+VKjzIv7bR+1UnZOep6IiMgGh5NPYmIiNm3adP2BRO5Qmi+1HTCnUksBadcAIKmf9GN+151/O+l1uwZKxeQMTkREZIPD23PV1dW47777cPXqVfTo0QPNmzdXPP/qq686dYLegttzHqCuvk3y4b4y8y07y9fJbQqIiKjRc2mfpmXLlmHHjh3Gs+csC8GJ3MJW36aASOmfljVOgGnLzlaxuHlgYrE4ERH9weGVphYtWuC1117DI4884qIpeSeuNLmZo4f61rXyJGOxOBFRo+fSQnCtVot+/frVe3JELlHbob6l+dKKkqgCAm4GhqZLK0rmgQlQFovLr7NVLE5ERE2Ww6Fp5syZePPNN10xF6Ibowm23lpT1CqlAm36Sh3DVRY703KxePIg4EKG9VYfa5yIiJo8h0PT/v37sWHDBnTs2BGjRo3CmDFjFD/OVF1djUWLFqFDhw7w8/NDp06d8M9//hPmO4pCCCxevBht27aFn58f4uLicOrUKcX7XLp0CQkJCdDpdAgJCUFiYiJKSkoUY44cOYL+/fvD19cXkZGRWLFihVM/C7mBfNSKeY2T+cqTSg3ouksrUPLjkjPWd9fx0F8iIkI9CsFDQkKcHo5q89JLL2HNmjXYsGEDunfvjoMHD2Ly5MkIDg42HteyYsUKrFq1Chs2bECHDh2waNEixMfH48SJE/D19QUAJCQk4LfffkNSUhIqKysxefJkTJ06FRs3bgQg7WcOGzYMcXFxWLt2LY4ePYpHH30UISEhmDp1aoN8VnIBW0etmK8g1XbUiizmA+vAxMJwIqImy+FC8IZ03333ISwsDO+9957x2oMPPgg/Pz/873//gxACERERePrpp/HMM88AAPR6PcLCwrB+/XqMHTsWJ0+eRLdu3XDgwAH07t0bALB9+3aMGDEC586dQ0REBNasWYOFCxeioKAAGo0GADB//nx8+eWX+PHHH+2aKwvBvYCjxeL+UVJxuDyOheFERI2OSwvBZRcuXEBaWhrS0tJw4cKF+r5Nnfr27Yvk5GT89NNPAIAffvgBaWlp+POf/wwAyM3NRUFBAeLi4oyvCQ4ORnR0NDIzMwEAmZmZCAkJMQYmAIiLi4OPjw/27dtnHDNgwABjYAKA+Ph45OTk4PLlyzbnVl5eDoPBoPghD2dPsbhfO8AvQrpelicFqdJ8FoYTEZHj23OlpaV46qmn8N///hc1NTUAgGbNmmHixIl488034e/v77TJzZ8/HwaDAV26dEGzZs1QXV2NF154AQkJCQCAgoICAEBYWJjidWFhYcbnCgoKEBoaqnherVajZcuWijEdOnSweg/5uRYtWljNbdmyZXjuueec8CmpQWmClStEtvo7AVJYKsuTfnb2keqdyvJYGE5E1IQ5vNI0Z84c7N27F9988w2Ki4tRXFyMr776Cnv37sXTTz/t1Ml9+umn+PDDD7Fx40YcOnQIGzZswCuvvIINGzY49ffUx4IFC6DX640/+fn57p4S1YetYvGASGlbzj9KGnP1vDIwsTCciKhJcnil6fPPP8dnn32GQYMGGa+NGDECfn5+eOihh7BmzRqnTW7u3LmYP38+xo4dCwDo0aMHfvnlFyxbtgyTJk1CeHg4AKCwsBBt27Y1vq6wsBA9e/YEAISHh6OoqEjxvlVVVbh06ZLx9eHh4SgsLFSMkR/LYyxptVpotdob/5DkXpbF4rKASKDfR9KddDJbheFERNRkOLzSVFZWZrUdBgChoaEoKytzyqTMf5ePj3KKzZo1M24LdujQAeHh4UhOTjY+bzAYsG/fPsTExAAAYmJiUFxcjKysLOOY3bt3o6amBtHR0cYxqampqKysNI5JSkpC586dbW7NUSNj2d8JsH3wb/o4U/NLc2XneMgvEVET4HBoiomJwZIlS3Dt2jXjtatXr+K5554zBhVnGTVqFF544QVs2bIFZ8+exebNm/Hqq6/igQceACCddTdr1iz861//wtdff42jR49i4sSJiIiIwOjRowEAXbt2xfDhwzFlyhTs378f6enpmD59OsaOHYuICKngd/z48dBoNEhMTMTx48fxySef4I033sCcOXOc+nnIS1ge4DtoB+CjVRaGm4/dNVC6K4/BiYiocRMOOnr0qIiIiBCtWrUS9957r7j33ntFq1atxE033SSOHTvm6NvVyWAwiJkzZ4qoqCjh6+srOnbsKBYuXCjKy8uNY2pqasSiRYtEWFiY0Gq1YsiQISInJ0fxPr///rsYN26cCAwMFDqdTkyePFlcuXJFMeaHH34QsbGxQqvViptuukksX77cobnq9XoBQOj1+vp/YHK/0nwhvuooxIeQ/lmSJ13bHCVd+xDSvxcfF+LCPuXY0nzTe5QXu/dzEBGRXRz5+12vPk1lZWX48MMPjT2MunbtioSEBPj5+Tk50nkP9mlqJGrr5VSab7qjTqUBgjoBV05JbQosO46zlxMRkddw5O+3Rze39CYMTY1Ihd66MBxQBieZSi3dadc62npbL24vWxMQEXk4lza3XLZsGd5//32r6++//z5eeuklR9+OyPPYKgwHTHfUmRNVUmNMHvJLRNToORya/v3vf6NLly5W17t37461a9c6ZVJEHsnWHXU85JeIqMlwODQVFBQoeiLJ2rRpg99++80pkyLyOJZbb0PTpX+an1UHAHettB2Y2JaAiMjrORyaIiMjkZ6ebnU9PT3deAs/UaNi66iVNn2BvhullSZzaX+VDv81x7YERESNgsMdwadMmYJZs2ahsrIS9957LwAgOTkZzz77rNOPUSHyCPJRK4DyLjn5kF+VGgjoCJSekR4nxdouDgekAnPeUUdE5JUcDk1z587F77//jieffBIVFRUAAF9fX8ybNw8LFixw+gSJ3M7yqBXLlae+HwG6zoDhRykwycEpdhNw+GkWhxMRNRL1bjlQUlKCkydPws/PD7feemuTP4eNLQeakNp6OQHS1pwcnGQsDici8ljs0+QGDE1NTG29nAAg/0vguwdMj4emSzVQRETkcVzap4mIUHsvp9J8aUvOXOYE2wf9EhGRV2FoInKW2toSlJyRrjM4ERF5NYYmImeorS3BkBRlcCo7585ZEhHRDbArNPXq1QuXL18GADz//PMoKytz6aSIvI7clsCy6Dsg0hSctKHSOCIi8kp2FYL7+fnh1KlTaNeuHZo1a4bffvsNoaGhDTE/r8FCcKqzOLzsnBSY2KOJiMijOPL3264+TT179sTkyZMRGxsLIQReeeUVBAYG2hy7ePFix2dM1BhogmsPRezPRETk9exaacrJycGSJUvw888/49ChQ+jWrRvUauu8pVKpcOjQIZdM1NNxpYmIiMj7uLRPk4+PDwoKCrg9Z4GhiYiIyPs4fXvOXE1NTb0nRtTksM6JiKjRcDg0AcDPP/+M119/HSdPngQAdOvWDTNnzkSnTp2cOjkir1bXcStyTydtqHSuHYMTEZHHc7hP044dO9CtWzfs378fd9xxB+644w7s27cP3bt3R1JSkivmSOSdqq5Igcm8uWWFHri439TTqbxIGgdIK08VenfOmIiI6uBwTdNdd92F+Ph4LF++XHF9/vz52LlzJwvBWdNE5sy7hAfcDKgDAEOOdKCveU8nrjwREbmFS8+eO3nyJBITE62uP/roozhx4oSjb0fUuJk3tyw9C+iPS4FJpQb6blQGJsuVJyIi8igOh6Y2bdogOzvb6np2djbvqCOyJSASiPlAeU1UARnjgQsZ1sevsKcTEZFHcrgQfMqUKZg6dSrOnDmDvn37AgDS09Px0ksvYc6cOU6fIJHXK80HMicor6nUUlBK6ic9tjx+hYiIPI7DoWnRokUICgrCypUrsWDBAgBAREQEli5dihkzZjh9gkRezXzrLbCjtOKUOUF6bO6ulbYDE9sSEBF5DIcLwc1duSLVXgQF8RBSFoKTlbJzwK6Byq23gEjg4j4gKVbaopOp1MDQNKB1tOkai8OJiFzOpYXg5oKCghiYiGqjDpICj+VdchnjTcXggbdJ/xRVUpC6uE96LYvDiYg8Tr2aWxKRHTTB0gqR3BG87Jxyq67vR4CuM2D40bTylBQLxG4CDj/N4nAiIg/D0ETkSppg07aavPIEKIu+W0dLW3NycPruAek6i8OJiDzKDW3PEZED5JWnuL3WQah1tLTCZC7mA+tx7BpOROQ2DoWmyspKDBkyBKdOnXLVfIgaN02w7a220nxpS85c+jjpuvmYXQOl8+wYnIiIGpxDoal58+Y4cuSIq+ZC1DSZF337RwF+EdL1sjxpy640n4XhREQewOHtub/97W947733XDEXoqbHsjh8aBow7HspPAFScNrZB9jZt/bCcG7ZERE1CIcLwauqqvD+++9j165duPvuuxEQEKB4/tVXX3Xa5IgavdqKw+XC8LI84Op56Zr5eXUy9nIiImowDoemY8eOoVevXgCAn376SfGcSqVyzqyImgrLtgSygEig30emY1YA03l1Q1KsD/oFpPdgaCIichmHt+f27NlT68/u3budPsFff/0Vf/vb39CqVSv4+fmhR48eOHjwoPF5IQQWL16Mtm3bws/PD3FxcVaF6pcuXUJCQgJ0Oh1CQkKQmJiIkpISxZgjR46gf//+8PX1RWRkJFasWOH0z0Jkk63i8LrOq0sexIN+iYjcoN4tB06fPo0dO3bg6tWrAKTw4myXL19Gv3790Lx5c2zbtg0nTpzAypUr0aJFC+OYFStWYNWqVVi7di327duHgIAAxMfH49q1a8YxCQkJOH78OJKSkvDtt98iNTUVU6dONT5vMBgwbNgwtG/fHllZWXj55ZexdOlSrFu3zumfiei6LM+rG5ou/VPuIi4f9Gt5PAsREbmWcNDFixfFvffeK1QqlfDx8RE///yzEEKIyZMnizlz5jj6dnWaN2+eiI2NrfX5mpoaER4eLl5++WXjteLiYqHVasVHH30khBDixIkTAoA4cOCAccy2bduESqUSv/76qxBCiLffflu0aNFClJeXK353586da/3d165dE3q93viTn58vAAi9Xl/vz0skSvOF+KqjEB9C+mdJnnS9JM903fynKN32e5QXN+y8iYi8lF6vt/vvt8MrTbNnz0bz5s2Rl5cHf39/4/WHH34Y27dvd16aA/D111+jd+/e+Otf/4rQ0FDcddddeOedd4zP5+bmoqCgAHFxccZrwcHBiI6ORmZmJgAgMzMTISEh6N27t3FMXFwcfHx8sG/fPuOYAQMGQKPRGMfEx8cjJycHly9ftjm3ZcuWITg42PgTGcn/T5+cwNZ5dYD0z74bpZUmc+zlRETUYBwOTTt37sRLL72Edu2U9RO33norfvnlF6dNDADOnDmDNWvW4NZbb8WOHTvw97//HTNmzMCGDRsAAAUFBQCAsLAwxevCwsKMzxUUFCA0NFTxvFqtRsuWLRVjbL2H+e+wtGDBAuj1euNPfn6+zXFEDqmta7j5Qb9+7djLiYjIDRy+e660tFSxwiS7dOkStFqtUyYlq6mpQe/evfHiiy8C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Ab6+vgCA4uJiPPbYY2jTpg10Oh3uvfde/PDDD8bX/fDDDxg8eDCCgoKg0+lw9913W4W0HTt2oGvXrggMDMTw4cMVQa+mpgbPP/882rVrB61Wi549e2L79u11fuatW7fitttug5+fHwYPHoyzZ8/eyFdIRE7C0EREjcbChQuxcuVKHDx4EGq1Go8++qji+dOnT+Pzzz/HF198Yawh+utf/4qioiJs27YNWVlZ6NWrF4YMGYJLly4BABISEtCuXTscOHAAWVlZmD9/Ppo3b258z7KyMrzyyiv44IMPkJqairy8PDzzzDPG59944w2sXLkSr7zyCo4cOYL4+Hjcf//9OHXqlM3PkJ+fjzFjxmDUqFHIzs7GY489hvnz5zv5myKiehFERF7iP//5jwgODra6vmfPHgFA7Nq1y3hty5YtAoC4evWqEEKIJUuWiObNm4uioiLjmO+++07odDpx7do1xft16tRJ/Pvf/xZCCBEUFCTWr19f63wAiNOnTxuvrV69WoSFhRkfR0REiBdeeEHxuj/96U/iySefFEIIkZubKwCIw4cPCyGEWLBggejWrZti/Lx58wQAcfnyZZvzIKKGwZUmImo07rjjDuO/t23bFgBQVFRkvNa+fXu0adPG+PiHH35ASUkJWrVqhcDAQONPbm4ufv75ZwDAnDlz8NhjjyEuLg7Lly83Xpf5+/ujU6dOit8r/06DwYDz58+jX79+itf069cPJ0+etPkZTp48iejoaMW1mJgYu78DInIdFoITUaNhvm2mUqkASDVFsoCAAMX4kpIStG3bFikpKVbvJbcSWLp0KcaPH48tW7Zg27ZtWLJkCT7++GM88MADVr9T/r1CCGd8HCLyMFxpIqImq1evXigoKIBarcYtt9yi+GndurVx3G233YbZs2dj586dGDNmDP7zn//Y9f46nQ4RERFIT09XXE9PT0e3bt1svqZr167Yv3+/4tr333/v4CcjIldgaCKiJisuLg4xMTEYPXo0du7cibNnzyIjIwMLFy7EwYMHcfXqVUyfPh0pKSn45ZdfkJ6ejgMHDqBr1652/465c+fipZdewieffIKcnBzMnz8f2dnZmDlzps3xTzzxBE6dOoW5c+ciJycHGzduxPr16530iYnoRnB7joiaLJVKha1bt2LhwoWYPHkyLly4gPDwcAwYMABhYWFo1qwZfv/9d0ycOBGFhYVo3bo1xowZg+eee87u3zFjxgzo9Xo8/fTTKCoqQrdu3fD111/j1ltvtTk+KioKn3/+OWbPno0333wT99xzD1588UWrOwGJqOGpBDffiYiIiK6L23NEREREdmBoIiIiIrIDQxMRERGRHRiaiIiIiOzA0ERERERkB4YmIiIiIjswNBERERHZgaGJiIiIyA4MTURERER2YGgiIiIisgNDExEREZEd/j/IddSWuvEWsAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -555,7 +635,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.13" + "version": "3.10.13" }, "orig_nbformat": 4, "vscode": { From a4c29d1d20afadda0f30d60a76947ff0e5bbf20f Mon Sep 17 00:00:00 2001 From: Anthony Onwuli <30937913+AntObi@users.noreply.github.com> Date: Thu, 7 Dec 2023 17:15:09 +0000 Subject: [PATCH 4/7] Add test for structure --- smact/tests/test_core.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/smact/tests/test_core.py b/smact/tests/test_core.py index b895bc53..c3e27a47 100755 --- a/smact/tests/test_core.py +++ b/smact/tests/test_core.py @@ -3,6 +3,7 @@ import os import unittest +from pymatgen.core import Structure from pymatgen.core.periodic_table import Specie import smact @@ -17,6 +18,7 @@ files_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)), "files") TEST_OX_STATES = os.path.join(files_dir, "test_oxidation_states.txt") +TEST_STRUCT = os.path.join(files_dir, "mp-540839_CsPbI3_oxi.cif") class TestSequenceFunctions(unittest.TestCase): @@ -417,7 +419,7 @@ def test_lattice_parameters(self): self.assertAlmostEqual(wurtz[0], 5.13076) self.assertAlmostEqual(wurtz[2], 8.3838) - # ---------- Lattice parameters ----------- + # ---------- smact.oxidation_states module ----------- def test_oxidation_states(self): ox = smact.oxidation_states.Oxidation_state_probability_finder() self.assertAlmostEqual( @@ -429,3 +431,8 @@ def test_oxidation_states(self): 0.74280230326, ) self.assertEqual(len(ox.get_included_species()), 173) + + def test_compound_probability_structure(self): + structure = Structure.from_file(TEST_STRUCT) + ox = smact.oxidation_states.Oxidation_state_probability_finder() + self.assertEqual(ox.compound_probability(structure), 1.0) From 407025d97168e730a2f47776bd1510b413f9d6ea Mon Sep 17 00:00:00 2001 From: Anthony Onwuli <30937913+AntObi@users.noreply.github.com> Date: Thu, 7 Dec 2023 19:25:59 +0000 Subject: [PATCH 5/7] Add json structure file in tests --- smact/tests/files/mp-540839_CsPbI3_oxi.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 smact/tests/files/mp-540839_CsPbI3_oxi.json diff --git a/smact/tests/files/mp-540839_CsPbI3_oxi.json b/smact/tests/files/mp-540839_CsPbI3_oxi.json new file mode 100644 index 00000000..815bce89 --- /dev/null +++ b/smact/tests/files/mp-540839_CsPbI3_oxi.json @@ -0,0 +1 @@ +{"@module": "pymatgen.core.structure", "@class": "Structure", "charge": 0, "lattice": {"matrix": [[4.84714164, -0.0, 0.0], [0.0, 10.65044663, 0.0], [0.0, 0.0, 18.03119927]], "pbc": [true, true, true], "a": 4.84714164, "b": 10.65044663, "c": 18.03119927, "alpha": 90.0, "beta": 90.0, "gamma": 90.0, "volume": 930.846658290349}, "properties": {}, "sites": [{"species": [{"element": "Cs", "oxidation_state": 1, "spin": null, "occu": 1.0}], "abc": [0.75, 0.58127558, 0.17211973], "xyz": [3.63535623, 6.190844542112295, 3.103525149928597], "properties": {"magmom": -0.0}, "label": "Cs"}, {"species": [{"element": "Cs", "oxidation_state": 1, "spin": null, "occu": 1.0}], "abc": [0.25, 0.41872442, 0.82788027], "xyz": [1.21178541, 4.4596020878877045, 14.927674120071401], "properties": {"magmom": -0.0}, "label": "Cs"}, {"species": [{"element": "Cs", "oxidation_state": 1, "spin": null, "occu": 1.0}], "abc": [0.75, 0.08127558, 0.32788027], "xyz": [3.63535623, 0.8656212271122954, 5.912074485071402], "properties": {"magmom": -0.0}, "label": "Cs"}, {"species": [{"element": "Cs", "oxidation_state": 1, "spin": null, "occu": 1.0}], "abc": [0.25, 0.91872442, 0.67211973], "xyz": [1.21178541, 9.784825402887703, 12.119124784928596], "properties": {"magmom": -0.0}, "label": "Cs"}, {"species": [{"element": "Pb", "oxidation_state": 2, "spin": null, "occu": 1.0}], "abc": [0.25, 0.66184885, 0.43921676], "xyz": [1.21178541, 7.0489858540518755, 7.919604922283765], "properties": {"magmom": 0.0}, "label": "Pb"}, {"species": [{"element": "Pb", "oxidation_state": 2, "spin": null, "occu": 1.0}], "abc": [0.75, 0.33815115, 0.56078324], "xyz": [3.63535623, 3.6014607759481243, 10.111594347716235], "properties": {"magmom": 0.0}, "label": "Pb"}, {"species": [{"element": "Pb", "oxidation_state": 2, "spin": null, "occu": 1.0}], "abc": [0.25, 0.16184885, 0.06078324], "xyz": [1.21178541, 1.7237625390518754, 1.0959947127162348], "properties": {"magmom": 0.0}, "label": "Pb"}, {"species": [{"element": "Pb", "oxidation_state": 2, "spin": null, "occu": 1.0}], "abc": [0.75, 0.83815115, 0.93921676], "xyz": [3.63535623, 8.926684090948124, 16.935204557283765], "properties": {"magmom": 0.0}, "label": "Pb"}, {"species": [{"element": "I", "oxidation_state": -1, "spin": null, "occu": 1.0}], "abc": [0.75, 0.83721116, 0.50204455], "xyz": [3.63535623, 8.91667277762039, 9.052465323467478], "properties": {"magmom": -0.0}, "label": "I"}, {"species": [{"element": "I", "oxidation_state": -1, "spin": null, "occu": 1.0}], "abc": [0.25, 0.16278884, 0.49795545], "xyz": [1.21178541, 1.733773852379609, 8.978733946532522], "properties": {"magmom": -0.0}, "label": "I"}, {"species": [{"element": "I", "oxidation_state": -1, "spin": null, "occu": 1.0}], "abc": [0.75, 0.33721116, 0.99795545], "xyz": [3.63535623, 3.5914494626203908, 17.99433358153252], "properties": {"magmom": -0.0}, "label": "I"}, {"species": [{"element": "I", "oxidation_state": -1, "spin": null, "occu": 1.0}], "abc": [0.25, 0.66278884, 0.00204455], "xyz": [1.21178541, 7.0589971673796095, 0.036865688467478494], "properties": {"magmom": -0.0}, "label": "I"}, {"species": [{"element": "I", "oxidation_state": -1, "spin": null, "occu": 1.0}], "abc": [0.25, 0.52927197, 0.61230824], "xyz": [1.21178541, 5.6369828692399615, 11.040651890102982], "properties": {"magmom": -0.0}, "label": "I"}, {"species": [{"element": "I", "oxidation_state": -1, "spin": null, "occu": 1.0}], "abc": [0.75, 0.47072803, 0.38769176], "xyz": [3.63535623, 5.013463760760039, 6.990547379897015], "properties": {"magmom": -0.0}, "label": "I"}, {"species": [{"element": "I", "oxidation_state": -1, "spin": null, "occu": 1.0}], "abc": [0.25, 0.02927197, 0.88769176], "xyz": [1.21178541, 0.3117595542399611, 16.006147014897014], "properties": {"magmom": -0.0}, "label": "I"}, {"species": [{"element": "I", "oxidation_state": -1, "spin": null, "occu": 1.0}], "abc": [0.75, 0.97072803, 0.11230824], "xyz": [3.63535623, 10.338687075760038, 2.0250522551029846], "properties": {"magmom": -0.0}, "label": "I"}, {"species": [{"element": "I", "oxidation_state": -1, "spin": null, "occu": 1.0}], "abc": [0.25, 0.79631664, 0.28730552], "xyz": [1.21178541, 8.481127874900922, 5.180463082490969], "properties": {"magmom": -0.0}, "label": "I"}, {"species": [{"element": "I", "oxidation_state": -1, "spin": null, "occu": 1.0}], "abc": [0.75, 0.20368336, 0.71269448], "xyz": [3.63535623, 2.1693187550990767, 12.850736187509028], "properties": {"magmom": -0.0}, "label": "I"}, {"species": [{"element": "I", "oxidation_state": -1, "spin": null, "occu": 1.0}], "abc": [0.25, 0.29631664, 0.21269448], "xyz": [1.21178541, 3.1559045599009234, 3.835136552509029], "properties": {"magmom": -0.0}, "label": "I"}, {"species": [{"element": "I", "oxidation_state": -1, "spin": null, "occu": 1.0}], "abc": [0.75, 0.70368336, 0.78730552], "xyz": [3.63535623, 7.494542070099076, 14.19606271749097], "properties": {"magmom": -0.0}, "label": "I"}]} \ No newline at end of file From be4cb2b330065d7fe6d52caaeff03c65a0fd593b Mon Sep 17 00:00:00 2001 From: Anthony Onwuli <30937913+AntObi@users.noreply.github.com> Date: Thu, 7 Dec 2023 19:26:20 +0000 Subject: [PATCH 6/7] Remove deprecated np.product --- smact/properties.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/smact/properties.py b/smact/properties.py index 722a624f..55e33700 100644 --- a/smact/properties.py +++ b/smact/properties.py @@ -1,6 +1,6 @@ from typing import List, Optional, Union -from numpy import product, sqrt +import numpy as np import smact @@ -70,10 +70,10 @@ def band_gap_Harrison( V1_bar = (V1_An + V1_Cat) / 2 V2 = 2.16 * hbarsq_over_m / (d**2) V3 = (Cat.eig - An.eig) / 2 - alpha_m = (1.11 * V1_bar) / sqrt(V2**2 + V3**2) + alpha_m = (1.11 * V1_bar) / np.sqrt(V2**2 + V3**2) # Calculate Band gap [(3-43) Harrison 1980 ] - Band_gap = (3.60 / 3.0) * (sqrt(V2**2 + V3**2)) * (1 - alpha_m) + Band_gap = (3.60 / 3.0) * (np.sqrt(V2**2 + V3**2)) * (1 - alpha_m) if verbose: print("V1_bar = ", V1_bar) print("V2 = ", V2) @@ -150,7 +150,7 @@ def compound_electroneg( elementlist[i] = [elementlist[i] ** stoichslist[i]] # Calculate geometric mean (n-th root of product) - prod = product(elementlist) + prod = np.prod(elementlist) compelectroneg = (prod) ** (1.0 / (sum(stoichslist))) if verbose: From bc9c44bf3f5f117267620194f141acde3c434891 Mon Sep 17 00:00:00 2001 From: Anthony Onwuli <30937913+AntObi@users.noreply.github.com> Date: Thu, 7 Dec 2023 19:26:32 +0000 Subject: [PATCH 7/7] Fix path to structure --- smact/tests/test_core.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smact/tests/test_core.py b/smact/tests/test_core.py index c3e27a47..8b649a0f 100755 --- a/smact/tests/test_core.py +++ b/smact/tests/test_core.py @@ -18,7 +18,7 @@ files_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)), "files") TEST_OX_STATES = os.path.join(files_dir, "test_oxidation_states.txt") -TEST_STRUCT = os.path.join(files_dir, "mp-540839_CsPbI3_oxi.cif") +TEST_STRUCT = os.path.join(files_dir, "mp-540839_CsPbI3_oxi.json") class TestSequenceFunctions(unittest.TestCase):