I added two sources with component components Ez and Hx, which can achieve unidirectional plane wave transmission in the normal direction, and the other half is well offset. But during oblique incidence, the other half being cancelled out is not in a good state. May I ask what is going on? Thank you.
sources = [
mp.Source(
mp.GaussianSource(fcen, fwidth=0.2228427 fcen, is_integrated=False),
center=mp.Vector3(0, 0, 0),
size=mp.Vector3(s, 0, 0),
component=mp.Ez,
amp_func=pw_amp1(k1, mp.Vector3(x=0)), #
),
mp.Source(
mp.GaussianSource(fcen, fwidth=0.2228427 fcen, is_integrated=False),
center=mp.Vector3(0, 0, 0),
size=mp.Vector3(s, 0, 0),
component=mp.Hx,
amp_func=pw_amp2(k1, mp.Vector3(x=0)),
),
]
I added two sources with component components Ez and Hx, which can achieve unidirectional plane wave transmission in the normal direction, and the other half is well offset. But during oblique incidence, the other half being cancelled out is not in a good state. May I ask what is going on? Thank you. sources = [ mp.Source( mp.GaussianSource(fcen, fwidth=0.2228427 fcen, is_integrated=False), center=mp.Vector3(0, 0, 0), size=mp.Vector3(s, 0, 0), component=mp.Ez, amp_func=pw_amp1(k1, mp.Vector3(x=0)), # ), mp.Source( mp.GaussianSource(fcen, fwidth=0.2228427 fcen, is_integrated=False), center=mp.Vector3(0, 0, 0), size=mp.Vector3(s, 0, 0), component=mp.Hx, amp_func=pw_amp2(k1, mp.Vector3(x=0)), ), ]