class AngledFieldSource[source]#

Bases: DirectionalSource, ABC

A FieldSource defined with an angled direction of propagation.

  • name (Optional[str] = None) – Optional name for the source.

  • center (Tuple[float, float, float] = (0.0, 0.0, 0.0)) – [units = um]. Center of object in x, y, and z.

  • size (Tuple[NonNegativeFloat, NonNegativeFloat, NonNegativeFloat]) – [units = um]. Size in x, y, and z directions.

  • source_time (Union[GaussianPulse, ContinuousWave, CustomSourceTime]) – Specification of the source time-dependence.

  • direction (Literal['+', '-']) – Specifies propagation in the positive or negative direction of the injection axis.

  • angle_theta (float = 0.0) – [units = rad]. Polar angle of the propagation axis from the injection axis.

  • angle_phi (float = 0.0) – [units = rad]. Azimuth angle of the propagation axis in the plane orthogonal to the injection axis.

  • pol_angle (float = 0) – [units = rad]. Specifies the angle between the electric field polarization of the source and the plane defined by the injection axis and the propagation axis (rad). pol_angle=0 (default) specifies P polarization, while pol_angle=np.pi/2 specifies S polarization. At normal incidence when S and P are undefined, pol_angle=0 defines: - Ey polarization for propagation along x.- Ex polarization for propagation along y.- Ex polarization for propagation along z.


The direction is defined by the polar and azimuth angles w.r.t. an injection axis, as well as forward + or backward -. This base class only defines the direction and injection_axis attributes, but it must be composed with a class that also defines angle_theta and angle_phi.




Warn if close to glancing incidence.

Inherited Common Usage

classmethod glancing_incidence(val)[source]#

Warn if close to glancing incidence.


Hash method.