def __init__(self, field, mode='TMz', ports=[], boundary=None): # save arguments self.field = field self.mode = mode self.ports = ports # create free space material self.material = material(field.xSize, field.ySize, field.deltaX, field.deltaY, mode=self.mode) # create standart boundary self.boundary = pml(field.xSize, field.ySize, field.deltaX, field.deltaY, thickness=20.0)
def __init__(self, field, mode='TMz'): # save arguments self.field = field self.mode = mode # create sources self.source = Material(field.size, field.delta) # create listeners self.listener = [] # create materials self.material = {} self.material['electric'] = Material(field.size, field.delta) self.material['magnetic'] = Material(field.size, field.delta) # add free space layer self.material['electric'][:, :] = Material.epsilon() self.material['magnetic'][:, :] = Material.mu() # add pml layer electric, magnetic, mask = pml(field.size, field.delta, mode=mode) self.material['electric'][mask] = electric self.material['magnetic'][mask] = magnetic