Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix bug in feff inputs.py #3256

Merged
merged 31 commits into from
Aug 22, 2023
Merged
Changes from 14 commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
1dc8c43
Update test_sets.py
kaifengZheng Aug 19, 2023
bb74a32
add test file
kaifengZheng Aug 19, 2023
fac911d
fix a bug in inputs.py
kaifengZheng Aug 19, 2023
0018837
pre-commit auto-fixes
pre-commit-ci[bot] Aug 19, 2023
8112068
files
kaifengZheng Aug 19, 2023
943cbd4
Revert "files"
kaifengZheng Aug 19, 2023
46fbf47
Merge branch 'materialsproject:master' into master
kaifengZheng Aug 19, 2023
09f0642
Merge branch 'materialsproject:master' into master
kaifengZheng Aug 19, 2023
2550e26
Merge branch 'materialsproject:master' into master
kaifengZheng Aug 20, 2023
d2c35c2
Merge branch 'master' into master
kaifengZheng Aug 20, 2023
c5020c1
Merge branch 'materialsproject:master' into master
kaifengZheng Aug 20, 2023
18e23bd
Merge branch 'materialsproject:master' into master
kaifengZheng Aug 20, 2023
1679411
Merge branch 'materialsproject:master' into master
kaifengZheng Aug 21, 2023
ae62a3a
Merge branch 'master' into master
janosh Aug 21, 2023
3fd1904
remove test file and modify the test method
kaifengZheng Aug 22, 2023
84392b8
pre-commit auto-fixes
pre-commit-ci[bot] Aug 22, 2023
81c1ac5
Merge branch 'master' of https://github.com/materialsproject/pymatgen
kaifengZheng Aug 22, 2023
ccb5106
Merge branch 'materialsproject:master' into master
kaifengZheng Aug 22, 2023
19896dc
Merge branch 'master' of https://github.com/kaifengZheng/pymatgen
kaifengZheng Aug 22, 2023
91fab3c
i->idx
janosh Aug 22, 2023
ebcedfe
Merge branch 'master' into master
kaifengZheng Aug 22, 2023
f036f0a
Merge branch 'master' into master
kaifengZheng Aug 22, 2023
00da9c8
forgot to negate check_occu after inverting semantics from skip_occu_…
janosh Aug 22, 2023
cde0422
Merge branch 'materialsproject:master' into master
kaifengZheng Aug 22, 2023
bd25993
Update test_sets.py
kaifengZheng Aug 22, 2023
95c0b56
pre-commit auto-fixes
pre-commit-ci[bot] Aug 22, 2023
80b2ad4
Merge branch 'master' into master
kaifengZheng Aug 22, 2023
c915adb
pre-commit auto-fixes
pre-commit-ci[bot] Aug 22, 2023
844336e
Update testing.py resolve conflict
kaifengZheng Aug 22, 2023
61b5914
Merge branch 'master' into master
kaifengZheng Aug 22, 2023
6607fa7
add PR link to new test
janosh Aug 22, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions pymatgen/io/feff/inputs.py
Original file line number Diff line number Diff line change
@@ -407,8 +407,7 @@ def __init__(self, struct, absorbing_atom, radius):
self.absorbing_atom, self.center_index = get_absorbing_atom_symbol_index(absorbing_atom, struct)
self.radius = radius
self._cluster = self._set_cluster()
atom_sym = get_absorbing_atom_symbol_index(absorbing_atom, self._cluster)[0]
self.pot_dict = get_atom_map(self._cluster, atom_sym)
self.pot_dict = get_atom_map(self._cluster, self.absorbing_atom)

def _set_cluster(self):
"""
113 changes: 113 additions & 0 deletions tests/files/UF4_test.cif
kaifengZheng marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
data_image0
_chemical_formula_structural F15U72
_chemical_formula_sum "F15 U72"
_cell_length_a 20.6706
_cell_length_b 20.6706
_cell_length_c 20.6706
_cell_angle_alpha 90
_cell_angle_beta 90
_cell_angle_gamma 90

_space_group_name_H-M_alt "P 1"
_space_group_IT_number 1

loop_
_space_group_symop_operation_xyz
'x, y, z'

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
F F1 1.0 0.86160 0.57476 0.04561 1.0000
F F2 1.0 0.97001 0.68022 0.08588 1.0000
F F3 1.0 0.83134 0.25024 0.07143 1.0000
F F4 1.0 0.93828 0.08077 0.29564 1.0000
F F5 1.0 0.49665 0.20882 0.95859 1.0000
F F6 1.0 0.39112 0.75932 0.06358 1.0000
F F7 1.0 0.28576 0.04617 0.06536 1.0000
F F8 1.0 0.64748 0.10487 0.75241 1.0000
F F9 1.0 0.70157 0.10656 0.61654 1.0000
F F10 1.0 0.40319 0.47940 0.81335 1.0000
F F11 1.0 0.82305 0.01678 0.24734 1.0000
F F12 1.0 0.37946 0.47686 0.55035 1.0000
F F13 1.0 0.51923 0.58563 0.11775 1.0000
F F14 1.0 0.99935 0.59567 0.18742 1.0000
F F15 1.0 0.46158 0.23850 0.80046 1.0000
U U1 1.0 0.32029 0.98885 0.08732 1.0000
U U2 1.0 0.94974 0.13632 0.64419 1.0000
U U3 1.0 0.02762 0.03539 0.48395 1.0000
U U4 1.0 0.32871 0.43209 0.63330 1.0000
U U5 1.0 0.47732 0.50097 0.73514 1.0000
U U6 1.0 0.34126 0.71165 0.03022 1.0000
U U7 1.0 0.11866 0.58280 0.52660 1.0000
U U8 1.0 0.49899 0.31378 0.00382 1.0000
U U9 1.0 0.77558 0.09295 0.93315 1.0000
U U10 1.0 0.87443 0.03336 0.02177 1.0000
U U11 1.0 0.58995 0.09365 0.66703 1.0000
U U12 1.0 0.31236 0.87943 0.27817 1.0000
U U13 1.0 0.09736 0.91632 0.75150 1.0000
U U14 1.0 0.85939 0.28202 0.16367 1.0000
U U15 1.0 0.65177 0.80414 0.49874 1.0000
U U16 1.0 0.97088 0.75619 0.55125 1.0000
U U17 1.0 0.73070 0.62488 0.59905 1.0000
U U18 1.0 0.24103 0.18920 0.62957 1.0000
U U19 1.0 0.36420 0.44837 0.01369 1.0000
U U20 1.0 0.37845 0.09731 0.20450 1.0000
U U21 1.0 0.03618 0.40772 0.60436 1.0000
U U22 1.0 0.56900 0.97657 0.74808 1.0000
U U23 1.0 0.70715 0.33681 0.93603 1.0000
U U24 1.0 0.82033 0.84483 0.81171 1.0000
U U25 1.0 0.46424 0.95573 0.03121 1.0000
U U26 1.0 0.50124 0.09739 0.97488 1.0000
U U27 1.0 0.65375 0.38553 0.22777 1.0000
U U28 1.0 0.82676 0.67881 0.27317 1.0000
U U29 1.0 0.66394 0.18566 0.17952 1.0000
U U30 1.0 0.02118 0.79093 0.85059 1.0000
U U31 1.0 0.02218 0.28127 0.02438 1.0000
U U32 1.0 0.44858 0.64058 0.46069 1.0000
U U33 1.0 0.67445 0.21309 0.78567 1.0000
U U34 1.0 0.80076 0.35035 0.59856 1.0000
U U35 1.0 0.41079 0.95680 0.49373 1.0000
U U36 1.0 0.02261 0.27675 0.87210 1.0000
U U37 1.0 0.28604 0.85672 0.76598 1.0000
U U38 1.0 0.41530 0.18098 0.71697 1.0000
U U39 1.0 0.79233 0.56932 0.13654 1.0000
U U40 1.0 0.22749 0.02289 0.39259 1.0000
U U41 1.0 0.21155 0.83281 0.01259 1.0000
U U42 1.0 0.05125 0.58784 0.00452 1.0000
U U43 1.0 0.65601 0.83974 0.03915 1.0000
U U44 1.0 0.58543 0.36596 0.51657 1.0000
U U45 1.0 0.96570 0.77022 0.03456 1.0000
U U46 1.0 0.20208 0.76512 0.53625 1.0000
U U47 1.0 0.25001 0.18203 0.97658 1.0000
U U48 1.0 0.14139 0.35248 0.14295 1.0000
U U49 1.0 0.41839 0.14063 0.39268 1.0000
U U50 1.0 0.10623 0.15324 0.22338 1.0000
U U51 1.0 0.74216 0.61613 0.92548 1.0000
U U52 1.0 0.22992 0.57642 0.81150 1.0000
U U53 1.0 0.84073 0.81724 0.42688 1.0000
U U54 1.0 0.84703 0.98876 0.65826 1.0000
U U55 1.0 0.96628 0.56633 0.79606 1.0000
U U56 1.0 0.48970 0.57745 0.01552 1.0000
U U57 1.0 0.14340 0.35514 0.86855 1.0000
U U58 1.0 0.46531 0.38137 0.25687 1.0000
U U59 1.0 0.03983 0.03078 0.15516 1.0000
U U60 1.0 0.30667 0.34948 0.36596 1.0000
U U61 1.0 0.01590 0.05956 0.79818 1.0000
U U62 1.0 0.62966 0.98746 0.28141 1.0000
U U63 1.0 0.26145 0.59145 0.25430 1.0000
U U64 1.0 0.01475 0.28579 0.41252 1.0000
U U65 1.0 0.85620 0.50030 0.39501 1.0000
U U66 1.0 0.84911 0.06355 0.35388 1.0000
U U67 1.0 0.00213 0.53777 0.27382 1.0000
U U68 1.0 0.71848 0.07675 0.51677 1.0000
U U69 1.0 0.04393 0.78082 0.27780 1.0000
U U70 1.0 0.54829 0.72554 0.81509 1.0000
U U71 1.0 0.56486 0.80702 0.20492 1.0000
U U72 1.0 0.09176 0.04036 0.00260 1.0000

8 changes: 8 additions & 0 deletions tests/io/feff/test_sets.py
Original file line number Diff line number Diff line change
@@ -6,6 +6,7 @@
import pytest
from numpy.testing import assert_allclose

from pymatgen.core import Element
from pymatgen.core.structure import Lattice, Molecule, Structure
from pymatgen.io.cif import CifParser
from pymatgen.io.feff.inputs import Atoms, Header, Potential, Tags
@@ -259,3 +260,10 @@ def test_big_radius(self):
},
)
assert str(dict_set) is not None

def test_cluster_index(self):
cif_file = f"{TEST_FILES_DIR}/UF4_test.cif"
structure = CifParser(cif_file).get_structures()[0]
for i in range(len(structure.species)):
if structure.species[i] == Element("U"):
assert Atoms(structure, i, 6).cluster