def init_material_ey(self):
"""Set up the update mechanism for Ey field.
Set up the update mechanism for Ey field and stores the result
at self.pw_material[Ey].
"""
self.pw_material[Ey] = {}
shape = self.ey.shape
for idx in ndindex(shape):
spc = self.space.ey_index_to_space(*idx)
mat_obj, underneath = self.geom_tree.material_of_point(spc)
if idx[2] == shape[2] - 1 or idx[0] == shape[0] - 1:
mat_obj = Dummy(mat_obj.eps_inf, mat_obj.mu_inf)
pw_obj = mat_obj.get_pw_material_ey(idx, spc, underneath, self.cmplx)
if self.pw_material[Ey].has_key(type(pw_obj)):
self.pw_material[Ey][type(pw_obj)].merge(pw_obj)
else:
self.pw_material[Ey][type(pw_obj)] = pw_obj
评论列表
文章目录