User Tools

Site Tools


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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki