-
Notifications
You must be signed in to change notification settings - Fork 0
/
verify_pd_CH.py
36 lines (28 loc) · 1.44 KB
/
verify_pd_CH.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import pymatgen,sys
from pymatgen.analysis.phase_diagram import PhaseDiagram, PDPlotter
from pymatgen.entries.computed_entries import ComputedEntry
#import plotter1
import pandas as pd
def computed(name, energy):
return ComputedEntry(name, energy)
#df = pd.read_csv('Reference.csv', comment='#') #0
file = sys.argv[1]
df = pd.read_csv(f'{file}', comment='#')
test=[]
ref=[]
for i,j in zip(df.composition, df.e_total):
test.append(computed(i,j))
PDfull=PhaseDiagram(test)
print(PDfull)
print( "Test new Structures")
for entry in test:
# if 1000*PDfull.get_e_above_hull(entry) == 0:
print (entry.composition,',',entry.energy,',', PDfull.get_decomp_and_phase_separation_energy(entry)[1])
# print (entry.composition,',',entry.energy,',', PDfull.get_decomp_and_phase_separation_energy(entry)[0])
# print ("%13s,%15.5f,%15.5f," %(entry.composition, entry.energy, 1000*PDfull.get_e_above_hull(entry)))
# print (entry.composition,',', round(1000*PDfull.get_e_above_hull(entry),1))
# print (entry.composition, round(1000*PDfull.get_e_above_hull(entry),1))
# print (entry.composition, entry.energy, 1000*PDfull.get_e_above_hull(entry), PDfull.get_decomp_and_phase_separation_energy(entry))
# print ("%13s,%15.5f,%15.3f," %(entry.composition, entry.energy, 1000*PDfull.get_e_above_hull(entry)), file=open(f"LiSiSCl_computed_{len(xtalopt+Vlad)}.csv", 'a'))
#plotter = plotter1.get_contour_pd_plot(PDfull)
#plotter.show()