def set_semiconductor(self, Semicond=None): # measurement_type = self.Project.add_measurement_type('Metal work function', measurement_type_description='Metal work function measurement') try: semiconductor_label = self.Project.get_project_info('Semiconductor') except: semiconductor_label = None if Semicond is None: if semiconductor_label is None: raise Exception('Semiconductor is needed for Schottky diode') else: self.Semiconductor = Semiconductor(semiconductor_label, lookup=True) else: if Semicond.reference['name'] != semiconductor_label: self.Project.add_project_info_if_changed('Semiconductor', Semicond.reference['name']) self.Semiconductor = Semicond
from Schottky.Notation import q, Eg from Schottky.Metal import Metal from Schottky.Semiconductor import Semiconductor, Trap, Dopant, Dislocation, BondingInterface from Schottky.Diode import SchottkyDiode, Poisson, Kinetics, Visual from Schottky.Helpers import Psi_approx colors = [ 'b', 'g', 'y', 'k', 'm', 'c', 'b', 'g', 'y', 'k', 'm', 'c', 'b', 'g', 'y', 'k', 'm', 'c', 'b', 'g', 'y', 'k', 'm', 'c' ] Electrode = Metal('Au', q * 5.1) P = Dopant('Phosphorus', 1.0e21, [[+1, 0.045 * q, 1], [0, 0.045 * q, 1]]) Si = Semiconductor('Si', lookup=True) Si.add_dopant(P) a = 5.43e-10 b = a * np.sqrt(2) / 2 S_e1 = Trap('Shallow electron trap', charge_states=[[0, 0.1 * q, 1], [-1, 0.1 * q, 1]], energy_distribution_function='Single Level', energy_spread=0.01 * q) D_e1 = Trap('Deep electron trap', charge_states=[[0, 0.3 * q, 1], [-1, 0.3 * q, 1]], energy_distribution_function='Single Level', energy_spread=0.1 * q) # S_h1 = Trap('Shallow hole trap', charge_states=[[1, Eg - 0.1 * q, 1], [0, Eg - 0.1 * q, 1]],