-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathvector_1d.py
59 lines (44 loc) · 1.32 KB
/
vector_1d.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import torch
import meent
def run():
rcwa_options = dict(backend=2, thickness=[205, 100000], period=[300, 300],
fto=[3, 0],
n_top=1, n_bot=1,
wavelength=900,
pol=0.5,
)
# si = 3.638751670074983-0.007498295841854125j
si = 3.638751670074983
sio2 = 1.4518-0j
si3n4 = 2.0056-0j
ucell = [
# layer 1
[si3n4,
[
# obj 1
['rectangle', 50, 150, 31, 300, si, 0, 0, 0],
# obj 2
['rectangle', 200, 150, 49.5, 300, si, 0, 0, 0],
],
],
# layer 2
[si,
[]
],
]
mee = meent.call_mee(**rcwa_options)
mee.ucell = ucell
result = mee.conv_solve()
result_given_pol = result.res
result_te_incidence = result.res_te_inc
result_tm_incidence = result.res_tm_inc
de_ri, de_ti = result_given_pol.de_ri, result_given_pol.de_ti
de_ri1, de_ti1 = result_te_incidence.de_ri, result_te_incidence.de_ti
de_ri2, de_ti2 = result_tm_incidence.de_ri, result_tm_incidence.de_ti
print(de_ri.sum(), de_ti.sum())
print(de_ri1.sum(), de_ti1.sum())
print(de_ri2.sum(), de_ti2.sum())
return
if __name__ == '__main__':
run()
print(0)