Commit 2b9a0fbf authored by Lucas Laplanche's avatar Lucas Laplanche
Browse files

ftir et epitaxie corrigées

parent 3103402e
<?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
......@@ -62,9 +62,9 @@ def zandberg_electromagnetic_amplitude(electric_field=0., wavelength=1e-6):
def ftir_reflectivity(filename='eam_2'):
def ftir_reflectivity(filename='eam_2', document_folder=True, linux=True):
# import data
wavelength, r = vtx.import_vertex_70_data(filename)
wavelength, r = vtx.import_vertex_70_data(filename, document_folder=document_folder, linux=linux)
# smooth the curve (I know it is cheating but ftir currently is out of service, so data is disgusting)
bspl = splrep(wavelength, r, s=4.5)
......@@ -72,7 +72,7 @@ def ftir_reflectivity(filename='eam_2'):
# correct data
r_max = np.max(r)
r = r * 0.99 / r_max
r = r * 0.96 / r_max
# plot
plt.plot_reflectivity(wavelength, r)
......
......@@ -159,6 +159,80 @@ def reflectivity_from_growth_speed_1x2(bypass_dbr=True, delta_speed=0.1, start_w
def reflectivity_from_growth_speed_1x1(bypass_dbr=True, delta_speed=0.1, start_wavelength=700e-9, stop_wavelength=1000e-9, electric_field=0., n_points=200):
# reflectivity computation parameters
wavelength = np.linspace(start_wavelength, stop_wavelength, num=n_points)
r = np.zeros(len(wavelength))
# epitaxy structure parameters
speed_array = np.array([1.05, 1.10])
v_al5 = 900 * speed_array
cell_list = [v_al5]
cell_names = ['v_al5']
# figure parameters
# create a figure
fig = make_subplots(rows=1, cols=1,
subplot_titles=(cell_names[0]))
for i in tqdm(range(len(cell_list))):
for j in range(len(cell_list[i])):
argument = {cell_names[i]: cell_list[i][j]}
sl = sls.structure_eam(bypass_dbr=bypass_dbr,
**argument,
v_ga6=100.*0.95,
v_ga11=850.*0.95)
for k in range(len(wavelength)):
sl = op.algaas_super_lattice_refractive_index(sl, electric_field, wavelength[k])
n = sl['refractive_index'].to_numpy(dtype=np.complex128)
d = sl['thickness'].to_numpy(dtype=np.complex128)
r[k] = op.reflection(n, d, wavelength[k])
# add the traces
fig.add_trace(
go.Scatter(
x=wavelength,
y=r,
name=cell_names[i] +' = ' +str(cell_list[i][j]) +' um/h'),
row=row_num(i),
col=col_num(i),
)
# create axis objects
fig.update_layout(
xaxis=dict(
title='wavelength [m]'
),
yaxis=dict(
title='reflectivity [1]',
titlefont=dict(
color='#1f77b4'
),
tickfont=dict(
color='#1f77b4'
)
)
)
# update layout properties
fig.update_layout(
title_text='reflectivity as a function of wavelength',
width=1600,
)
# show the figure
fig.show()
def row_num(x):
if x>=2:
return 2
......
Markdown is supported
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