forked from levdik/ttgsm
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfmm_comparison.py
More file actions
22 lines (16 loc) · 787 Bytes
/
Copy pathfmm_comparison.py
File metadata and controls
22 lines (16 loc) · 787 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import numpy as np
from diffraction_solver import solve_diffraction
from incidence import Incidence
from grating import Grating
from fmm_reference import fmm_data
if __name__ == '__main__':
for fmm_test in fmm_data[:1]:
incidence = Incidence(fmm_test['angle'])
grating = Grating.lamellar(period=fmm_test['period'],
thickness=fmm_test['thickness'],
relative_filling=fmm_test['relative_filling'],
max_permittivity=fmm_test['permittivity'],
relative_shift=0.)
x = solve_diffraction(9, 9, grating, incidence, verb=0)
x = abs(x.full(asvector=True)[:2 ** 9])
print(np.linalg.norm(x - fmm_test['amps']))