soft:siman:decomp
if 1:
#check stability
from mp_api.client import MPRester
from pymatgen.core import Composition, Element
from pymatgen.analysis.phase_diagram import (
CompoundPhaseDiagram,
PDPlotter,
PhaseDiagram,
PDEntry
)
chemsys = 'K-Te-Nb-O'
api_key = 'dfadf' # use from you cabinet
# res('KTeO3.Pm-3m', '1u', 1, show = 'fo', up = 'up1',
# input_geo_format = 'mat_proj', it_folder = 'KTeO3/', mat_proj_id = 'mp-1184940')
KTeO3 = db['KTeO3.Pm-3m.1u.1']
with MPRester(api_key = api_key) as mp_rester:
# entry = mp_rester.get_entries([mp_id], additional_criteria={'thermo_types': ['GGA_GGA+U']},
# compatible_only=True)[0]
cl = K2NbTep
# cl = KTeO3
e_cor = cl.end.natom*-0.4
print('correction is',e_cor )
comp = Composition(cl.end.get_formula() )
entry1 = PDEntry(comp, cl.e0+e_cor)
entry2 = mp_rester.get_entries(['mp-1184940'],
additional_criteria={'thermo_types': ['GGA_GGA+U']}, compatible_only=True)[0]
print(entry1)
print(entry2)
if 1:
entries = mp_rester.get_entries_in_chemsys(chemsys,
compatible_only=True,
additional_criteria={'is_stable': True,
'thermo_types': ['GGA_GGA+U']}
)
pd = PhaseDiagram(entries)
entries = pd.get_decomp_and_phase_separation_energy(entry1, stable_only = True)
# print(entries[0])
for key in entries[0].keys():
print(key)
print('fraction is ', entries[0][key])
print('Phase decomposition energy (energy above hull)', entries[1], 'eV')
# Li_entries = [e for e in entries if e.composition.reduced_formula == ref_element]
# uli0 = min(Li_entries, key=lambda e: e.energy_per_atom).energy_per_atom
# el_profile = phase_diagram.get_element_profile(Element(ref_element), entry.composition)
soft/siman/decomp.txt · Last modified: 2025/01/16 12:53 by d.aksenov