TFSFPlaneSrc

Concrete subclass of Source representing plane wave propagating in a total field box of the total-field/scattered-field (TF/SF) method.

Contents

Description

TFSFPlaneSrc is a source type for the TF/SF method. It generates a plane wave inside a total field box. The box should be empty except for scatterers. It supports an arbitrary propagation direction and polarization direction.

Construction

src = TFSFPlaneSrc(bound, propagation_axis, polarization_axis)
src = TFSFPlaneSrc(bound, propagation_axis, polarization_axis, E0)

Input Arguments

Methods

Note

TFSFPlaneSrc is similar to PlaneSrc, but has a few differences. PlaneSrc requires a periodic boundary condition along the transverse direction, so it can be used only for a periodic structure. Therefore, to simulate a plane wave incident on a non-periodic, isolated scatterer, TFSFPlaneSrc sohould be used. PlaneSrc supports an arbitrary propagation direction by utilizing the Bloch boundary condition internally, but it does not support an arbitrary polarization direction: the polarization direction is restricted to Axis.x, Axis.y, Axis.z. On the other hand, TFSFPlaneSrc supports a fully arbitrary polarization direction.

When passed as a SRC parameter of maxwell_run, the scatterer objects are described in the SOBJ parameter group and the background objects are described in the OBJ parameter group. No background objects should be inside the total field box, because TFSFPlaneSRC assumes that the total field box is completely filled with the default material of the simulation domain that is described in the DOM parameter group of maxwell_run.

Example

% Create an instance of TFSFPlaneSrc.
src =  TFSFPlaneSrc(Axis.y, 0, Axis.z);  % y = 0 should not be primary grid point
% Use the constructed src in maxwell_run().
[E, H] = maxwell_run({INITIAL ARGUMENTS}, 'SRC', src);

See Also

PlaneSrc, ModalSrc, maxwell_run