# Add external potential external_potential = AtomicCompensationCharge([ ('H_As', -0.25), ('H_In', 0.25) ]) bulk_configuration.setExternalPotential(external_potential) # ------------------------------------------------------------- # Calculator # ------------------------------------------------------------- #---------------------------------------- # Basis Set #---------------------------------------- basis_set = Bassani.InAs_Basis as_onsite_parameters = SlaterKosterOnsiteParameters( element=PeriodicTable.Arsenic, angular_momenta=[ 0 , 1 , 2 , 0 ], occupations=[ 1.577, 3.012, 0.204, 0.067 ], filling_method=SphericalSymmetric, ionization_potential=[ -5.9801*eV , 3.5813*eV , 12.1954*eV , 17.8411*eV ], onsite_hartree_shift=7.81664*eV, onsite_spin_split=ATK_W(PeriodicTable.Arsenic, [ "4s", "4p", "4p", "4s" ]), onsite_spin_orbit_split=[0.0,2*0.1763,0.0, 0.0]*eV, ) in_onsite_parameters = SlaterKosterOnsiteParameters( element=PeriodicTable.Indium, angular_momenta=[ 0 , 1 , 2 , 0 ], occupations=[ 1.113, 1.668, 0.300, 0.059 ], filling_method=SphericalSymmetric, ionization_potential=[ 0.3333*eV , 6.4939*eV , 12.1954*eV , 17.8411*eV ], onsite_hartree_shift=3.34624*eV, onsite_spin_split=ATK_W(PeriodicTable.Indium, ["5s", "5p", "5p", "5s"]), onsite_spin_orbit_split=[0.0,2*0.1248,0.0, 0.0]*eV ) h_onsite_parameters = SlaterKosterOnsiteParameters( element=PeriodicTable.Hydrogen, angular_momenta=[ 0 ], occupations=[ 1], filling_method=SphericalSymmetric, ionization_potential=[ 0.6*eV ], onsite_hartree_shift=ATK_U(Hydrogen, ['1s']), onsite_spin_split=[[0.0]]*eV, ) offsite_parameters = basis_set.offsiteParameters() basis_set = SlaterKosterTable( arsenic = as_onsite_parameters, indium = in_onsite_parameters, hydrogen = h_onsite_parameters, in_as_sds = offsite_parameters['in_as_sds'], in_as_pdp = offsite_parameters['in_as_pdp'], in_as_sss = offsite_parameters['in_as_sss'], in_as_pds = offsite_parameters['in_as_pds'], in_as_ddp = offsite_parameters['in_as_ddp'], as_in_pds = offsite_parameters['as_in_pds'], as_in_pdp = offsite_parameters['as_in_pdp'], in_as_dds = offsite_parameters['in_as_dds'], as_in_s1ps = offsite_parameters['as_in_s1ps'], in_as_s1ps = offsite_parameters['in_as_s1ps'], in_as_ppp = offsite_parameters['in_as_ppp'], in_as_s1s1s =offsite_parameters['in_as_s1s1s'], in_as_pps = offsite_parameters['in_as_pps'], in_as_ddd = offsite_parameters['in_as_ddd'], as_in_s1ss = offsite_parameters['as_in_s1ss'], as_in_sps = offsite_parameters['as_in_sps'], as_in_s1ds = offsite_parameters['as_in_s1ds'], in_as_s1ds = offsite_parameters['in_as_s1ds'], as_in_ss1s = offsite_parameters['as_in_ss1s'], in_as_sps = offsite_parameters['in_as_sps'], as_in_sds = offsite_parameters['as_in_sds'], h_as_sss = [(0.5*Ang, -3.5*eV), (1.0*Ang, -3.5*eV), (1.25*Ang, -3.5*eV), (1.5*Ang, -3.5*eV), (1.6*Ang, -3.5*eV), (1.7*Ang, -3.5*eV), (1.8*Ang, -3.5*eV), (1.9*Ang, -3.5*eV), (2.0*Ang, -3.5*eV), (2.1*Ang, -3.5*eV), (2.2*Ang, 0.0*eV)], h_in_sss = [(0.5*Ang, -3.5*eV), (1.0*Ang, -3.5*eV), (1.25*Ang, -3.5*eV), (1.5*Ang, -3.5*eV), (1.6*Ang, -3.5*eV), (1.7*Ang, -3.5*eV), (1.8*Ang, -3.5*eV), (1.9*Ang, -3.5*eV), (2.0*Ang, -3.5*eV), (2.1*Ang, -3.5*eV), (2.2*Ang, 0.0*eV)], h_as_sps = [(0.5*Ang, 4.5*eV), (1.0*Ang, 4.5*eV), (1.25*Ang, 4.5*eV), (1.5*Ang, 4.5*eV), (1.6*Ang, 4.5*eV), (1.7*Ang, 4.5*eV), (1.8*Ang, 4.5*eV), (1.9*Ang, 4.5*eV), (2.0*Ang, 4.5*eV), (2.1*Ang, 4.5*eV), (2.2*Ang, 0.0*eV)], h_in_sps = [(0.5*Ang, 4.5*eV), (1.0*Ang, 4.5*eV), (1.25*Ang, 4.5*eV), (1.5*Ang, 4.5*eV), (1.6*Ang, 4.5*eV), (1.7*Ang, 4.5*eV), (1.8*Ang, 4.5*eV), (1.9*Ang, 4.5*eV), (2.0*Ang, 4.5*eV), (2.1*Ang, 4.5*eV), (2.2*Ang, 0.0*eV)], )