|
| | axes |
| |
| float | depth = 1.0 |
| |
| float | w = 0.20 |
| |
| float | wa = 0.10 |
| |
| float | h = 0.10 |
| |
| int | d = 0. |
| |
| int | axis = 0 |
| |
| bool | symmetric = True |
| |
| bool | periodic = False |
| |
| int | size = 12 |
| |
| int | refine = 1 |
| |
| float | smooth = 0.005 |
| |
| int | dct = 1 |
| |
| | shelf = geometry.Align3D() |
| |
| | stack = geometry.Stack3D(left=0, back=0) |
| |
| | core = geometry.Block3D(dims(w, h), Glass()) |
| |
| | asym = geometry.Block3D(dims(wa, h), material.air) |
| |
| | air = geometry.Block3D(dims(w, h), material.air) |
| |
| | air1 = geometry.Block3D(dims(w-d, h), material.air) |
| |
| | air2 = geometry.Block3D(dims(w+d, h), material.air) |
| |
| | p = stack.append(shelf) |
| |
| | edges = dict(left='periodic', right='periodic', back='periodic', front='periodic') |
| |
| | b0 |
| |
| | b1 |
| |
| | main = geometry.Cartesian3D(stack, **edges) |
| |
| | opt = optical.Fourier3D("opt") |
| |
| | geometry |
| |
| | wavelength |
| |
| | dist |
| |
| | order |
| |
| | factor |
| |
| | long |
| |
| list | sym = [None, None] |
| |
| | symmetry |
| |
| float | right = 2.0 |
| |
| float | left = -2.0 |
| |
| | AX = linspace(left, right, 4000) |
| |
| | msh = mesh.Rectangular3D(AX, [0], [0.5*h]) |
| |
| list | eps = [main.get_material(pos(ax, 0.5*h)).nr(opt.wavelength.real).real**2 for ax in AX] |
| |
| | label |
| |