Commit aede3fc1 authored by Lucas Laplanche's avatar Lucas Laplanche
Browse files

added refractive index benchmark

parent 2421ec96
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9 (eam-vcsel)" project-jdk-type="Python SDK" />
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.8 (eam-vcsel)" project-jdk-type="Python SDK" />
</project>
\ No newline at end of file
......@@ -2,7 +2,7 @@
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="jdk" jdkName="Python 3.9 (eam-vcsel)" jdkType="Python SDK" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
\ No newline at end of file
......@@ -6,6 +6,7 @@ import optic as op
import pandas_tools as pt
import plot as plt
import quantum as qt
import scipy.io
import super_lattice_structure as st
......@@ -64,6 +65,25 @@ def mqw_psi(lz=0.01e-9, electric_field=0., wavelength=850e-9):
# plt.plot_psi(lz, v_e, psi_e)
def benchmark_refractive_index():
al = np.array([0.0, 0.2, 0.4, 0.6, 0.8, 1.0])
wavelength = np.arange(500e-9, 1500e-9, 10e-9)
for x in al:
n = np.array([])
for w in wavelength:
n = np.append(n, op.afromovitz_varshni_real_algaas_refractive_index(x, w))
name = 'index_array_' +str(x) +'.mat'
scipy.io.savemat(name, mdict={'arr': n})
name = 'al_array.mat'
scipy.io.savemat(name, mdict={'arr': al})
name = 'wavelength_array.mat'
scipy.io.savemat(name, mdict={'arr': wavelength})
def oes_test():
......
......@@ -31,7 +31,7 @@ def algaas_super_lattice_refractive_index(super_lattice, electric_field, wavelen
# if refractive index has never been calculated
if calculated_qw_layers.empty:
# refractive index value
n = afromovitz_real_algaas_refractive_index(al, wavelength)
n = afromovitz_varshni_real_algaas_refractive_index(al, wavelength)
# confinement barrier aluminium content
al = confinement_barrier_mean_al_content(super_lattice, i) # [1]
......@@ -57,7 +57,7 @@ def algaas_super_lattice_refractive_index(super_lattice, electric_field, wavelen
# layer is NOT a quantum well
else:
# refractive index value
n = afromovitz_real_algaas_refractive_index(al, wavelength)
n = afromovitz_varshni_real_algaas_refractive_index(al, wavelength)
na = super_lattice.at[i, 'na']
nd = super_lattice.at[i, 'nd']
......@@ -82,7 +82,7 @@ def algaas_refractive_index(al, electric_field, wavelength, quantum_well=False,
# layer is a quantum well -> Lengyel model
if quantum_well:
# refractive index value
n = afromovitz_real_algaas_refractive_index(0., wavelength)
n = afromovitz_varshni_real_algaas_refractive_index(0., wavelength)
k = gaas_sqw_absorption_at_wavelength(confinement_barrier_al, quantum_well_thickness, electric_field, wavelength)
k = -100*k*wavelength/(4*np.pi)
......@@ -92,7 +92,7 @@ def algaas_refractive_index(al, electric_field, wavelength, quantum_well=False,
# layer is NOT a quantum well
else:
# refractive index value
n = afromovitz_real_algaas_refractive_index(al, wavelength)
n = afromovitz_varshni_real_algaas_refractive_index(al, wavelength)
if (na == 0.) & (na == nd):
pass
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment