Skip to content

(Bug Report)Calculated Orbital Frame Matrix is always 0. #260

@Shunichirou-Watanabe

Description

@Shunichirou-Watanabe

Bug details

I calculate OFM by referring to the tutorial on the web page, all will be 0.
https://xenonpy.readthedocs.io/en/latest/tutorials/2-descriptor.html
(F14_f14 of mp-1017582 should be 0.3851, but it is 0)

The combination of v2020.10.9 for pymatgen and 0.6.5 for xenonpy is NG
The combination of v2020.3.13 for pymatgen and 0.6.5 for xenonpy is OK

Environment

Windows10 21H2
Python 3.7.13 (default, Mar 28 2022, 08:03:21) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32

Verification program

import xenonpy
import os
from xenonpy.descriptor import Structures
import pymatgen
from xenonpy.datatools import preset
from pymatgen.ext.matproj import MPRester
import pandas as pd

print(f"xenonpy version = {xenonpy.version}")
print(f"pymatgen version = {pymatgen.version}")

API_key = "use your own api key"
preset.build('mp_samples',api_key=API_key)
samples = preset.mp_samples

with MPRester(api_key=API_key) as m:
model = m.query(criteria='mp-1017582',properties=list(samples.columns))
print(model)
model_df = pd.DataFrame(model,columns=samples.columns)

cal = Structures()
part_desc = cal.transform(model_df)
print(f"f14_f14 = {part_desc.loc[0,'f14_f14']:1.4f}")

Probable cause

A method was added to the master branch of pymatgen to remove HTML tags in electronic_structure with the changes committed on May 13, 2020.
materialsproject/pymatgen@632a79a

Therefore, the method on lines 214-215 of xenonpy's structure.py becomes superfluous.No matter which element is input, the output result is an empty list.

''.join(pair) for pair in re.findall(r"\.\d(\w+)<sup>(\d+)</sup>", element.electronic_structure)

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions