Skip to content

Commit

Permalink
Merge branch 'master' into get_el_sp-isotope-unit-test
Browse files Browse the repository at this point in the history
  • Loading branch information
DanielYang59 authored Dec 15, 2024
2 parents 0320bf7 + da607e8 commit 9e693c7
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 5 deletions.
8 changes: 7 additions & 1 deletion src/pymatgen/io/aims/inputs.py
Original file line number Diff line number Diff line change
Expand Up @@ -154,16 +154,22 @@ def from_structure(cls, structure: Structure | Molecule) -> Self:
content_lines.append(f"lattice_vector {lv[0]: .12e} {lv[1]: .12e} {lv[2]: .12e}")

for site in structure:
element = site.species_string
element = site.species_string.split(",spin=")[0]
charge = site.properties.get("charge", 0)
spin = site.properties.get("magmom", None)
coord = site.coords
v = site.properties.get("velocity", [0.0, 0.0, 0.0])

if isinstance(site.specie, Species) and site.specie.spin is not None:
if spin is not None and spin != site.specie.spin:
raise ValueError("species.spin and magnetic moments don't agree. Please only define one")
spin = site.specie.spin

if isinstance(site.specie, Species) and site.specie.oxi_state is not None:
if charge is not None and charge != site.specie.oxi_state:
raise ValueError("species.oxi_state and charge don't agree. Please only define one")
charge = site.specie.oxi_state

content_lines.append(f"atom {coord[0]: .12e} {coord[1]: .12e} {coord[2]: .12e} {element}")
if charge != 0:
content_lines.append(f" initial_charge {charge:.12e}")
Expand Down
1 change: 1 addition & 0 deletions src/pymatgen/symmetry/groups.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
from monty.design_patterns import cached_class
from monty.serialization import loadfn

from pymatgen.core.operations import SymmOp
from pymatgen.util.string import Stringify

if TYPE_CHECKING:
Expand Down
11 changes: 7 additions & 4 deletions tests/io/test_phonopy.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,11 @@
from numpy.testing import assert_allclose, assert_array_equal
from pytest import approx

from pymatgen.core import Element
from pymatgen.core import Element, Structure
from pymatgen.io.phonopy import (
CompletePhononDos,
PhononBandStructure,
PhononBandStructureSymmLine,
Structure,
get_complete_ph_dos,
get_displaced_structures,
get_gruneisen_ph_bs_symm_line,
Expand Down Expand Up @@ -125,6 +124,10 @@ def test_structure_conversion(self):
assert struct_pmg_round_trip.site_properties["magmom"] == struct_pmg.site_properties["magmom"]


@pytest.mark.skipif(
platform.system() == "Windows" and int(np.__version__[0]) >= 2,
reason="cannot run NP2 on windows, see PR 4224",
)
@pytest.mark.skipif(Phonopy is None, reason="Phonopy not present")
class TestGetDisplacedStructures(PymatgenTest):
def test_get_displaced_structures(self):
Expand Down Expand Up @@ -157,11 +160,11 @@ def test_get_displaced_structures(self):
assert os.path.isfile("test.yaml")


@pytest.mark.skipif(Phonopy is None, reason="Phonopy not present")
@pytest.mark.skipif(
platform.system() == "Windows" and int(np.__version__[0]) >= 2,
reason="See https://github.com/conda-forge/phonopy-feedstock/pull/158#issuecomment-2227506701",
reason="cannot run NP2 on windows, see PR 4224",
)
@pytest.mark.skipif(Phonopy is None, reason="Phonopy not present")
class TestPhonopyFromForceConstants(TestCase):
def setUp(self) -> None:
test_path = Path(TEST_DIR)
Expand Down

0 comments on commit 9e693c7

Please sign in to comment.