for thickness in thicknesses: model.material[0][0] = thickness #other examples - #model.Fapp = ... #equivalent to Fapplied #model.subnumber_e = ... #model.dx = gridfactor*1e-9 #database.materialproperty['GaAs']['epsilonStatic']= ... model.create_structure_arrays() # update the instance's internals # Perform the calculation result= aestimo.Poisson_Schrodinger(model) results.append(result) #all the results can be stored for further analysis. # Set output directory # aestimo_numpy reads the output directory from the config module, so config.output_directory = os.path.join(output_directory,'dz0_%dnm' %thickness) # Write the simulation results in files aestimo.save_and_plot(result,model) #Plot QW representation #aestimo.QWplot(result)#,figno=None) # an alternative to save_and_plot function # which only plots the QW diagram and doesn't # save anything. print("Simulation is finished. All files are closed.") print("Please control the related files.")
logger = aestimo.logger # Initialise structure class model = aestimo.StructureFrom(vars(),database) if True: #recalculate QW states # Perform the calculation result = aestimo.Poisson_Schrodinger(model) time4 = time.time() #timing audit logger.info("total running time (inc. loading libraries) %g s",(time4 - aestimo.time0)) logger.info("total running time (exc. loading libraries) %g s",(time4 - aestimo.time1)) # Write the simulation results in files fig1,fig2,fig3 = aestimo.save_and_plot(result,model) logger.info("Simulation is finished.") else: #load previously calculated results from output directory result = aestimo.load_results() #Set thickness of effective medium Lperiod = sum([layer[0] for layer in model.material])*1e-9 #m # set dielectric constants case = 1 if case==1: #scalar dielectric constants eps_b = 12.90 eps_z = 12.90 elif case==2: #z-dependent dielectric constants eps_b = 10.364
logger = aestimo.logger # Initialise structure class model = aestimo.StructureFrom(vars(),database) if True: #recalculate QW states # Perform the calculation result = aestimo.Poisson_Schrodinger(model) time4 = time.time() #timing audit logger.info("total running time (inc. loading libraries) %g s",(time4 - aestimo.time0)) logger.info("total running time (exc. loading libraries) %g s",(time4 - aestimo.time1)) # Write the simulation results in files aestimo.save_and_plot(result,model) logger.info("Simulation is finished.") else: #load previously calculated results from output directory result = aestimo.load_results() #Set thickness of effective medium Lperiod = sum([layer[0] for layer in model.material])*1e-9 #m # set dielectric constants case = 1 if case==1: #scalar dielectric constants eps_b = 12.90 eps_z = 12.90 elif case==2: #z-dependent dielectric constants eps_b = 10.364