main module

class main.Lens(dict_path)

Bases: main.Metasurface

This class is the Lens we want to design

match_1d(Phs_mask)

match the lens using adjoint 2D mapping based on Phs_mask

match_2d(Phs_mask)

match the lens using adjoint 2D mapping

phase_propertise()

returns phase propertise

reset_center_phase_to_2pi()

Makes sure the center posts has the largest phase

class main.Metasurface(dict_path)

Bases: object

this is the partent class for designing any metasurface

find_positions()

calculates the postion of the posts sets self.postions with [list of Point]

make_uniform()

removes the discounitunity between posts beacuse of interpolation error

plot_design()

Plot the desinged lens

plot_mask()

plot the phase vs. x of the mask

read_cnfg()
save_the_design(name)
main.make_coords(x_lim, y_lim, res_xy)

make a coordinate

main.match_posts(p_msk, p_map, min_size=0)
main.store_the_design(name, csv_table)

stores the designed metasurface

main.store_used_mask(x_l, y_l, cord)

stores the used source to be used in optimization