/ / /
| 113 | /***************************************************************/ |
| 114 | /***************************************************************/ |
| 115 | structure create_structure(double resolution, int symmetries) { |
| 116 | double sx = 8.0; // size of cell in X direction |
| 117 | double sy = 6.0; // size of cell in Y direction |
| 118 | double w = 3.0; // width of waveguide |
| 119 | double dpml = 1.0; // PML thickness |
| 120 | |
| 121 | geometry_lattice.size.x = sx; |
| 122 | geometry_lattice.size.y = sy; |
| 123 | geometry_lattice.size.z = 0.0; |
| 124 | grid_volume gv = voltwo(sx, sy, resolution); |
| 125 | gv.center_origin(); |
| 126 | symmetry S = (symmetries == 1 ? mirror(Y, gv) |
| 127 | : symmetries == 2 ? mirror(X, gv) + mirror(Y, gv) |
| 128 | : symmetry()); |
| 129 | structure the_structure(gv, dummy_eps, pml(dpml), S); |
| 130 | |
| 131 | vector3 e1 = v3(1.0, 0.0, 0.0); |
| 132 | vector3 e2 = v3(0.0, 1.0, 0.0); |
| 133 | vector3 e3 = v3(0.0, 0.0, 1.0); |
| 134 | meep_geom::material_type dielectric = meep_geom::make_dielectric(12.0); |
| 135 | |
| 136 | vector3 center = v3(0.0, 0.0, 0.0); |
| 137 | vector3 size = v3(sx, w, 0.0); |
| 138 | geometric_object objects[1]; |
| 139 | objects[0] = make_block(dielectric, center, e1, e2, e3, size); |
| 140 | geometric_object_list g = {1, objects}; |
| 141 | meep_geom::set_materials_from_geometry(&the_structure, g); |
| 142 | |
| 143 | return the_structure; |
| 144 | } |
| 145 | |
| 146 | /***************************************************************/ |
| 147 | /***************************************************************/ |
no test coverage detected