Example #1
0
def step2(**kwargs):
    """
    post process:
       get energies from the jobs in the previous step and 
       generate the phase diagram
    """
    chkfile = kwargs['checkpoint_files'][0]
    all_jobs = jobs_from_file(chkfile)
    entries = []
    # add endpoint data
    Al = Composition("Al1O0")
    energy_al = -3.36
    O = Composition("Al0O1")
    energy_o = -2.58
    entries.append(PDEntry(Al, energy_al))
    entries.append(PDEntry(O, energy_o))
    # get data and create entries
    for job in all_jobs:
        comp = job.vis.mplmp.structure.composition
        energy = job.final_energy
        entries.append(PDEntry(comp, energy))
    pd = PhaseDiagram(entries)
    plotter = PDPlotter(pd, show_unstable=True)
    plotter.write_image('Al_O_phasediagram.jpg')
    return None
def step2(**kwargs):
    """
    post process:
       get energies from the jobs in the previous step and 
       generate the phase diagram
    """
    chkfile = kwargs['checkpoint_files'][0]
    all_jobs = jobs_from_file(chkfile)
    entries = []
    # add endpoint data
    Al = Composition("Al1O0")
    energy_al = -3.36
    O = Composition("Al0O1")
    energy_o = -2.58
    entries.append(PDEntry(Al, energy_al))
    entries.append(PDEntry(O, energy_o))
    # get data and create entries
    for job in all_jobs:
        comp = job.vis.mplmp.structure.composition
        energy = job.final_energy
        entries.append(PDEntry(comp, energy))
    pd = PhaseDiagram(entries)
    plotter = PDPlotter(pd, show_unstable=True)
    plotter.write_image('Al_O_phasediagram.jpg')
    return None
Example #3
0
def pd_plot(system='Ni-Nb'):

    object_file = pickle.load(open('form_en_gbsave_v25h', "rb"))
    output = []
    l = system.split('-')
    comb = []
    for i in range(len(l)):
        comb += itertools.combinations(l, i + 1)
    comb_list = [list(t) for t in comb]
    #  comb_list=['Zn','O','Zn-O']
    with MPRester("") as m:
        for i in comb_list:
            dd = '-'.join(i)
            print dd
            data = m.get_data(dd)
            for d in data:
                x = {}
                x['material_id'] = str(d['material_id'])
                structure = m.get_structure_by_material_id(x['material_id'])
                X = get_comp_descp(struct=structure)
                print "X", X
                pred = object_file.predict(X)
                print structure.composition.reduced_formula, pred[0], d[
                    'formation_energy_per_atom'], str(d['material_id'])
                output.append(
                    PDEntry(Composition(structure.composition),
                            float(pred[0])))
    pd = PhaseDiagram(output)
    print output
    plotter = PDPlotter(pd, show_unstable=True)
    name = str(system) + str('_phasediagram.png')
    plotter.write_image(name, image_format="png")
Example #4
0
 #     if val != '' and val !='\n' and val !='\r\n':
 #        list_el.append(val)
 # for i in range(0,len(list_el)):
 #      if i!=0:
 #          element_ff.append(list_el[i])    
 #    print ff,' ',element_ff
  element_ff=['Ti','O','N']
  with MPRester(MAPI_KEY) as m:
       data = m.get_entries_in_chemsys(element_ff,inc_structure='final', property_data=["unit_cell_formula","material_id","icsd_id","spacegroup","energy_per_atom","formation_energy_per_atom","pretty_formula","band_gap","total_magnetization","e_above_hull"])
       if (len(element_ff)>1):
           try:
               entries = m.get_entries_in_chemsys(element_ff)
               pd = PhaseDiagram(entries)
               plotter = PDPlotter(pd, show_unstable=True)
               image=str(ff)+str("_DFT")+str(".jpg")
               plotter.write_image(image)
           except:
               pass
       structures=[]
       structures_cvn=[]
       icsd_arr=[]
       mp_arr=[]
       sg_arr=[]
       enp_arr=[]
       fenp_arr=[]
       pf_arr=[]
       ucf_arr=[]
       bg_arr=[]
       tm_arr=[]
       ehull_arr=[]
       for d in data:
Example #5
0
                            el1) and x['forcefield'] == ff:
                        output.append(
                            PDEntry(Composition(x['composition']),
                                    float(x['totenergy'])))

    return output


##Used for phase diagram
entries = get_entries_from_json(key='search',
                                value='Cu-H-O',
                                out='energy',
                                ff='ffield.CuOCH.comb3',
                                json_f='data.json',
                                PD=True)
#entries=get_entries_from_json(key='search',value='Fe-H-O',out='energy',ff='ffield.reax.Fe_O_C_H',json_f='data.json',PD=True)
#entries=get_entries_from_json(key='search',value='Al-Ni',out='energy',ff='Mishin-Ni-Al-2009.eam.alloy',json_f='data.json',PD=True)
pd = PhaseDiagram(entries)
plotter = PDPlotter(pd, show_unstable=False)
#plotter = PDPlotter(pd, show_unstable=True)
#print plotter.pd_plot_data
print plotter.get_plot
name = str('Cu-H-Ocomb') + str('_LMP_phasediagram.png')
plotter.write_image(name, image_format="png")
##

##INDIVIDUAL
#output=get_entries_from_json(key='mpid',value='mp-13',out='energy',ff='ffield.reax.Fe_O_C_H',json_f='data.json')
get_entries_from_json(key='mpid', value='mp-134', out='Bv', json_f='data.json')
##
Example #6
0
        
            if val != '' and val !='\n' and val !='\r\n':
               list_el.append(val)
        for i in range(0,len(list_el)):
             if i!=0:
                 element_ff.append(list_el[i])    
#    print ff,' ',element_ff
        with MPRester(MAPI_KEY) as m:
             data = m.get_entries_in_chemsys(element_ff,inc_structure='final', property_data=["unit_cell_formula","material_id","icsd_id","spacegroup","energy_per_atom","formation_energy_per_atom","pretty_formula","band_gap","total_magnetization","e_above_hull"])
             if (len(element_ff)>1):
                 try:
                     entries = m.get_entries_in_chemsys(element_ff)
                     pd = PhaseDiagram(entries)
                     plotter = PDPlotter(pd, show_unstable=True)
                     image=str(ff)+str("_DFT")+str(".jpg")
                     plotter.write_image(image)
                 except:
                     pass
             structures=[]
             structures_cvn=[]
             icsd_arr=[]
             mp_arr=[]
             sg_arr=[]
             enp_arr=[]
             fenp_arr=[]
             pf_arr=[]
             ucf_arr=[]
             bg_arr=[]
             tm_arr=[]
             ehull_arr=[]
             for d in data: