$Device { Region well { material = GaAs doping = 1e15 doping_type = acceptor doping_level = 0.025 } Region nside { mat = AlGaAs x = 0.3 doping = 1e18 doping_type = donor doping_level = 0.025 } Region pside { mat = AlGaAs x = 0.3 doping = 1e18 doping_type = acceptor doping_level = 0.025 } Region buffer { reg_numb = (buffer_classical, buffer_quantum) mat = AlGaAs x = 0.3 doping = 1e15 doping_type = donor doping_level = 0.025 } Cluster quantum { mesh_regions = (well, buffer_quantum) } } $Models { model macrostrain { options { simulation_name = str } BC_Regions { BC_Region cathode { type = substrate material = GaAs } } } model driftdiffusion { options { simulation_name = dd } physical_model recombination { model = srh } physical_model electron_mobility { model = doping_dependent } physical_model hole_mobility { model = doping_dependent } BC_Regions { BC_Region cathode { type = ohmic } BC_Region anode { type = ohmic voltage = @Vb[0.0] } } } model efaschroedinger { options { simulation_name = quantum_el physical_regions = quantum } } model efaschroedinger { options { simulation_name = quantum_hl physical_regions = quantum } } model quantumdensity { options { simulation_name = dens_el physical_regions = quantum } } model quantumdensity { options { simulation_name = dens_hl physical_regions = quantum } } } $Solver { macrostrain { substrate = cathode } driftdiffusion { #coupling = poisson nonlin_step_tol = 1e-9 } quantum_el { Dirichlet_bc_everywhere = true particle = el number_of_eigenstates = 22 poisson_model_name = dd strain_model_name = macrostrain convergent_density = true #log_output = true #solve_problem_twice = true #solver = lapack #k_vector = (0, 0.00985844, 0.0223584) } quantum_hl { Dirichlet_bc_everywhere = true particle = hl number_of_eigenstates = 22 poisson_model_name = dd strain_model_name = macrostrain convergent_density = true #solver = lapack #log_output = true } Sweep { sweep_dd { variable = Vb start = 0.0 stop = 1.8 steps = 18 } } quantumdensity { refine_fraction = 0.20 relative_accuracy = 0.01 refine_k_space = true output_density_in_k_space = true uniform_refinement = false mesh_order = FIRST initial_eigenstates_number = 20 analytic = true } dens_el { quantum_simulation = quantum_el degeneracy = 2 k_space_dimension = 2 k-space_basis = true k1 = (0, 0, 0.1) k2 = (0, 0.1, 0) number_of_nodes = (4,4) wedge = quarter } dens_hl { quantum_simulation = quantum_hl degeneracy = 1 k_space_dimension = 2 k-space_basis = true k1 = (0, 0, 0.1) k2 = (0, 0.1, 0) number_of_nodes = (4,4) wedge = quarter } Selfconsistent { EFA_dd #selfconsistent { simulations = (dens_el, dens_hl, dd) # we do not use relaxation, but a predictor-corrector scheme #relaxation_factor = 0.5 max_iterations = 10 abs_tolerance = 1e-4 rel_tolerance = 1e-8 monitor = true #xmonitor = true } } } $Physics { driftdiffusion { statistics = FD strain_simulation = str # where to get the quantum densities from electron_quantum_density = dens_el hole_quantum_density = dens_hl # we us a predictor corrector scheme for the selfconsistent loop (default=false) use_density_predictor = true # we use an embracing region to get a continuous transition from # classical to quantum density embracing_length = 8e-9 plot_embracing_regions = true } quantum_el { model = conduction_band } quantum_hl { particle = hl model = kp # k.p for valence band kp_model = 6x6 } } $Simulation { # searchpath = ../../materials meshfile = quantum_well.msh mesh_units = 1e-9 dimension = 1 temperature = 300 solve = (str, sweep_dd , EFA_dd) resultpath = output_test output_format = grace plot = (strain, polarization, Ec, Ev, QFermi_e, QFermi_h, EField , eDensity, hDensity, CurrentDensity, ContactCurrents, EigenFunctions, EigenEnergy, EnergyLevels, quantum_density, eMob, hMob) }