def main(): from materials import CZTS, Cu2S_low, ZnS_zincblende, SnS, S2 import numpy as np # Surface model from ab initio calcs and NIST data T = np.linspace(573.15, 873.15, 100) # K P = np.array(np.logspace(-8, 2, 100), ndmin=2).transpose() # Pa D_mu = CZTS.mu_kJ(T, P) - (Cu2S_low.mu_kJ(T, P) + ZnS_zincblende.mu_kJ( T, P) + SnS.mu_kJ(T, P) + 0.5 * S2.mu_kJ(T, P)) D_mu_label = '$\Delta G_f$ / kJ mol$^{-1}$' scale_range = [-50, 70] # Stability lines from figure 5, J. J. Scragg et al., Chem. Mater. (2011) 23 4625-4633 kinetic_data = np.genfromtxt('jscragg_2011.csv', delimiter=',', skip_header=1) # Convert log pressure to absolute pressure in mbar kinetic_data[:, 1:] = np.power(10, kinetic_data[:, 1:]) # Columnwise conversion to SI units from deg C and mbar kinetic_data_si = (kinetic_data + [273.15, 0., 0.]) * [1., 100., 100.] plot_potential(T, P, D_mu, D_mu_label, scale_range, filename='plots/DG_CZTS_SnS_Scragg.png', T_units='K', P_units='Pa', overlay=kinetic_data_si)
def main(): from materials import CZTS, Cu2S_low, ZnS_zincblende, SnS, S2 import numpy as np # Surface model from ab initio calcs and NIST data T = np.linspace(573.15,873.15,100) # K P = np.array( np.logspace(-8,2,100),ndmin=2).transpose() # Pa D_mu = CZTS.mu_kJ(T,P) - (Cu2S_low.mu_kJ(T,P) + ZnS_zincblende.mu_kJ(T,P) + SnS.mu_kJ(T,P) + 0.5*S2.mu_kJ(T,P) ) D_mu_label = '$\Delta G_f$ / kJ mol$^{-1}$' scale_range = [-50,70] # Stability lines from figure 5, J. J. Scragg et al., Chem. Mater. (2011) 23 4625-4633 kinetic_data = np.genfromtxt('jscragg_2011.csv',delimiter=',',skip_header=1) # Convert log pressure to absolute pressure in mbar kinetic_data[:,1:] = np.power(10,kinetic_data[:,1:]) # Columnwise conversion to SI units from deg C and mbar kinetic_data_si = (kinetic_data + [273.15, 0., 0.]) * [1., 100., 100.] plot_potential(T,P,D_mu,D_mu_label,scale_range, filename='plots/DG_CZTS_SnS_Scragg.png', T_units='K', P_units='Pa', overlay=kinetic_data_si)
def main(): from materials import CZTS, Cu2S_low, ZnS_zincblende, SnS, S2 import numpy as np from DG_CZTS_S8 import plot_potential T = np.linspace(100,1500,100) # K P = np.array( np.logspace(1,7,100),ndmin=2).transpose() # Pa D_mu = CZTS.mu_kJ(T,P) - (Cu2S_low.mu_kJ(T,P) + ZnS_zincblende.mu_kJ(T,P) + SnS.mu_kJ(T,P) + 0.5*S2.mu_kJ(T,P) ) D_mu_label = '$\Delta G_f$ / kJ mol$^{-1}$' scale_range = [-300,100] plot_potential(T,P,D_mu,D_mu_label,scale_range, filename='plots/DG_CZTS_SnS.png')
def main(): from materials import CZTS, Cu, Zn, Sn, S2 import numpy as np from DG_CZTS_S8 import plot_potential T = np.linspace(100,1500,100) # K P = np.array( np.logspace(1,7,100),ndmin=2).transpose() # Pa D_mu = CZTS.mu_kJ(T,P) - (2*Cu.mu_kJ(T,P) + Zn.mu_kJ(T,P) + Sn.mu_kJ(T,P) + 2*S2.mu_kJ(T,P) ) D_mu_label = '$\Delta G_f$ / kJ mol$^{-1}$' scale_range = [-650,50] plot_potential(T,P,D_mu,D_mu_label,scale_range, filename='plots/DG_CZTS_S2.png')