Commit a37d6f3b by Lucas Laplanche

### ajout calcul indices à 550°C

parent bbfdd679
 ... ... @@ -43,11 +43,11 @@ def al_doping(bypass_dbr=True): def reflectivity(bypass_dbr=False, start_wavelength=849e-9, stop_wavelength=852e-9, start_wavelength=800e-9, stop_wavelength=900e-9, electric_field=0., n_points=100, l_eam_clad=15e-9, l_eam_clad=8e-9, l_vcsel_clad=15e-9, plot=True): wavelength = np.linspace(start_wavelength, stop_wavelength, num=n_points) ... ... @@ -56,7 +56,7 @@ def reflectivity(bypass_dbr=False, # wavelength in [m] # wavelength must be a numpy array for i in tqdm(range(len(wavelength))): sl = st.structure_eam_vcsel(bypass_dbr=bypass_dbr, vcsel_only=True, eam_only=False, grading_type='linear digital', mqw_alloy_type='digital', sl = st.structure_eam_vcsel(bypass_dbr=bypass_dbr, vcsel_only=False, eam_only=True, eam_alox=True, grading_type='linear digital', mqw_alloy_type='digital', l_eam_clad=l_eam_clad, l_vcsel_clad=l_vcsel_clad) sl = op.algaas_super_lattice_refractive_index(sl, electric_field, wavelength[i], lengyel=True) ... ...
 import numpy as np # physical constants C = 299792458.0 # speed of light [m/s] Q = 1.602176634e-19 # Electron Charge [C] 1C = 1A*1s ... ... @@ -38,3 +43,8 @@ MZHH_GAAS = 0.48*M0 # heavy hole effective mass p.298 GaAs ME_QW = ME_GAAS # e- effective mass in well MZHH_QW = MZHH_GAAS # heavy hole effective mass in well # refractive indices at 550°C # loads al_array, wavelength_array, n_array (real part) and k_array (imaginary part) REFRA_DATA_550 = np.load('data/550C_AlGaAs_refractive_indices/indices_arrays.npz')
 import numpy as np from globals import C, HEV, N0, T from globals import C, HEV, N0, REFRA_DATA_550, T from sqw_lengyel_absorption import gaas_sqw_absorption_at_wavelength ... ... @@ -12,7 +12,7 @@ def algaas_super_lattice_refractive_index(super_lattice, electric_field, wavelen lengyel = False if temperature == 550 : if temperature == 550+273.15 : refractive_index_function = almuneau_complex_550C_algaas_refractive_index else : refractive_index_function = afromovitz_varshni_real_algaas_refractive_index ... ... @@ -177,7 +177,7 @@ def afromovitz_simplified_real_algaas_refractive_index(al, wavelength): def afromovitz_varshni_real_algaas_refractive_index(al, wavelength, temperature=T): if temperature > 100. or temperature < 0. : if temperature > 373.15 or temperature < 273.15 : print('error : temperature out of range') ... ... @@ -216,16 +216,13 @@ def afromovitz_varshni_real_algaas_refractive_index(al, wavelength, temperature= return n def almuneau_complex_550C_algaas_refractive_index(al, wavelength, temperature=550): if temperature != 550 : def almuneau_complex_550C_algaas_refractive_index(al, wavelength, temperature=550+273.15): if temperature != 550+273.15 : print('error : temperature out of range') # loads al_array, wavelength_array, n_array (real part) and k_array (imaginary part) data = np.load('data/550C_AlGaAs_refractive_indices/indices_arrays.npz') n = barycenter(al, data['al_array'], wavelength, data['wavelength_array'], data['n_array']) k = barycenter(al, data['al_array'], wavelength, data['wavelength_array'], data['k_array']) n = barycenter(al, REFRA_DATA_550['al_array'], wavelength, REFRA_DATA_550['wavelength_array'], REFRA_DATA_550['n_array']) k = barycenter(al, REFRA_DATA_550['al_array'], wavelength, REFRA_DATA_550['wavelength_array'], REFRA_DATA_550['k_array']) return n + 1j * k ... ...
 ... ... @@ -6,19 +6,21 @@ OBJECTIFS Faire l'épitaxie. Faire le fit du FTIR. Vérifier quelles cellules sont ouvertes lors de l'éptiaxie d'un puit, et corriger le code en conséquence. Modifier la fiche process pour rajouter les étapes d'oxidation. Réinstaller crystal XE et faire les recettes EAM-VCSELs. Faire les calculs VCSEL EAM avec oxydation eam. Déterminer quels masques doivent etre en positif ou negatif. Vérifier les recettes avec Alexandre ACCOMPLI Faire les calculs VCSEL EAM avec oxydation eam. Modifier la fiche process pour rajouter les étapes d'oxidation. Réinstaller crystal XE et faire les recettes EAM-VCSELs. Vérifier quelles cellules sont ouvertes lors de l'éptiaxie d'un puit, et corriger le code en conséquence. Déterminer quels masques doivent etre en positif ou negatif. ECHOUÉ FTIR. Calcul carte de chaleur reflectivité QUESTIONS ... ...