$Device { Region well { # mesh_regions = 1 material = GaN structure = wz y-growth-direction = (1,0,-1,0) z-growth-direction = (-1,2,-1,0) x-growth-direction = (0,0,0,1) doping = 1e18 doping_type = acceptor doping_level = 0.025 } Region buffer1 { # mesh_regions = 2 material = AlGaN x = 0.3 structure = wz y-growth-direction = (1,0,-1,0) z-growth-direction = (-1,2,-1,0) x-growth-direction = (0,0,0,1) doping = 5e16 doping_type = acceptor doping_level = 0.025 } Region buffer2 { # mesh_regions = 3 material = AlGaN x = 0.3 structure = wz y-growth-direction = (1,0,-1,0) z-growth-direction = (-1,2,-1,0) x-growth-direction = (0,0,0,1) doping = 5e16 doping_type = acceptor doping_level = 0.025 } } $Models { model macrostrain { options { simulation_name = str physical_regions = all } BC_Regions { BC_Region substrate #ALGANsubstrate { # BC_reg_numb = 1 type = substrate material = AlGaN x = 0.3 structure = wz y-growth-direction = (1,0,-1,0) z-growth-direction = (-1,2,-1,0) x-growth-direction = (0,0,0,1) } } } model driftdiffusion { options { simulation_name = dd physical_regions = all } } model efaschroedinger { options { simulation_name = quantum_el physical_regions = all } } model efaschroedinger { options { simulation_name = quantum_hl physical_regions = all } } model quantumdispersion { options { simulation_name = dispersion1D_el physical_regions = all } } model quantumdispersion { options { simulation_name = dispersion1D_hl physical_regions = all } } model quantumdispersion { options { simulation_name = dispersion2D_el physical_regions = all } } model quantumdispersion { options { simulation_name = dispersion2D_hl physical_regions = all } } } $Solver { macrostrain { substrate = substrate # ALGANsubstrate } driftdiffusion { coupling = poisson nonlin_max_it = 70 nonlin_rel_tol = 1e-10 nonlin_abs_tol = 1e-10 nonlin_step_tol = 1e-9 ls_max_step = 4 discretization = fem integration_order = 2 ksp_type = bcgs } quantum_el { Dirichlet_bc_everywhere = true particle = el number_of_eigenstates = 10 poisson_model_name = dd strain_model_name = macrostrain solution_method = general solver = krylovshur } quantum_hl { Dirichlet_bc_everywhere = true particle = hl number_of_eigenstates = 15 poisson_model_name = dd strain_model_name = macrostrain solver = krylovshur solution_method = general } dispersion1D_el { quantum_simulation = quantum_el wedge = half k_space_dimension = 1 k1 = (0, 0.1, 0) number_of_nodes = (10) min_eigenvalue_number = 0 max_eigenvalue_number = 1 } dispersion1D_hl { quantum_simulation = quantum_hl wedge = half k_space_dimension = 1 k1 = (0, 0.1, 0) number_of_nodes = (10) min_eigenvalue_number = 0 max_eigenvalue_number = 1 } dispersion2D_el { quantum_simulation = quantum_el wedge = quarter k_space_dimension = 2 k1 = (0, 0.1, 0) k2 = (0, 0, 0.1) number_of_nodes = (8,8) min_eigenvalue_number = 0 max_eigenvalue_number = 1 } dispersion2D_hl { quantum_simulation = quantum_hl wedge = quarter k_space_dimension = 2 k1 = (0, 0.1, 0) k2 = (0, 0, 0.1) number_of_nodes = (8,8) min_eigenvalue_number = 0 max_eigenvalue_number = 3 output_format = gmv } } $Physics { driftdiffusion { strain_simulation = str } quantum_el { particle = el model = kp kp_model = 8x8 } quantum_hl { particle = hl model = kp kp_model = 8x8 } } $Simulation { searchpath = ../../materials meshfile = quantum_well.msh mesh_units = 1e-9 dimension = 1 temperature = 300 solve = (str, dd, quantum_el, quantum_hl, dispersion1D_el, dispersion1D_hl, dispersion2D_el, dispersion2D_hl ) resultpath = output_new output_format = grace plot = (strain, polarization, Ec, Ev, EField , EigenEnergy, EnergyLevels, EigenFunctions, k-space_dispersion) }