Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Lucas Laplanche
EAM VCSEL
Commits
2b9a0fbf
Commit
2b9a0fbf
authored
May 11, 2021
by
Lucas Laplanche
Browse files
ftir et epitaxie corrigées
parent
3103402e
Changes
3
Hide whitespace changes
Inline
Side-by-side
.idea/misc.xml
View file @
2b9a0fbf
<?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
calculation.py
View file @
2b9a0fbf
...
...
@@ -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.9
9
/
r_max
r
=
r
*
0.9
6
/
r_max
# plot
plt
.
plot_reflectivity
(
wavelength
,
r
)
...
...
epitaxy.py
View file @
2b9a0fbf
...
...
@@ -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
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment